Also refactor packet router to use a map rather than iterate over all
rtp modules for each packet sent.
BUG=webrtc:4311
Review URL: https://codereview.webrtc.org/1247293002
Cr-Commit-Position: refs/heads/master@{#9670}
This change includes base/logging.h instead of the old and deprecated
system_wrappers/interface/logging.h. This requires some changes of the
actual logging invocations.
For reference the following regexps where used (in Eclipse) for a few
of the replacements:
find: LOG_FERR1\(\s*([^,]*),\s*([^,]*),\s*(.*)\);
replace: LOG($1) << "$2 " << $3;
find: LOG_FERR2\(\s*([^,]*),\s*([^,]*),\s*([^,]*),\s*(.*)\);
replace: LOG($1) << "$2 " << $3 << " " << $4;
BUG=4735
R=minyue@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/50229004 .
Cr-Commit-Position: refs/heads/master@{#9669}
PacketSender can now log Pause/Resume events into a MetricRecorder. Solved estimate error and optimal bitrate issue for test 5.7 (multiple short TCP flows).
Added Sending Estimate logging and plotting.
Fixed plotting issue on plot_dynamics.py
Now lines with the same color (in different boxes) correspond to the same flow.
Adjusting plot_dynamics.py font size according to number of variables.
R=asapersson@webrtc.org
Review URL: https://codereview.webrtc.org/1270543002 .
Cr-Commit-Position: refs/heads/master@{#9664}
On GetCapabilities() failure, caps.cDestinations is left uninitialized.
Without a protection the following code runs in a random loop
in the worst case up to 0xFFFFFFFF times.
for (destId = 0; destId < caps.cDestinations; destId++)
{
GetDestinationLineInfo(mixId, destId, destLine);
BUG=webrtc:4882
Review URL: https://codereview.webrtc.org/1269563002
Cr-Commit-Position: refs/heads/master@{#9663}
Re-lands "Renamed the ACMDump to RtcEventLog and moved it to webrtc/video, since it is not specific to the audio coding module."
This reverts commit b933667a7f97697d6390d1eee5f378cedd9ca208.
R=pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1259683003 .
Cr-Commit-Position: refs/heads/master@{#9661}
Prevents presubmit failures when touching audio_coding_module.gypi due
to source files being included from outside the gypi directory.
BUG=
R=minyue@webrtc.org
Review URL: https://codereview.webrtc.org/1262333002 .
Cr-Commit-Position: refs/heads/master@{#9659}
Computing all metrics using constant extra memory.
PlotHistogram methods are executed in constant time.
-- Previously throughput and delay were using O(num_packets) extra memory and their associated PlotHistograms took linear time complexity.
Added MetricRecorder unittests
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1257683006 .
Cr-Commit-Position: refs/heads/master@{#9658}
Placed the protobuf structures in the namespace webrtc::rtclog. Removed the message field from the DebugEvent structure, since it was not used.
Added an interface to set config information for VideoReceiveStream and VideoSendStream in the event log.
Added function to log full RTCP packets and changed RTP-logging to only log headers.
Significantly extended the unit tests for RtcEventLog.
R=ivoc@webrtc.org, minyue@webrtc.org, pbos@webrtc.org, stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1230973005 .
Cr-Commit-Position: refs/heads/master@{#9656}
WebRtcIsacfix_AllpassFilter2FixDec16Neon was disabled due to a Clang
bug. The bug is fixed in current Clang version, re-enable it in this patch.
BUG=4567
R=andrew@webrtc.org, kjellander@webrtc.org
TEST=buildbot build
Change-Id: I71e309cec6caf376181cf9c299c9e8967c9a328e
Review URL: https://codereview.webrtc.org/1194773002 .
Patch from Zhongwei Yao <zhongwei.yao@arm.com>.
Cr-Commit-Position: refs/heads/master@{#9645}
Enforces previous kProtectionKeyOnLoss as the permanent method which was
the only one used in use. This simplifies SetVideoProtection and
transition over to SetReceiverRobustnessMode.
BUG=webrtc:1596
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1244753002
Cr-Commit-Position: refs/heads/master@{#9641}
These small packets are common for H.264 where the first packet of an IDR
contains the parameter sets.
BUG=4806
Review URL: https://codereview.webrtc.org/1221943002
Cr-Commit-Position: refs/heads/master@{#9639}
-- Made plot logging from MetricRecorder and from RateCounterFilter/PacketReceiver standard to fit python and shell plotting scripts likewise.
-- RateCounterFilter is initialized with algorithm name.
-- Removed spare commas and duplicated flow ids from RateCounterFilter name.
-- Added optional plot_delay and plot_loss in MetricRecorder.
-- PacketReceiver can plot directly plot delay if there is no metric_recorder_.
-- Added comments to plot scripts.
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1253473004 .
Cr-Commit-Position: refs/heads/master@{#9636}
Reason for revert:
Breaks Chromium FYI content_browsertest on all platforms. The testcase that fails is WebRtcAecDumpBrowserTest.CallWithAecDump.
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux/builds/19388
Sample output:
[ RUN ] WebRtcAecDumpBrowserTest.CallWithAecDump
Xlib: extension "RANDR" missing on display ":9".
[4:14:0722/211548:1282124453:WARNING:webrtcvoiceengine.cc(472)] Unexpected codec: ISAC/48000/1 (105)
[4:14:0722/211548:1282124593:WARNING:webrtcvoiceengine.cc(472)] Unexpected codec: PCMU/8000/2 (110)
[4:14:0722/211548:1282124700:WARNING:webrtcvoiceengine.cc(472)] Unexpected codec: PCMA/8000/2 (118)
[4:14:0722/211548:1282124815:WARNING:webrtcvoiceengine.cc(472)] Unexpected codec: G722/8000/2 (119)
[19745:19745:0722/211548:1282133667:INFO:CONSOLE(64)] "Looking at video in element remote-view-1", source: http://127.0.0.1:48819/media/webrtc_test_utilities.js (64)
[19745:19745:0722/211548:1282136892:INFO:CONSOLE(64)] "Looking at video in element remote-view-2", source: http://127.0.0.1:48819/media/webrtc_test_utilities.js (64)
../../content/test/webrtc_content_browsertest_base.cc:62: Failure
Value of: ExecuteScriptAndExtractString( shell()->web_contents(), javascript, &result)
Actual: false
Expected: true
Failed to execute javascript call({video: true, audio: true});.
From javascript: (nothing)
When executing 'call({video: true, audio: true});'
../../content/test/webrtc_content_browsertest_base.cc:75: Failure
Failed
../../content/browser/media/webrtc_aecdump_browsertest.cc:26: Failure
Expected: (base::kNullProcessId) != (*id), actual: 0 vs 0
../../content/browser/media/webrtc_aecdump_browsertest.cc:95: Failure
Value of: GetRenderProcessHostId(&render_process_id)
Actual: false
Expected: true
../../content/browser/media/webrtc_aecdump_browsertest.cc:99: Failure
Value of: base::PathExists(dump_file)
Actual: false
Expected: true
../../content/browser/media/webrtc_aecdump_browsertest.cc:101: Failure
Value of: base::GetFileSize(dump_file, &file_size)
Actual: false
Expected: true
../../content/browser/media/webrtc_aecdump_browsertest.cc:102: Failure
Expected: (file_size) > (0), actual: 0 vs 0
[ FAILED ] WebRtcAecDumpBrowserTest.CallWithAecDump, where TypeParam = and GetParam() = (361 ms)
Original issue's description:
> Allow more than 2 input channels in AudioProcessing.
>
> The number of output channels is constrained to be equal to either 1 or the
> number of input channels.
>
> R=aluebs@webrtc.org, andrew@webrtc.org, pbos@webrtc.org
>
> Committed: c204754b7aTBR=andrew@webrtc.org,aluebs@webrtc.org,ajm@chromium.org,pbos@chromium.org,pbos@webrtc.org,mgraczyk@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.webrtc.org/1253573005
Cr-Commit-Position: refs/heads/master@{#9621}
These are mostly trivial changes and are separated out just to reduce the
diff on that change to the minimum possible.
Note explanatory comments on patch set 1.
BUG=none
TEST=none
Review URL: https://codereview.webrtc.org/1235643003
Cr-Commit-Position: refs/heads/master@{#9617}
Android has not yet finalized its libc++ build. Allow compilation with
stlport by removing several C++11 library usages.
BUG=427718,487341,webrtc:4866
R=andrew@webrtc.org
Review URL: https://codereview.webrtc.org/1250663007 .
Patch from Jared Duke <jdduke@chromium.org>.
Cr-Commit-Position: refs/heads/master@{#9616}
Supports:
- bwe_plot.sh
---- Histogram plots
---- Baseline histograms
---- Vertical error lines
---- Dashed horizontal lines
---- Different colors for different algorithms
---- Legends read as input
---- Extra horizontal space in case there are TCP flows plotted
---- Multiple windows
---- Auto vertical scale, except for latency plots which are kept constant for all plots
- plot_dynamics.py
---- Dynamic plots
---- Different colors for different flows and algorithms
---- Dashed line plot for available capacity
---- Throughput, latency and loss on separated boxes
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1237903003 .
Cr-Commit-Position: refs/heads/master@{#9614}
In #9243 we added some thread_checker. But it shouldn't be added into PlayoutDevices() and RecordingDevices(), since these two will be invoked from RecThread and PlayoutThread too, other than the main thread.
BUG=webrtc:4852
TEST=voe_cmd_test
R=henrika@webrtc.org
Review URL: https://codereview.webrtc.org/1249573002 .
Cr-Commit-Position: refs/heads/master@{#9605}
Using a right-sided (absolute value), truncated gaussian distribution originally with zero mean.
Currently truncated at x = 3 * std_dev.
Added expected value computation.
Modified jitter unittests accordingly.
BUG=webrtc:4848
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1237303002 .
Cr-Commit-Position: refs/heads/master@{#9587}
---- Dynamic receiving rate.
---- Dynamic packet-loss.
---- Dynamic objective function.
---- Dynamic available capacity.
---- Dynamic available capacity per flow.
---- Average delay Histogram with standard deviation or 5th/95th percentiles.
---- Average bitrate Histogram with error bars.
---- Optimal average bitrate dashed line.
---- Average packet-loss Histogram.
---- Total objective function Histogram.
Added media Pause/Resume methods to Video and TcpSender.
Modified LinkedSet: computing GlobalPacketLossRatio even if packet's sequence_number overflows.
Added small randomization to frame send times, modified bwe_test_framework_unittest accordingly.
Taking offset time into account for plotting.
Added nada_unittests.
Added bwe_unittests.
Added a RateCounter to BweReceiver (replaced ReceivingRate)
Added LossAccount.
Fixed NadaBweReceiver issue: using sender_timestamp instead of creation_time.
Fixed memory leaks.
Fixed int division rounding issues.
Supporting plots on bandwidth Estimators:
Logging received packet information on on SubClassesBweReceiver::ReceivePacket
Updating RateCounter, updating packet loss account and relieving LinkedSet when necessary.
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1202253003 .
Cr-Commit-Position: refs/heads/master@{#9585}
This patch tests separate iSAC encoder and decoder in more cases (32
kHz in addition to 16 kHz, and 30 ms adaptive and 60 ms nonadaptive).
In order to handle 32 kHz adaptive, the decoder needs to be told of
the encoder's sample rate (16 kHz worked already because that's the
default). And since we can't set the encoder's frame size without also
setting its bit rate, we need a way to set the decoder's bit rate as
well.
It turned out to be way too messy to continue verifying that the
bandwidth estimator does something reasonable in all these cases,
because it seems it doesn't. So the GetSetBandwidthInfo is now just
responsible for ensuring that split encoder/decoder behaves the same
as conjoined encoder/decoder; the job of verifying that the bandwidth
estimator does its job properly falls on some other test (that doesn't
exist yet).
Review URL: https://codereview.webrtc.org/1225093005
Cr-Commit-Position: refs/heads/master@{#9583}
Also fixed an arithmetic issue where a 0 0 3 at the end of the rbsp would include the 3 (that's not a legal bitstream anyway, so it probably wasn't a real bug, but it was incorrect).
This maintains the underflow fix from an earlier CL (https://codereview.webrtc.org/1219493004/). The overflow fix is virtually impossible to hit (hence no unit tests), but is there for strict correctness.
BUG=
Review URL: https://codereview.webrtc.org/1226203002
Cr-Commit-Position: refs/heads/master@{#9581}