22 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
wu@webrtc.org
9aa7d8df95 Increase the threshold for CallPerfTest.CaptureNtpTimeWithNetworkDelay to avoid flaky.
BUG=3374
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6267 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-29 05:03:52 +00:00
stefan@webrtc.org
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
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
wu@webrtc.org
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
wu@webrtc.org
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
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
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
wu@webrtc.org
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
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
henrik.lundin@webrtc.org
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
solenberg@webrtc.org
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
pbos@webrtc.org
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
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
pbos@webrtc.org
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
pbos@webrtc.org
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
henrik.lundin@webrtc.org
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
pbos@webrtc.org
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
asapersson@webrtc.org
bdc5ed2e7d Add configuration for cpu overuse detection to video send stream.
BUG=2422
R=mflodman@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5468 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-31 10:05:07 +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
stefan@webrtc.org
faada6e604 Integrate fake_network_pipe into direct_transport.
TEST=trybots
R=mflodman@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5321 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-18 20:28:25 +00:00
pbos@webrtc.org
1d096901ac Move realtime tests to webrtc_perf_tests.
New binary not to be run on our VMs as they result in flaky tests. These
will instead be run on baremetal machines.

BUG=2710
R=kjellander@webrtc.org, mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5283 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 12:48:05 +00:00