| Index: webrtc/sdk/android/api/org/webrtc/RtpSender.java
|
| diff --git a/webrtc/sdk/android/api/org/webrtc/RtpSender.java b/webrtc/sdk/android/api/org/webrtc/RtpSender.java
|
| index 12df4e271423b19cd7461ea67067afdc78544ec4..358b87dff81fc4ec2388e9838bd30fa369063ddd 100644
|
| --- a/webrtc/sdk/android/api/org/webrtc/RtpSender.java
|
| +++ b/webrtc/sdk/android/api/org/webrtc/RtpSender.java
|
| @@ -17,11 +17,16 @@ public class RtpSender {
|
| private MediaStreamTrack cachedTrack;
|
| private boolean ownsTrack = true;
|
|
|
| + private final DtmfSender dtmfSender;
|
| +
|
| public RtpSender(long nativeRtpSender) {
|
| this.nativeRtpSender = nativeRtpSender;
|
| long track = nativeGetTrack(nativeRtpSender);
|
| // It may be possible for an RtpSender to be created without a track.
|
| - cachedTrack = (track == 0) ? null : new MediaStreamTrack(track);
|
| + cachedTrack = (track != 0) ? new MediaStreamTrack(track) : null;
|
| +
|
| + long nativeDtmfSender = nativeGetDtmfSender(nativeRtpSender);
|
| + dtmfSender = (nativeDtmfSender != 0) ? new DtmfSender(nativeDtmfSender) : null;
|
| }
|
|
|
| // If |takeOwnership| is true, the RtpSender takes ownership of the track
|
| @@ -57,7 +62,14 @@ public class RtpSender {
|
| return nativeId(nativeRtpSender);
|
| }
|
|
|
| + public DtmfSender dtmf() {
|
| + return dtmfSender;
|
| + }
|
| +
|
| public void dispose() {
|
| + if (dtmfSender != null) {
|
| + dtmfSender.dispose();
|
| + }
|
| if (cachedTrack != null && ownsTrack) {
|
| cachedTrack.dispose();
|
| }
|
| @@ -70,6 +82,10 @@ public class RtpSender {
|
| // Will be released in dispose() or setTrack().
|
| private static native long nativeGetTrack(long nativeRtpSender);
|
|
|
| + // This should increment the reference count of the DTMF sender.
|
| + // Will be released in dispose().
|
| + private static native long nativeGetDtmfSender(long nativeRtpSender);
|
| +
|
| private static native boolean nativeSetParameters(long nativeRtpSender, RtpParameters parameters);
|
|
|
| private static native RtpParameters nativeGetParameters(long nativeRtpSender);
|
|
|