Commit Graph

6455 Commits

Author SHA1 Message Date
28e83d1a56 DelayEstimator: Updates delay_quality and adds soft reset.
These changes are currently not used in webrtc/ but helps in using the delay estimator.
* The last_delay_quality() is updated with respect to robust_validation and changed to return float.
* Tests are updated wtih respect to above.
* Adds the possibility to make a soft reset based on external circumstances like a known delay shift has been made.
* The soft reset change the lookahead dynamically. An API to ask for current lookahead has been added as well.

BUG=N/A
TESTED=trybots, modules_unittest
R=aluebs@webrtc.org, andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10409004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5761 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 15:26:52 +00:00
92c0e29963 Run Opus with lower complexity setting on Android, iOS and/or ARM
This CL includes a call to Opus to set a lower complexity figure, if we are compiling for Android, iOS, or ARM (e.g. ChromeOS on ARM), where we know the devices are not powerful enough to run on higher complexity setting.

BUG=3093
R=minyue@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10489004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5760 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 14:38:36 +00:00
3c412b24d9 Add targetBitrate to VideoCodec struct.
To be used by a codec implementation. Could for instance be interpreted
as trying to fit as much as possible on one temporal layer and send
everything that doesn't fit within target bitrate on another one.

Prevents an existing hack where startBitrate is used by a codec
implementation to signify target bitrate. This hack forces a reset of
bitrate estimation to target bitrate which creates bitrate dips.

BUG=
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10479004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5759 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 12:36:52 +00:00
7e3ee8362b Disabled some of the remote bitrate estimator baseline tests.
These are disabled temporarily until updated.

R=solenberg@webrtc.org
TBR=solenberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10469004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5758 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 10:45:13 +00:00
b1f5010075 VoE changes to allow forwarding of packets from VoE to ViE BWE.
BUG=
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10419004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5757 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 10:38:25 +00:00
37ca765650 Add fir_filter to common_audio
It has 3 implementation:
* fir_filter_c with no optimization
* fir_filter_sse which outperforms the C version by a factor of 3x
* fir_filter_neon which outperforms the C version by a factor of 2x

R=andrew@webrtc.org, bjornv@webrtc.org, johannkoenig@google.com

Review URL: https://webrtc-codereview.appspot.com/9759004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5756 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 10:16:11 +00:00
af839b28b0 Add AIMD option to BWE API.
TEST=trybots
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10319005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5755 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 09:42:08 +00:00
ba5a6c3d89 ACM2/NetEq4 did not decode Opus in stereo
Two problems fixed in this CL:
- setting Opus decoder to stereo had no effect, and decoding always generated mono audio
- changing decoding setting from mono to stereo, or stereo to mono, for OPUS also had no effect (but required another change than the first one).

BUG=3082
R=henrik.lundin@webrtc.org, turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10389004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5754 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-23 09:58:48 +00:00
07bc734459 Refactor in BitrateController module.
- Move condition of 0 bps as max meaning 1gbps from SendSideBandwidthEstimation to BitrateController.
 - Remove condition on bitrate=0 meaning bandwidth estimation off as that could only happen when no observers existed
   and in which case the estimation would be ignored.
 - Add MaybeTriggerOnNetworkChanged which only runs rate allocation if any of the dependent variables has changed
   thus allowing to remove many of the bool returns that try to indicate if the estimation has changed which would not
   be aware if the observers have changed.
 - SendSideBandwidthEstimation now has a UpdateBitrate and has clear code paths to which calls update bitrate.
 - Changes in enforce_min_bitrate so the 10kbps min is set from the BitrateController and not from the outside this keep valid as observers are changed.

R=henrik.lundin@webrtc.org, stefan@webrtc.org
BUG=3065

Review URL: https://webrtc-codereview.appspot.com/10189004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5752 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-21 16:51:01 +00:00
6f9c48348b Fixing crash in video_render_tests in release mode.
This is a test bug. Fixed usage of assert.

BUG=1917
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9979004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5750 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-21 14:41:27 +00:00
16b75c2c7a Remove locks in SendSideBandwidthEstimation since those are only accessed while owning locks in
BitrateControllerImpl (excluding AvailableBandwidth).

 + Refactor BitrateController logic around LowRate allocation so access to SendSideBandwidthEstimation
is clear.
 + Refactor NormalRateAllocation away from OnNetworkChange.
 + Annotate BitrateController locks.

R=henrik.lundin@webrtc.org, stefan@webrtc.org
BUG=3065

Review URL: https://webrtc-codereview.appspot.com/10129004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5749 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-21 14:00:51 +00:00
b28bfa7efc Adding FEC support in NetEq 4.
R=henrik.lundin@webrtc.org, turaj@webrtc.org

TEST=passes all trybots

BUG=

Review URL: https://webrtc-codereview.appspot.com/9999004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5748 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-21 12:07:40 +00:00
0e65fdaa3b Fix "unreachable code" warnings (MSVC warning 4702) in webrtc.
BUG=chromium:346399
TEST=none
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10139004

Patch from Peter Kasting <pkasting@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5747 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-21 10:26:42 +00:00
0209e565de Adding operator== and != methods for CodecInst and VideoCodec structures.
R=juberti@google.com, mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10099005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5746 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-21 00:41:28 +00:00
1faef7d084 Use codec width/height as the encoded_image width/height.
The raw_->w and raw_->h which are the stored image width/height may not be the encoded image size in the case when the incoming frame has a odd size.

R=marpan@google.com, marpan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10289004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5739 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 17:00:46 +00:00
3ab57c514c Changing the buffer size (slots) to 1.5 seconds @ 30 ms packets
This is a relanding of r5725, now with a fix for the failing tests.

BUG=2935
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10339005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5738 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 15:09:38 +00:00
8a8c3ef2ae Add ability to configure cpu overuse options via an API.
BUG=1577
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9299006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5736 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 13:15:01 +00:00
d66929995f Prevent playout delay wrap-around in VoiceEngine
In the case where a network glitch causes a packet to arrive so late
that the jitter buffer has gone into expand mode, the playout timestamp
could have been increased to a value that is larger than the RTP
timestamp of the late packet when it finally arrives. This causes
the difference to be negative, and would make the value wrap (unsigned).

With this fix, the difference is set to zero when the playout
timestamp is ahead of the incoming RTP timestamp. Further down in the
method, a zero-value will lead to the averaging filter not being updated.

BUG=3080
R=henrika@webrtc.org, tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10199004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5735 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 12:04:09 +00:00
800b8dbda6 Removes error printout in voe_cmd_test which was caused by attempts to transmit RTCP packets even if a transport object was not registered.
BUG=none
R=xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10219004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5734 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 08:07:41 +00:00
c14807959b Extend perf tests to perform rampup on single stream.
R=kjellander@webrtc.org, stefan@webrtc.org
BUG=3065

Review URL: https://webrtc-codereview.appspot.com/10049004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5733 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 03:23:55 +00:00
c8ac17ca04 Adjust the captured window rect when the window is maximized.
GetWindowRect includes the window frames for maximized window even they are off screen, causing content outside the window being captured falsely. The fix is to remove the left/right/bottom window frame from the captured rect. Mouse capturing is adjusted accordingly as well.

BUG=3076
R=sergeyu@chromium.org

Review URL: https://webrtc-codereview.appspot.com/10149004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5732 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 00:06:41 +00:00
16395228f5 Properly account for retransmitted packets when not using the pacer.
This regression was introduced in r5728.

TBR=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10269004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5729 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 19:34:07 +00:00
7c6ff2da26 Fixes RTX related bugs.
- An RTX packet with no payload should be dropped prior to parsing RTX header since it doesn't have an RTX header. This can for example happen when sending padding-only packets over the RTX stream.
- The retransmit code path when the pacer is disabled doesn't properly update the abs-send-time and ts-offset header extensions.

TEST=trybots
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9189004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5728 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 18:14:52 +00:00
9af85c4ac2 Disabling SendsSetSimulcastSsrcs.
Disabling as bots are turning red. This should be because
VideoSendStream::ReconfigureVideoCodec caps video_codec.startBitrate to
max bitrates and as the start bitrate is just enough to transmit there
might be some rounding errors here causing the top stream not to be
sent. Since no REMB is received (send-side test) this remains as the
transmit bitrate.

I need some more time to figure out if this is the case so I'm disabling
these for now to avoid reverting the big CL. VideoSendStreams aren't
used in production yet.

TBR=mflodman@webrtc.org
BUG=3078

Review URL: https://webrtc-codereview.appspot.com/10229005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5727 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 15:49:18 +00:00
1e98a15adb Revert "Changing the buffer size (in packets) to 1.5 seconds @ 30 ms packets"
Build bots turned red.

TBR=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10229004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5726 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 14:16:52 +00:00
e5be877476 Changing the buffer size (in packets) to 1.5 seconds @ 30 ms packets
BUG=2935
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9899004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5725 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 13:36:58 +00:00
add4073593 Disable flaky CanSwitchToUseAllSsrcs.
Test flakes on bots, disabling while investigating.

R=minyue@webrtc.org
TBR=mflodman@webrtc.org
BUG=3078

Review URL: https://webrtc-codereview.appspot.com/10119006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5724 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 12:57:35 +00:00
709e29742e Simplify pacer interface.
New interface uses two bitrates (max/min). The pace multiplier is also
removed from the interface and instead utilized outside. Min bitrate
will be filled with padding if there's not enough media to transmit.

Also fixes a bug in minimum transmission bitrate that made it ignore
REMBs. A regression test has been added to catch it.

BUG=3014
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10059004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5723 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 10:59:52 +00:00
f577ae9eac Remove internal codecs from VideoSendStream.
Replaces VideoCodec in VideoSendStream::Config with an EncoderSettings
struct. The EncoderSettings struct uses an external encoder for all
codecs. This means that external users, such as libjingle, will provide
the encoders themselves, removing the previous distinction of internal
and external codecs.

For now VideoSendStream translates to VideoCodec internally. In the
interrim (before the corresponding change is implemented in
VideoReceiveStream) tests convert EncoderSettings to VideoCodecs.

Removes Call::GetVideoCodecs().

Disables RampUpTest.WithPacingAndRtx as its further exposed with changes
to bitrates used in tests.

BUG=2854,2992
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/7919004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5722 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 08:43:57 +00:00
ac4b87c258 Fix a deadlock in ViEEncoder::DeliverFrame.
The deadlock can happen when using HW encoder. HW encoder calls
the encode complete callback on libjingle worker thread instead
of ViECaptureThread. The capture thread can hold VieEncoder::|data_cs_|
and wait for ModuleRtpRtcpImpl::|critical_section_module_ptrs_|.
When libjingle worker thread runs encode complete callback, it
can hold ModuleRtpRtcpImpl::|critical_section_module_ptrs_| and
wait for VieEncoder::|data_cs_|.

|default_rtp_rtcp_| is not guarded by |data_cs|. So move it out of
the critical section to avoid the deadlock.

BUG=chromium:352567
TEST=Run apprtc loopback on CrOS.
Run apprtc between CrOS and Linux.
Run vie_auto_test.

R=henrik.lundin@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10039004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5721 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 03:44:20 +00:00
886c94f07c Adds a method to WindowCapturer to bring a window to the front.
BUG=3071
R=sergeyu@chromium.org

Review URL: https://webrtc-codereview.appspot.com/10079004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5718 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-18 17:10:36 +00:00
dcc301be07 Adding thread annotations to NetEq4
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9959004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5716 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-18 11:49:22 +00:00
3f655aa5f7 Add #include <cstdlib> for std::abs.
IWYU violation. Fixes a breakage in the libc++ build of Chromium.

BUG=
R=earthdok@chromium.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10109004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5715 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-18 11:10:11 +00:00
944cbeb292 Resolves TSan v2 warnings in voe_auto_test.
See bug report for details.

BUG=1590
R=tommi@webrtc.org, xians@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9859004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5714 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-18 10:32:33 +00:00
ed8b281265 Re-comitting r5711: "Fixing a flaky test in video_engine_tests"
The CL was reverted in r5712, due to bots going red. However, these bots
are unrelated to this CL.

Original description:
VideoSendStreamTest.SuspendBelowMinBitrate was flaky. The problem was
that when the first non-padding packet was sent after the stream was
resumed, the statistics had not always been updated so that
stats.suspended was false. After seeing the first non-padding packet
after suspension, the test will now go into a state where it waits for
the statistics to be changed.

BUG=3068
R=pbos@webrtc.org
TBR=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10099004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5713 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-18 08:43:29 +00:00
12499ff20b Revert 5711 "Fixing a flaky test in video_engine_tests"
> Fixing a flaky test in video_engine_tests
> 
> VideoSendStreamTest.SuspendBelowMinBitrate was flaky. The problem was that when the first non-padding packet was sent after the stream was resumed, the statistics had not always been updated so that stats.suspended was false. After seeing the first non-padding packet after suspension, the test will now go into a state where it waits for the statistics to be changed.
> 
> BUG=3068
> R=pbos@webrtc.org
> TBR=stefan@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/10069004

TBR=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10089005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5712 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-18 00:23:55 +00:00
d0f0c76cd9 Fixing a flaky test in video_engine_tests
VideoSendStreamTest.SuspendBelowMinBitrate was flaky. The problem was that when the first non-padding packet was sent after the stream was resumed, the statistics had not always been updated so that stats.suspended was false. After seeing the first non-padding packet after suspension, the test will now go into a state where it waits for the statistics to be changed.

BUG=3068
R=pbos@webrtc.org
TBR=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10069004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5711 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-17 21:09:10 +00:00
4e69f782b0 Small refactor on send_side_bandwidth_estimation.
R=stefan@webrtc.org
BUG=3065

Review URL: https://webrtc-codereview.appspot.com/10029005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5710 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-17 17:07:48 +00:00
a714eafb83 Refactor rampup tests:
- Cleanup test done condition (should be the same but with less code).
 - Split up functions blocks inside methods that were large.

R=stefan@webrtc.org
BUG=3065

Review URL: https://webrtc-codereview.appspot.com/10029004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5708 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-17 15:34:57 +00:00
44eb87e6dd Tool to establish a loopback call via apprtc turn server.
For now the test keeps track of video bandwidth estimation and plots it
using google visualization libraries after the test is concluded.
There is also scripts to run a test and record the tcpdump.

BUG=3037
R=hta@webrtc.org, phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9729004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5707 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-17 14:23:22 +00:00
cf6f46d716 References to includes in third_party should be relative, not absolute.
BUG=
R=henrik.lundin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9989004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5704 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-14 16:22:18 +00:00
4375e1acbb Add support for YUV4MPEG file reading to tools files. (Minor fix).
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5703 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-14 12:51:02 +00:00
6e2d012b58 Add support for YUV4MPEG file reading to tools files.
This CL adds support for reading .y4m files to the infra in
video_quality_analysis.cc, adding new functions 
ExtractFrameFromYuvFile() and ExtractFrameFromY4mFile(),
instad of the previous ExtractFrameFromI420(). The decision
as to which one to use is taken from the file extension,
if it is .y4m then is considered a YUV4MPEG file, otherwise
is taken as a raw .yuv file.

It also removes the pseudo duplicated function 
GetNextI420Frame(), that is used from psnr_ssim_analyzer.c,
and adds support for y4m files there.

Tested/validated via local compile-run.

YUV4MPEG is a trivial container with a file header
and a per-frame header, see [1]

[1]
http://wiki.multimedia.cx/index.php?title=YUV4MPEG2

BUG=https://code.google.com/p/chromium/issues/detail?id=343504



git-svn-id: http://webrtc.googlecode.com/svn/trunk@5702 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-14 12:45:45 +00:00
24779fe7cc Fix a bug where network freeze during CNG causes delay
Wrote a new NetEq unit test to test a network freeze during comfort
noise playout. The network freezes and resumes during the silence
period, and then resumes speech. It was verified that the delay
increased due to the freeze, and this CL contains a fix for that
problem.

BUG=2995
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9849004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5701 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-14 12:40:05 +00:00
367000fa8d Remove legacy weirdness in Merge::Downsample
In practice, this will have only marginal effect. The length_limit
was increased from 6.7 ms to 10 ms. This is compared with the
input_length, which is equal to the decoded frame size. Thus,
this change will only affect encoded frame sizes in this range
(including 10 ms).

BUG=2696
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9969004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5700 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-14 12:28:39 +00:00
54464e6f49 Stopping network threads before tearing down test
Also initializing suspended_in_stats_ to false.

TBR=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9959005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5698 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-13 15:39:27 +00:00
5a320fb06f Race condition in RTPSender
RTPSender::sending_media_ should be guarded by send_critsect_. Fix this
in GetSendSideDelay, SendPadData and TimeToSendPadding.
Also add appropriate thread annotations.

BUG=3029
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9779004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5697 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-13 15:12:37 +00:00
41689018a0 Add max delay to trace based filters and enhances drop tail queues with delay statistics.
R=solenberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9479004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5696 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-13 15:01:32 +00:00
b10363f3b6 Re-landing "Routing SuspendChange to VideoSendStream::Stats"
This was originally committed as r5687, but reverted due to a flaky
test.

BUG=3040
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9939004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5695 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-13 13:31:21 +00:00
3349ae0cdc Implement minimum transmit bitrate.
Utilizing minimum transmission bitrate prevents low remote bitrate
estimates (bitrate estimation dips) when encoding non-complex content
such as screenshare of a static image even though there's nothing wrong
with the link.

Requires pacing to be enabled for now, pending issue 3036.

BUG=3014
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9719004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5694 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-13 12:52:27 +00:00