Commit Graph

108 Commits

Author SHA1 Message Date
4059c2f579 Disable CallPerfTest.CaptureNtpTimeWithNetworkDelay due to being flaky.
TBR=wu@webrtc.org
BUG=3374

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6201 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-20 15:12:29 +00:00
024e4d5c6e Fix Win VideoSendStream::...::ToString() compiles.
Removed an extra ::VideoSendStream in the method declarations.

BUG=3171
TBR=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6171 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-15 10:03:24 +00:00
1e92b0a93d Add ToString() to VideoSendStream::Config.
Adds ToString() to subsequent parts as well as a common.gyp to define
ToString() methods for config.h. VideoStream is also moved to config.h.

BUG=3171
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6170 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-15 09:35:06 +00:00
caba2d2a37 Add DeliveryStatus enum to DeliverPacket().
Allows signalling why packet delivery failed. Especially enables
signaling that delivery fails because the incoming packet had an unknown
SSRC. This allows an application to react and create receivers for the
new streams.

R=mflodman@webrtc.org
BUG=3228

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6150 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 13:57:12 +00:00
db60434b31 Re-enable the BitrateEstimatorTest cases for the Call API.
BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6141 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 09:15:19 +00:00
023b101f4e Move gflags usage to video_loopback.
gflags aren't used by the test environment and is an unnecessary
dependency. They're only used by the video_loopback target, so moving
them there.

R=mflodman@webrtc.org
BUG=3113

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6120 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-13 11:26:40 +00:00
66773a032a Move timestamp_extrapolator and rtp_to_ntp to system wrapper so that it can be shared by both audio and video engine.
BUG=3111
TEST=try bots
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6074 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-07 17:09:44 +00:00
0224c20fa6 * Add 100ms network delay to test CaptureNtpTimeWithNetworkJitter.
* Re-enable test CaptureNtpTimeWithNetworkJitter.
* Use 100ms as the threadhold as a FYI since this is a performance test.

BUG=3271
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6054 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-05 17:42:43 +00:00
de1429e9ad Add thread annotations to Call API.
Also constified a lot of pointers and reordered members to make
protected members more grouped together.

R=kjellander@webrtc.org, stefan@webrtc.org
BUG=2770

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5998 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-28 13:00:21 +00:00
c891577e6d Disable flaky CaptureNtpTimeWithNetworkJitter.
TBR=wu@webrtc.org
BUG=3271

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5996 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-28 11:57:32 +00:00
f043f79711 Disabling flaky CanReceiveFec.
CanReceiveFec is flaky, likely to the test expecting the first FEC
packet to always be decoded and rendered.

R=stefan@webrtc.org
BUG=3269

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5992 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-28 09:00:50 +00:00
cd70119a10 Calculate local/remote clock delta and capture ntp timestamp in receiver's timebase.
BUG=3111
TEST=new performance tests
R=niklas.enbom@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5976 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-24 22:10:24 +00:00
5ca6a5387e Remove TraceCallback use from Call.
Non-global logging isn't supported, and having a per-call logging
dispatch seems over-eager and adds more complexity than it's worth. The
current implementation is racy on initialization due to missing atomics
support. Besides, logging support should be separate from use of Call.

R=mflodman@webrtc.org
BUG=3250,3157

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5971 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-24 11:35:33 +00:00
a5c8d2c9b3 Rename Start/Stop in Video{Send,Receive}Streams.
Rename {Start,Stop}{Sending,Receving} to Start/Stop. StartSending
provides no extra information in the context of a VideoSendStream, as
what it does is to send.

R=mflodman@webrtc.org
BUG=3227

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5970 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-24 11:13:21 +00:00
d144bb6812 Let A/V sync test use default AudioCoding module
This test used to run with both ACM1 and ACM2, to verify sync with both
versions of the module. ACM1 (and NetEq3) is now being deprecated,
wherefore this test should now use the default one (i.e., ACM2).

BUG=2996
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5953 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-22 08:36:33 +00:00
2c89b5cb27 Make everyone an OWNER for .gyp/.gypi add/delete purposes, non-talk/ edition.
This CL brought to you by:
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do echo -e "\n# These are for the common case of adding or renaming files. If you're doing\n# structural changes, please get a review from a reviewer in this file.\nper-file *.gyp=*\nper-file *.gypi=*" >> $d/OWNERS; done
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do git add $d/OWNERS; done

(and then removed the talk/ impact)

R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5903 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-14 20:08:03 +00:00
22cf7472a0 Disable UsesTraceCallback
Ongoing removal of trace code is causing UsesTraceCallback to fail,
disabling it for now.

BUG=3157
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5882 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-10 14:39:22 +00:00
2a03498825 Implement FEC support in VideoReceiveStream.
Added an FEC end-to-end test. NACK+FEC is probably working but not yet tested
as the test for it must introduce packet delays as the underlying API prefers
NACK over FEC if RTT is low.

BUG=3174
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5862 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-08 11:21:45 +00:00
dc80bae2a6 Convert logs in rtp rtcp module from WEBRTC_TRACE into LOG.
Clean some logs and add asserts in the way.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5861 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-08 11:06:12 +00:00
b08db28958 Clean up traces and logs in RemoteBitrateEstimator.
BUG=3153
R=andresp@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5854 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-07 12:53:28 +00:00
44caf01c34 Re-submit: rev5775
Modify bitrate controller to update bitrate based on process call and not
only whenever a RTCP receiver block is received.

Additionally:
 Add condition to only start rampup after a receiver block is received. This was same as old behaviour but now an explicit check is needed to verify process does not ramps up before the first block.

 Fix logic around capping max bitrate increase at 8% per second. Before it was only increasing once every 1 second and each increase would be as high as 8%. If receiver blocks had a different interval before it would lose an update or waste an update slot and not ramp up as much as a 8% (e.g. if RTCP received < 1 second).

 Did not touch decrease logic, however since it can be triggered more often it
 may decrease much faster and closer to the original written cap of once every
 300ms + rtt.

Note:
 rampup_tests.cc don't seem to be affected by this since there is no packet loss or REMB that go higher than expected cap.
 bitrate_controller_unittests.cc are don't really simulate a clock and the process thread, but trigger update by inserting an rtcp block.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5794 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-26 21:00:21 +00:00
6cd201cf31 Revert 5775 "Modify bitrate controller to update bitrate based o..."
This triggered an occasional TSAN failure in
CallTest.ReceivesPliAndRecoversWithNack e.g.:
http://build.chromium.org/p/client.webrtc/builders/Linux%20Tsan/builds/1444/steps/memory%20test%3A%20video_engine_tests/logs/stdio

I managed to reproduce this locally and verified that reverting this CL
corrected it.

> Modify bitrate controller to update bitrate based on process call and not
> only whenever a RTCP receiver block is received.
> 
> Additionally:
>  Add condition to only start rampup after a receiver block is received. This was same as old behaviour but now an explicit check is needed to verify process does not ramps up before the first block.
> 
>  Fix logic around capping max bitrate increase at 8% per second. Before it was only increasing once every 1 second and each increase would be as high as 8%. If receiver blocks had a different interval before it would lose an update or waste an update slot and not ramp up as much as a 8% (e.g. if RTCP received < 1 second).
> 
>  Did not touch decrease logic, however since it can be triggered more often it
>  may decrease much faster and closer to the original written cap of once every
>  300ms + rtt.
> 
> Note:
>  rampup_tests.cc don't seem to be affected by this since there is no packet loss or REMB that go higher than expected cap.
>  bitrate_controller_unittests.cc are don't really simulate a clock and the process thread, but trigger update by inserting an rtcp block.
> 
> BUG=3065
> R=stefan@webrtc.org, mflodman@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/10529004

TBR=andresp@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5785 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-25 19:42:39 +00:00
02e749f848 Change sprintf format string from %zu to %i
The resulting string became wrong on Windows. Instead of printing
the numerical value in number_of_streams_, the string "zu" got
printed. (Linux and Mac worked fine already.)

This will result in a change of statistics name in the performance
graphs.

R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5776 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-25 13:39:11 +00:00
da07737e68 Modify bitrate controller to update bitrate based on process call and not
only whenever a RTCP receiver block is received.

Additionally:
 Add condition to only start rampup after a receiver block is received. This was same as old behaviour but now an explicit check is needed to verify process does not ramps up before the first block.

 Fix logic around capping max bitrate increase at 8% per second. Before it was only increasing once every 1 second and each increase would be as high as 8%. If receiver blocks had a different interval before it would lose an update or waste an update slot and not ramp up as much as a 8% (e.g. if RTCP received < 1 second).

 Did not touch decrease logic, however since it can be triggered more often it
 may decrease much faster and closer to the original written cap of once every
 300ms + rtt.

Note:
 rampup_tests.cc don't seem to be affected by this since there is no packet loss or REMB that go higher than expected cap.
 bitrate_controller_unittests.cc are don't really simulate a clock and the process thread, but trigger update by inserting an rtcp block.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5775 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-25 12:48:42 +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
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
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
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
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
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
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
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
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
6ea4f6397e Enable all RampUpTest.UpDownUp* tests
With issue 2987 fixed, all these tests can be enabled without problems.

BUG=3010
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5693 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-13 09:21:26 +00:00
b5f3029302 Replace labs with std::abs.
Resolves clang 3.5 warnings on OS X for -Wabsolute-value.

BUG=chromium:351479
R=andrew@webrtc.org, thakis@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5692 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-13 08:53:39 +00:00
95153cc4cd Remove platform-specific code from new-API tests.
We've had problems that seem to manifest in run_tests.mm getting stuck
on exit. For our automated test targets only full_stack.cc was making
use of the platform-specific renderers provided by webrtc_test_common
and since no one currently monitors these the use case is hypothetical.

Readding platform-specific renderers to video_loopback is tracked with
issue 3039, though as far as I'm aware no one's currently using the
video_loopback target.

BUG=2987
R=kjellander@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5686 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-12 13:22:00 +00:00
be39470203 Revert "Routing SuspendChange to VideoSendStream::Stats"
The test VideoSendStreamTest.SuspendBelowMinBitrate seems flaky.
Reverting and investigating.

BUG=3040

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5681 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-11 17:13:14 +00:00
1598b80f52 Routing SuspendChange to VideoSendStream::Stats
Also checking that the statistics are properly updated in
VideoSendStreamTest.SuspendBelowMinBitrate.

Adding a test to SendStatisticsProxyTest.

Checking callback status in rampup test, too.

BUG=2457
R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5678 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-11 14:57:35 +00:00
36b6221cd4 Adding a link to issue
BUG=3010
TBR=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5668 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-10 10:24:35 +00:00
ed865b5d46 NetEq4: Changing the behavior of playout_timestamp_ update
The variable playout_timestamp_ was not updated to the latest decoded
timestamp while comfort noise was played. Instead, it was upadted using
dead reckoning, which caused it to drift away from the timestamps of the
incoming CNG packets. Now it is updated also during comfort noise
playout.

Since the change is only in NetEq4, this change also makes the test
PlaysOutAudioAndVideoInSync use both ACM1/NetEq3 and ACM2/NetEq4.

Re-enabling one NetEq unit test that is no longer failing thanks to this CL.

BUG=2932
R=stefan@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5649 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-06 10:28:07 +00:00
60ad5fdadf Potential deadlock in VideoSendStreamTest::ProducesStats
VideoSendStream::GetStats() should not be called by
RtpRtcpObserver::OnSendRtcp(), as at this stage that thread will still
hold internal send locks.

Use an event and signal the test thread to call GetStats() instead.

BUG=
R=mflodman@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5648 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-06 10:03:36 +00:00
998cb8fcd0 Use DISABLE_ instead of commenting out tests
BUG=2636
TBR=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5647 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-06 09:12:00 +00:00
845862f279 Adding a new ramp-up-down-up test
The new test is based upon the exisiting rampup test, but also adds
a low-rate period. The main purpose of the test is to verify the
SuspendBelowMinBitrate functionality, which must be enabled for the
test to pass.

The CL also adds a change to the min bitrate in the send-side bandwidth
estimator when SuspendBelowMinBitrate is enabled.

An anonymous namespace is added around the StreamObserver classes
in the test to avoid silent linker conflicts that could happen
otherwise.

Note: this CL depends on https://webrtc-codereview.appspot.com/9049004/

BUG=2636
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5646 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-06 07:19:28 +00:00
0117d1c48c Fix compilation errors under clang 3.5.
Enables building tip-of-tree clang which introduces new warnings that
cause compilation errors in our code base (-Werror).

BUG=
R=andrew@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5630 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-03 16:47:03 +00:00
346094cb01 Incorrect overhead calculation when using FEC + RTP extension headers.
When frames are fragmented inte multiple RTP packets in order to not
exceed a maximum packet size, the header overhead calculation must
take into account that FEC redundancy packets may use more than the
12 bytes of the basic RTP header. For example, a csrc list or extension
headers may be present.

BUG=2899
R=phoglund@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5562 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-18 08:40:33 +00:00