Commit Graph

2647 Commits

Author SHA1 Message Date
1f4ffe02fb NetEq: Implement two UMA stats for delay adaptation.
This CL adds calculation and logging of average excess buffer delay
and number of delayed packet outage events per minute.

The first is the average of time spent in the packet buffer for all
packets. The average is calculated for intervals of one minute, and
the result is logged to the UMA stat
WebRTC.Audio.AverageExcessBufferDelayMs.

The second is a counter of delayed packet outage events that is
restarted every minute, and the result is logged to the UMA stat
WebRTC.Audio.DelayedPacketOutageEventsPerMinute. For a description of
delayed packet outages, see previous CL implementing a duration log
for these events.

BUG=webrtc:4915, chromium:488124
R=minyue@webrtc.org

Review URL: https://codereview.webrtc.org/1287333005 .

Cr-Commit-Position: refs/heads/master@{#9731}
2015-08-19 08:47:00 +00:00
bef77e234f NetEq: Implement logging of Delayed Packet Outage Events
Measures the duration of each packet loss concealment (a.k.a. expand)
event that is not followed by a merge operation.

Having decoded and played packet m−1, the next expected packet is
m. If packet m arrives after some time of packet loss concealment, we
have a delayed packet outage event. However, if instead packet n>m
arrives, we have a lost packet outage event. In NetEq, the two outage
types results in different operations. Both types start with expand
operations to generate audio to play while the buffer is empty. When a
lost packet outage happens, the expand operation(s) are followed by
one merge operation. For delayed packet outages, merge is not done,
and the expand operations are immediately followed by normal
operations.

This change also includes unit tests for the new statistics.

BUG=webrtc:4915, chromium:488124
R=minyue@webrtc.org

Review URL: https://codereview.webrtc.org/1290113002 .

Cr-Commit-Position: refs/heads/master@{#9725}
2015-08-18 12:58:20 +00:00
141c5951f4 Revert of Use RtcpPacket to send REMB in RtcpSender (patchset #1 id:1 of https://codereview.webrtc.org/1290573004/ )
Reason for revert:
A few bots started failing rtc_unittests after this was commited. Ex https://build.chromium.org/p/client.webrtc/builders/Linux64%20Debug/builds/5048

Original issue's description:
> Use RtcpPacket to send REMB in RtcpSender
>
> BUG=webrtc:2450
> R=asapersson@webrtc.org
>
> Committed: 35ab4baa20

TBR=asapersson@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:2450

Review URL: https://codereview.webrtc.org/1300863002

Cr-Commit-Position: refs/heads/master@{#9723}
2015-08-18 11:37:39 +00:00
35ab4baa20 Use RtcpPacket to send REMB in RtcpSender
BUG=webrtc:2450
R=asapersson@webrtc.org

Review URL: https://codereview.webrtc.org/1290573004 .

Cr-Commit-Position: refs/heads/master@{#9722}
2015-08-18 09:54:18 +00:00
805d8fb6eb Remove WebRtcIsac_Highpass_float().
This function is unreferenced and not even declared in a header file.

Split from https://codereview.webrtc.org/1228793004/ .

BUG=none
TEST=none

Review URL: https://codereview.webrtc.org/1296513002

Cr-Commit-Position: refs/heads/master@{#9716}
2015-08-14 19:38:09 +00:00
60d9b332a5 Integrate Intelligibility with APM
- Integrates intelligibility into audio_processing.
    - Allows modification of reverse stream if intelligibility enabled.
- Makes intelligibility available in audioproc_float test.
    - Adds reverse stream processing to audioproc_float.
- (removed) Makes intelligibility toggleable in real time in voe_cmd_test.
- Cleans up intelligibility construction, parameters, constants and dead code.

TBR=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1234463003

Cr-Commit-Position: refs/heads/master@{#9713}
2015-08-14 17:35:58 +00:00
cf7f54d6f4 Use RtcpPacket to send RPSI in RtcpSender
BUG=webrtc:2450

Review URL: https://codereview.webrtc.org/1291013002

Cr-Commit-Position: refs/heads/master@{#9704}
2015-08-13 11:37:48 +00:00
0365a27f56 Use RtcpPacket to send SLI in RtcpSender
BUG=webrtc:2450

Review URL: https://codereview.webrtc.org/1268383002

Cr-Commit-Position: refs/heads/master@{#9695}
2015-08-11 08:02:44 +00:00
4bc66fc387 Fix data race in AMP.
R=aluebs@webrtc.org, aluebs-webrtc
BUG=516637

Review URL: https://codereview.webrtc.org/1279953003 .

Cr-Commit-Position: refs/heads/master@{#9694}
2015-08-10 22:26:43 +00:00
4de6622bcc Fix a bug in computing audio delay on ios device. Converts seconds to
milliseconds by multiplying 1000 instead of dividing 1000.

BUG=
R=tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1265823003 .

Patch from Jiawei Ou <jiawei.ou@gmail.com>.

Cr-Commit-Position: refs/heads/master@{#9693}
2015-08-10 20:24:56 +00:00
4cee419e07 Separating voice activity flag from audio level in RtpHeaderExtension.
VAD flag was embedded in RtpHeaderExtension.audioLevel, which is not easy to interpret. This CL tries to separate the flag with the actual audio level.

BUG=
R=andrew@webrtc.org, henrik.lundin@webrtc.org

Review URL: https://codereview.webrtc.org/1272343003 .

Cr-Commit-Position: refs/heads/master@{#9691}
2015-08-10 13:08:46 +00:00
2328a94ec7 Add average rtt to CallStatsObserver and an average rtt histogram.
TBR=mflodman@webrtc.org

BUG=webrtc:4711,webrtc:4548

Review URL: https://codereview.webrtc.org/1279543005

Cr-Commit-Position: refs/heads/master@{#9687}
2015-08-07 11:27:56 +00:00
8381b37488 Removed bjornv from OWNERS and added two new owners
BUG=

Review URL: https://codereview.webrtc.org/1272603002

Cr-Commit-Position: refs/heads/master@{#9685}
2015-08-06 13:25:37 +00:00
62dae19098 Use RtcpPacket to send FIR in RtcpSender
BUG=webrtc:2450

Review URL: https://codereview.webrtc.org/1261323003

Cr-Commit-Position: refs/heads/master@{#9677}
2015-08-05 09:37:21 +00:00
ef7228cfa0 Selectable number of TL screenshare loopback test. Also contains some tweaks to make a single TL perform better.
BUG=

Review URL: https://codereview.webrtc.org/1242043002

Cr-Commit-Position: refs/heads/master@{#9676}
2015-08-05 09:02:09 +00:00
907dcfd0e1 Increase packet limit in jitter buffer.
Especially the VP9 codec currently may overshoot bitrate target at sudden picture changes, resulting in frames over 800 packets.
This limit should be reduced again once the codec behaves.

BUG=webrtc:4889

Review URL: https://codereview.webrtc.org/1266353003

Cr-Commit-Position: refs/heads/master@{#9675}
2015-08-05 08:09:15 +00:00
867fb5224e Add support for transport wide sequence numbers
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}
2015-08-03 11:38:48 +00:00
d67a219bec Switch to base/logging.h in neteq_impl.cc
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}
2015-08-03 10:55:11 +00:00
72aa9a6c6e Use RtcpPacket to send PLI in RtcpSender
BUG=webrtc:2450
R=asapersson@webrtc.org

Review URL: https://codereview.webrtc.org/1262153003 .

Cr-Commit-Position: refs/heads/master@{#9666}
2015-07-31 14:16:12 +00:00
a9455ab235 Integration of VP9 packetization.
Supports running 1 spatial and 1-3 temporal layers in non-flexible mode.

BUG=webrtc:4148, webrtc:4168, chromium:500602
TBR=mflodman

Review URL: https://codereview.webrtc.org/1211353002

Cr-Commit-Position: refs/heads/master@{#9665}
2015-07-31 13:10:16 +00:00
2386a45dc7 Supporting Pause/Resume, Sending Estimate logging. Corrected plot colors
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}
2015-07-31 08:31:44 +00:00
a12ba5502c Added protection for GetCapabilities() failure.
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}
2015-07-31 03:51:39 +00:00
5f5f11cc8b FEC protect H264 delta frames as well.
BUG=webrtc:4800
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1266593003

Cr-Commit-Position: refs/heads/master@{#9662}
2015-07-30 12:44:34 +00:00
364118518f Includes webrtc/build/protoc.gypi instead of build/protoc.gypi
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}
2015-07-30 10:45:24 +00:00
b933667a7f Revert "Renamed the ACMDump to RtcEventLog and moved it to webrtc/video, since it is not specific to the audio coding module. Updated .gyp and .gn files accordingly."
This reverts commit c159b046d7a0086e45ae0f79c00a462f3fafd207.

BUG=
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1250383003 .

Cr-Commit-Position: refs/heads/master@{#9660}
2015-07-30 10:05:18 +00:00
9a6e74179c Move audio_coding_module.gypi from main/acm2 to main/.
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}
2015-07-30 09:34:12 +00:00
e2cb1f12c3 Efficient Metric Recorder
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}
2015-07-30 09:22:15 +00:00
c159b046d7 Renamed the ACMDump to RtcEventLog and moved it to webrtc/video, since it is not specific to the audio coding module. Updated .gyp and .gn files accordingly.
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}
2015-07-30 09:06:09 +00:00
ee66016930 Added IsInBeam to mock_nonlinear_beamformer.h
Review URL: https://codereview.webrtc.org/1262853003

Cr-Commit-Position: refs/heads/master@{#9655}
2015-07-30 00:24:42 +00:00
a3b8769860 Add packetization and coding/decoding of feedback message format.
BUG=webrtc:4312
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1175263002 .

Cr-Commit-Position: refs/heads/master@{#9651}
2015-07-29 08:47:04 +00:00
f1828e8ed9 Prevent OOB reads for truncated H264 STAP-A packets.
BUG=webrtc:4771, webrtc:4834
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1238033003

Cr-Commit-Position: refs/heads/master@{#9650}
2015-07-28 15:21:07 +00:00
f38ea3caa3 Add support for VP9 packetization/depacketization.
RTP payload format for VP9:
https://www.ietf.org/id/draft-uberti-payload-vp9-01.txt

BUG=webrtc:4148, webrtc:4168, chromium:500602
TBR=mflodman

Review URL: https://codereview.webrtc.org/1232023006

Cr-Commit-Position: refs/heads/master@{#9649}
2015-07-28 11:02:58 +00:00
95b8718dc6 Fix to "Removing AudioMixerStatusReceiver and ParticipantStatistics"
In https://codereview.webrtc.org/1216133004/
level_indicator.h/cc should be removed from GN as well, which was forgotten.

BUG=webrtc:497
TBR=andrew@webrtc.org

Review URL: https://codereview.webrtc.org/1252993003 .

Cr-Commit-Position: refs/heads/master@{#9648}
2015-07-28 09:29:20 +00:00
4540ffacc7 Removing AudioMixerStatusReceiver and ParticipantStatistics.
BUG=webrtc:497
R=ajm@chromium.org, andrew@webrtc.org, henrikg@webrtc.org

Review URL: https://codereview.webrtc.org/1216133004 .

Cr-Commit-Position: refs/heads/master@{#9647}
2015-07-28 09:07:35 +00:00
b3cc77f4ba Re-enable WebRtcIsacfix_AllpassFilter2FixDec16Neon
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}
2015-07-28 03:18:19 +00:00
b3b79b6115 Clean up the Config to enable 48kHz support in AudioProcessing
Now 48kHz is enabled by default.

BUG=webrtc:3146

Review URL: https://codereview.webrtc.org/1233393003

Cr-Commit-Position: refs/heads/master@{#9643}
2015-07-27 17:18:05 +00:00
ef35f069e7 Remove webrtc::Config from ViEChannelGroup.
Also removing webrtc/experiments.h which is no longer used.

BUG=webrtc:1695
R=stefan@webrtc.org
TBR=mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/1250513006

Cr-Commit-Position: refs/heads/master@{#9642}
2015-07-27 15:37:14 +00:00
081af25c11 Remove kProtectionKey* and VCMKeyRequestMode.
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}
2015-07-27 15:02:27 +00:00
fe0c90501b Improve probing by ignoring small packets which otherwise break the mechanism.
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}
2015-07-27 10:13:35 +00:00
d55ce2ddb9 BWE Simulation Framework: Standard plot logging
-- 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}
2015-07-25 23:45:05 +00:00
cfd5f96307 Ignore packets with reordered timestamps when doing BWE.
BUG=webrtc:4793

Review URL: https://codereview.webrtc.org/1254723006

Cr-Commit-Position: refs/heads/master@{#9632}
2015-07-24 10:26:52 +00:00
a38233a586 Removed extended jitter report from RtcpSender.
This was never used (value always 0, when sent)

BUG=2450
R=asapersson@webrtc.org

Review URL: https://codereview.webrtc.org/1208843003 .

Cr-Commit-Position: refs/heads/master@{#9631}
2015-07-24 07:58:29 +00:00
3ab2f14d56 Remove C++11 calls from intelligibility_utils
The C++11 here was overkill. This replaces it with simpler logic that
covers all cases encountered so far in practice.

The problem was previously brought up here: https://codereview.webrtc.org/1250663007/

BUG=427718, 487341, webrtc:4866
R=andrew@webrtc.org

Review URL: https://codereview.webrtc.org/1242943008

Cr-Commit-Position: refs/heads/master@{#9627}
2015-07-23 19:15:32 +00:00
86c6d33aec 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.

An earlier version of this commit caused a crash on AEC dump.

TBR=aluebs@webrtc.org,pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1248393003 .

Cr-Commit-Position: refs/heads/master@{#9626}
2015-07-23 18:41:45 +00:00
59adf34d84 Evaluation test cases.
Implemented according to:
http://datatracker.ietf.org/doc/draft-ietf-rmcat-eval-test/

Added tests 5.1 - 5.8.
Added GccComparison functions.
Modified SelfFairness test.

R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1237393002 .

Cr-Commit-Position: refs/heads/master@{#9623}
2015-07-23 13:40:49 +00:00
64e753c399 Revert of Allow more than 2 input channels in AudioProcessing. (patchset #13 id:240001 of https://codereview.webrtc.org/1226093007/)
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: c204754b7a

TBR=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}
2015-07-23 11:30:14 +00:00
c204754b7a 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

Review URL: https://codereview.webrtc.org/1226093007 .

Cr-Commit-Position: refs/heads/master@{#9619}
2015-07-23 04:06:16 +00:00
b297c5a01f Miscellaneous changes split from https://codereview.webrtc.org/1230503003 .
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}
2015-07-22 22:17:26 +00:00
7c5304c791 Allow webrtc compilation with stlport
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}
2015-07-22 20:04:30 +00:00
f24b2bc48c Modified histogram shell plot script, added python dynamics plot script
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}
2015-07-22 15:41:14 +00:00