33 Commits

Author SHA1 Message Date
pbos@webrtc.org
6ae48c6609 Make VideoSendStream/VideoReceiveStream configs const.
Benefits of this is that the send config previously had unclear locking
requirements, a lock was used to lock parts parts of it while
reconfiguring the VideoEncoder. Primary work was splitting out video
streams from config as well as encoder_settings as these change on
ReconfigureVideoEncoder. Now threading requirements for both member
configs are clear (as they are read-only), and encoder_settings doesn't
stay in the config as a stale pointer.

CreateVideoSendStream now takes video streams separately as well as the
encoder_settings pointer, analogous to ReconfigureVideoEncoder.

This change required changing so that pacing is silently enabled when
using suspend_below_min_bitrate rather than silently setting it.

R=henrik.lundin@webrtc.org, mflodman@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org
BUG=3260

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6349 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-06 10:49:19 +00:00
pbos@webrtc.org
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
pbos@webrtc.org
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
pbos@webrtc.org
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
andresp@webrtc.org
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
henrik.lundin@webrtc.org
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
stefan@webrtc.org
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
andresp@webrtc.org
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
pbos@webrtc.org
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
andresp@webrtc.org
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
henrik.lundin@webrtc.org
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
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
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
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
henrik.lundin@webrtc.org
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
henrik.lundin@webrtc.org
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
henrik.lundin@webrtc.org
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
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
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
henrik.lundin@webrtc.org
e9abd591d7 Making RemoteRateControl::min_configured_bit_rate_ configurable
The minimum bitrate can now be configured from WrappingBitrateEstimator.

BUG=2698
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5279 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 08:42:42 +00:00
stefan@webrtc.org
7e9315b42e Adds support for sending redundant payloads over RTX.
TEST=trybots
BUG=1812
R=mflodman@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5209 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-04 10:24:26 +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
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
27326b6a42 Rename newapi::Transport::SendRTP()->SendRtp().
Also fit rampup_tests.cc to use internal::TransportAdapter instead of
implementing its own.

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5138 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-20 12:17:04 +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
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
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