diff options
author | braveyao@webrtc.org <braveyao@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2014-07-03 05:59:22 +0000 |
---|---|---|
committer | braveyao@webrtc.org <braveyao@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2014-07-03 05:59:22 +0000 |
commit | a7dbc45af891d8cb5eccf8d052be9e8479f5d8eb (patch) | |
tree | 0d71d6cac107298cbb12fd289d4a2fb6cbc90540 /examples | |
parent | d13c3753199496aeddc73ec88548da73283c312f (diff) | |
download | webrtc-a7dbc45af891d8cb5eccf8d052be9e8479f5d8eb.tar.gz |
WebRTCDemo: set local SSRC for loopback test, otherwise receiver would reset it due to ssrc clash, which would cause delayed remote rendering.
(Including another fix here, https://review.webrtc.org/16779004/, to make the test run)
BUG=3500
TEST=Manual Test
R=glaznev@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/13819004
git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6587 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'examples')
3 files changed, 16 insertions, 1 deletions
diff --git a/examples/android/media_demo/jni/video_engine_jni.cc b/examples/android/media_demo/jni/video_engine_jni.cc index c6589ece..c7af1c54 100644 --- a/examples/android/media_demo/jni/video_engine_jni.cc +++ b/examples/android/media_demo/jni/video_engine_jni.cc @@ -710,3 +710,9 @@ JOWW(void, VideoCodecInst_setMaxFrameRate)(JNIEnv* jni, jobject j_codec, JOWW(void, CameraDesc_dispose)(JNIEnv* jni, jobject j_camera) { delete GetCameraDesc(jni, j_camera); } + +JOWW(jint, VideoEngine_setLocalSSRC)(JNIEnv* jni, jobject j_vie, jint channel, + jint ssrc) { + VideoEngineData* vie_data = GetVideoEngineData(jni, j_vie); + return vie_data->rtp->SetLocalSSRC(channel, ssrc); +} diff --git a/examples/android/media_demo/src/org/webrtc/webrtcdemo/MediaEngine.java b/examples/android/media_demo/src/org/webrtc/webrtcdemo/MediaEngine.java index f6284315..f55bcccf 100644 --- a/examples/android/media_demo/src/org/webrtc/webrtcdemo/MediaEngine.java +++ b/examples/android/media_demo/src/org/webrtc/webrtcdemo/MediaEngine.java @@ -259,7 +259,7 @@ public class MediaEngine implements VideoDecodeEncodeObserver { public void setTrace(boolean enable) { if (enable) { vie.setTraceFile("/sdcard/trace.txt", false); - vie.setTraceFilter(VideoEngine.TraceLevel.TRACE_ERROR); + vie.setTraceFilter(VideoEngine.TraceLevel.TRACE_ALL); return; } vie.setTraceFilter(VideoEngine.TraceLevel.TRACE_NONE); @@ -561,6 +561,14 @@ public class MediaEngine implements VideoDecodeEncodeObserver { check(vie.setSendDestination(videoChannel, videoTxPort, remoteIp) == 0, "Failed setSendDestination"); } + + // Setting localSSRC manually (arbitrary value) for loopback test, + // As otherwise we will get a clash and a new SSRC will be set, + // Which will reset the receiver and other minor issues. + if (remoteIp.equals("127.0.0.1")) { + check(vie.setLocalSSRC(videoChannel, 0x01234567) == 0, + "Failed setLocalSSRC"); + } } public int videoTxPort() { diff --git a/examples/android/media_demo/src/org/webrtc/webrtcdemo/VideoEngine.java b/examples/android/media_demo/src/org/webrtc/webrtcdemo/VideoEngine.java index 7cfa5856..677ff42f 100644 --- a/examples/android/media_demo/src/org/webrtc/webrtcdemo/VideoEngine.java +++ b/examples/android/media_demo/src/org/webrtc/webrtcdemo/VideoEngine.java @@ -116,4 +116,5 @@ public class VideoEngine { return stopRtpDump(channel, direction.ordinal()); } private native int stopRtpDump(int channel, int direction); + public native int setLocalSSRC(int channel, int ssrc); } |