henrik.lundin@webrtc.org
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
turaj@webrtc.org
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
henrik.lundin@webrtc.org
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
henrik.lundin@webrtc.org
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
henrik.lundin@webrtc.org
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
henrik.lundin@webrtc.org
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
sprang@webrtc.org
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
sprang@webrtc.org
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
sprang@webrtc.org
d9b9560ee5
Drop early packets when not sending in TransportAdapter.
...
Particularly, suppress periodic RTCP packets before
VideoSendStream.StartSending() or VideoReceiveStream.StartReceiving() have been called, respectively.
RTCP packets are sent periodically, by the Process thread, for every ViE channel even those not sending.
BUG=
R=pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/7569004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5438 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-27 13:03:02 +00:00
pbos@webrtc.org
c279a5d72c
Wire up RTX in VideoReceiveStream.
...
Also adds a test to make sure that a retransmitted frame is actually
received and decoded on the remote side. The previous NACK test checked
retransmission, but not that the receiver actually takes care of the
retransmitted packet.
BUG=2399
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/7469004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5422 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-24 09:30:53 +00:00
pbos@webrtc.org
e7223e7795
Set NACKed packet to -1 in TestNackRetransmission.
...
Zero is a valid sequence number which may occur even if there are no
retransmissions, this caused the test to flake as an incoming packet
would be mistaken for a retransmission.
BUG=2830
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/7509005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5417 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-23 16:14:34 +00:00
pbos@webrtc.org
f777cf2547
Permitting double start/stopping of streams.
...
It doesn't make too much sense to hard enforce that the user keeps track
of which streams are started and which are not.
BUG=
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/6899004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5363 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-10 18:47:32 +00:00
sprang@webrtc.org
ccd42840bc
Wire up statistics in video send stream of new video engine api
...
Note, this CL does not contain any tests. Those are implemeted as call
tests and will be submitted when the receive stream is wired up as well.
BUG=2235
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5559006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5344 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-07 09:54:34 +00:00
sprang@webrtc.org
54ae4ffb9e
Add callbacks for receive channel RTCP statistics.
...
This allows a listener to receive new statistics as it is generated - avoiding the need to poll. This also makes handling stats from multiple RTP streams more tractable.
The change is primarily targeted at the new video engine API.
TEST=Unit test in ReceiveStatisticsTest. Integration tests to follow as call tests when fully wired up.
BUG=2235
R=henrika@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5089004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5323 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-19 13:26:02 +00:00
pbos@webrtc.org
052fa6243a
Stop transport in test SuspendBelowMinBitrate.
...
Avoids race when packets are still left in the network while the Call is
being destroyed.
R=mflodman@webrtc.org
BUG=
Review URL: https://webrtc-codereview.appspot.com/6009004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5307 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-17 11:19:58 +00:00
pbos@webrtc.org
5ab756703e
Revert r5294 to re-roll r5293.
...
To fix races in test each stream now owns its own encoder/decoder.
R=mflodman@webrtc.org
BUG=
Review URL: https://webrtc-codereview.appspot.com/5919004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5297 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-16 12:24:44 +00:00
turaj@webrtc.org
41e2615e02
Revert 5293 "Auto instantiate RBE depending on whether AST or TO..."
...
> Auto instantiate RBE depending on whether AST or TOF is available in incoming packet stream.
>
> BUG=
> R=mflodman@webrtc.org , stefan@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/5409004
TBR=solenberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5889004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5294 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-15 18:42:32 +00:00
solenberg@webrtc.org
341e91441a
Auto instantiate RBE depending on whether AST or TOF is available in incoming packet stream.
...
BUG=
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5409004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 23:57:54 +00:00
pbos@webrtc.org
724947b8ef
Add SwapFrame() to VideoSendStreamInput.
...
Optionally prevents doing a frame copy when putting frames into a
VideoSendStream. PutFrame() is still there, which copies the frame.
Also removes time_since_capture_ms as a parameter, since
I420VideoFrame::render_time_ms() denotes when the frame was captured.
BUG=2657
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5119004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5265 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-11 16:26:16 +00:00
sprang@webrtc.org
8b8819262f
Improve VideoSendStreamTest::MaxPacketSize
...
This CL was submitted as issue https://webrtc-codereview.appspot.com/4849004/ , but was reverted because of flakiness. This new issue will correct that.
Patch Set 1 contains the code that was submitted in 4849004.
BUG=2428
R=pbos@webrtc.org , phoglund@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5399004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5251 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-10 10:05:17 +00:00
andrew@webrtc.org
797522f9f2
Revert 5229 "Make VideoSendStreamTest::MaxPacketSize test a whol..."
...
> Make VideoSendStreamTest::MaxPacketSize test a whole range of frame sizes, to make sure all corner cases are covered.
>
> BUG=2428
> R=pbos@webrtc.org , phoglund@webrtc.org , stefan@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/4849004
It caused a failure in video_engine_tests on the Linux Tsan bot.
TBR=sprang@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5269004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5240 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-06 17:42:32 +00:00
sprang@webrtc.org
7104fc1906
Make VideoSendStreamTest::MaxPacketSize test a whole range of frame sizes, to make sure all corner cases are covered.
...
BUG=2428
R=pbos@webrtc.org , phoglund@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4849004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5229 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-05 16:15:11 +00:00
pbos@webrtc.org
b613b5ab2b
Set local SSRC for VideoReceiveStream.
...
As a bonus, also removes GenerateRandomSsrc, which only worked on sender
configs. There's no point to generate random SSRCs in tests.
BUG=2691
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4689004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5201 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-03 10:13:04 +00:00
pbos@webrtc.org
e1fc3f22ea
Disable check for all sent SSRCs being valid.
...
Since the code for setting these up will set the codec before setting
SSRCs for the streams, any frames sent in between will be sent on
random-generated SSRCs.
This part should be added back during work on issue 1695.
BUG=1695
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4629004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5192 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-28 15:40:12 +00:00
pbos@webrtc.org
13d38a13e3
Set up SSRCs correctly after switching codec.
...
Before SSRCs were not set up correctly, as the old VideoEngine API
doesn't support setting additional SSRCs before a codec with as many
streams are set.
No test was in place to catch this, so two tests are added to make sure
that we send the SSRCs that are set, and also that we can switch from
using one to using all SSRCs, even though initially not all of them are
set up.
BUG=
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4539004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5188 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-28 11:59:31 +00:00
stefan@webrtc.org
4ab4fc0044
Add test for automatically disabling padding when no video is being captured.
...
BUG=2648
TEST=trybots
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4329004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5169 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-25 11:54:24 +00:00
henrik.lundin@webrtc.org
331d4402fc
Connect pacer/padding to SuspendBelowMinBitrate
...
The suspend function must not be engaged unless padding is also enabled.
This CL makes the connection so that the pacer and padding is enabled
when SuspendBelowMinBitrate is.
Had to change the unit test to make it aware of the padding packets.
BUG=2606
R=mflodman@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4089004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5153 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21 14:05:40 +00:00
pbos@webrtc.org
2c46f8d854
Rename DestroyStream methods to include Video.
...
Matches r5135 which renames CreateSendStream->CreateVideoSendStream for
instance.
BUG=
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4109005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5151 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21 13:49:43 +00:00
pbos@webrtc.org
ce90eff345
Rename RTP-extension constants.
...
BUG=
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5137 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-20 11:48:56 +00:00
pbos@webrtc.org
53c8573525
Rename video streams' start/stop methods.
...
{Start,Stop}{Send,Receive}() -> {Start,Stop}{Sending,Receiving}().
BUG=
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3609005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5136 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-20 11:36:47 +00:00
pbos@webrtc.org
5a63655ab0
Rename Call::Create{Receive,Send}Stream().
...
Renaming the methods to include Video. Long-term there will hopefully be
AudioSendStream/AudioReceiveStreams as well.
BUG=
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3439004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5135 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-20 10:40:25 +00:00
henrik.lundin@webrtc.org
ce8e0936d9
Rename AutoMute to SuspendBelowMinBitrate
...
Changes all instances throughout the WebRTC stack.
BUG=2436
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3919004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5130 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-18 12:18:43 +00:00
stefan@webrtc.org
4cfa6050f6
Fix breakage after introducing new test.
...
TBR=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3899005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5127 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-15 13:15:56 +00:00
stefan@webrtc.org
69969e2e2f
Improve Call tests for RTX.
...
Also does some refactoring to reuse RtpRtcpObserver.
BUG=1811
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3809004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5126 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-15 12:32:15 +00:00
pbos@webrtc.org
6488761f2e
Implement VideoSendStream::SetCodec().
...
Removing assertion that SSRC count should be the same as the number of
streams in the codec. It makes sense that you don't always use the same
number of streams under one call. Dropping resolution due to CPU overuse
for instance can require less streams, but the SSRCs should stay
allocated so that operations can resume when not overusing any more.
This change also means we can get rid of the ugly SendStreamState whose
content wasn't defined. Instead we use SetCodec to change resolution
etc. on the fly. Should something else have to be replaced on the fly
then that functionality simply has to be implemented.
BUG=
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3499005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5123 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-14 08:58:14 +00:00
pbos@webrtc.org
def22b455b
Stop DirectTransports in VideoSendStreamTests.
...
Prevents racy packet delivery during or after Call destruction.
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3099005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5049 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-29 10:12:10 +00:00
pbos@webrtc.org
16e03b7bd8
Separate Call API/build files from video_engine/.
...
BUG=2535
R=andrew@webrtc.org , mflodman@webrtc.org , niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2659004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5042 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-28 16:32:01 +00:00