Commit Graph

315 Commits

Author SHA1 Message Date
01581da711 Fix audio/video sync when FEC is enabled.
Also improves the tests by adding a test case for FEC, and running the a/v sync
tests with NACK and simulated packet loss.

BUG=crbug/374104
R=mflodman@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7053 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-04 06:48:14 +00:00
26c0c41a06 Network up/down signaling in Call.
BUG=2429
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7044 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-03 16:17:12 +00:00
6f729e8a74 Disable video_engine_tests and webrtc_perf_tests on Android.
BUG=3770
TESTED=Running the tests locally on an Android device.
R=phoglund@webrtc.org
TBR=henrik.lundin@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7026 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-02 15:13:55 +00:00
b623c5c251 Disable EndToEndTest.RestartingSendStreamPreservesRtpState in video_engine_tests because it is flaky
BUG=webrtc:3745
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6981 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-26 14:22:51 +00:00
79c3359e67 Add end-to-end H.264 packetization test.
Also correctly wires up H.264 packetization in the new Call api.

R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6835 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-06 09:24:53 +00:00
dde16f19e3 Fix some code styles.
BUG=
R=pbos@webrtc.org

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

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6830 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-05 23:35:43 +00:00
f9460688a6 Make sure padding is sent on the first sending RTP module.
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6774 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-24 16:41:25 +00:00
168f23faa5 Move pacer to fully use webrtc::Clock instead of webrtc::TickTime.
This required rewriting the send-side delay stats api to be callback based, as otherwise the SuspendBelowMinBitrate test started flaking much more frequently since it had lock order inversion problems.

R=pbos@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6664 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 13:44:02 +00:00
4ef438e2de Remove the send-side cname getter APIs from voice and video engine.
These APIs aren't being used, and introduces deadlocks when using GetStats() in the new Call api. Having getters for cname at the send-side is pointless, as it's always the user who sets the cname.

R=henrika@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6659 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 09:55:30 +00:00
62bafae661 Some refactoring inside rtp_rtcp/.
Renaming ModuleRTPUtility -> RtpUtility.
Renaming RTPHeaderParser -> RtpHeaderParser.
Making RtpHeaderParser accept size_t instead of int for packet length.
Making RtpUtility::RtpHeaderParser accept size_t for packet length.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6623 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 12:10:51 +00:00
2bb1bdab8d Preserve RTP states for restarted VideoSendStreams.
A restarted VideoSendStream would previously be completely reset,
causing gaps in sequence numbers and potentially RTP timestamps as well.
This broke SRTP which requires fairly sequential sequence numbers.
Presumably, were this sent without SRTP, we'd still have problems on the
receiving end as the corresponding receiver is unaware of this reset.

Also adding annotation to RTPSender and addressing some unlocked
access to ssrc_, ssrc_rtx_ and rtx_.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6612 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 13:06:48 +00:00
bd249bc711 Remove GetDefaultConfigs() from Call.
Defaults for configs are instead placed in the Config constructors.

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6608 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 04:45:15 +00:00
20c1f56992 Configure RTX send status on new modules.
Fixes bug where newly-allocated modules wouldn't send payload-based
padding (or probably not send over RTX at all).

As the newly-added test exposed lock-inversions shown on tsan in
VideoReceiver, VideoReceiver was thread-annotated and locks taken less.
BUG=chromium:391085
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6601 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 10:58:12 +00:00
be9d2a4549 Reserve RTP/RTCP modules in SetSSRC.
Allows setting SSRCs for future simulcast layers even though no set send
codec uses them.

Also re-enabling CanSwitchToUseAllSsrcs as an end-to-end test, required
for bitrate ramp-up, instead of send-side only (resolving issue 3078).
This test was used to verify reserved modules' SSRCs are preserved
correctly.

To enable a multiple-stream end-to-end test test::CallTest was modified
to work on a vector of receive streams instead of just one.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6565 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-30 13:19:09 +00:00
994d0b7229 Refactor Call-based tests.
Greatly reduces duplication of constants and setup code for tests based
on the new webrtc::Call APIs. It also makes it significantly easier to
convert sender-only to end-to-end tests as they share more code.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6551 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-27 08:47:52 +00:00