| Index: webrtc/sdk/android/api/org/webrtc/RtpReceiver.java
|
| diff --git a/webrtc/sdk/android/api/org/webrtc/RtpReceiver.java b/webrtc/sdk/android/api/org/webrtc/RtpReceiver.java
|
| index 7df030de1104b2e438cf4ebd72711a99874c93e5..d4244ed62c1dc13a259bd79b151c22d51540679f 100644
|
| --- a/webrtc/sdk/android/api/org/webrtc/RtpReceiver.java
|
| +++ b/webrtc/sdk/android/api/org/webrtc/RtpReceiver.java
|
| @@ -12,7 +12,14 @@ package org.webrtc;
|
|
|
| /** Java wrapper for a C++ RtpReceiverInterface. */
|
| public class RtpReceiver {
|
| + /** Java wrapper for a C++ RtpReceiverObserverInterface*/
|
| + public static interface Observer {
|
| + // Called when the first audio or video packet is received.
|
| + public void onFirstPacketReceived(MediaStreamTrack.MediaType media_type);
|
| + }
|
| +
|
| final long nativeRtpReceiver;
|
| + private long nativeObserver;
|
|
|
| private MediaStreamTrack cachedTrack;
|
|
|
| @@ -41,9 +48,21 @@ public class RtpReceiver {
|
|
|
| public void dispose() {
|
| cachedTrack.dispose();
|
| + if (nativeObserver != 0) {
|
| + nativeUnsetObserver(nativeRtpReceiver, nativeObserver);
|
| + nativeObserver = 0;
|
| + }
|
| free(nativeRtpReceiver);
|
| }
|
|
|
| + public void SetObserver(Observer observer) {
|
| + // Unset the existing one before setting a new one.
|
| + if (nativeObserver != 0) {
|
| + nativeUnsetObserver(nativeRtpReceiver, nativeObserver);
|
| + }
|
| + nativeObserver = nativeSetObserver(nativeRtpReceiver, observer);
|
| + }
|
| +
|
| // This should increment the reference count of the track.
|
| // Will be released in dispose().
|
| private static native long nativeGetTrack(long nativeRtpReceiver);
|
| @@ -56,4 +75,8 @@ public class RtpReceiver {
|
| private static native String nativeId(long nativeRtpReceiver);
|
|
|
| private static native void free(long nativeRtpReceiver);
|
| +
|
| + private static native long nativeSetObserver(long nativeRtpReceiver, Observer observer);
|
| +
|
| + private static native long nativeUnsetObserver(long nativeRtpReceiver, long nativeObserver);
|
| };
|
|
|