diff --git a/sdk/android/api/org/webrtc/RtpSender.java b/sdk/android/api/org/webrtc/RtpSender.java
index b78bbf6..2d0bc6c 100644
--- a/sdk/android/api/org/webrtc/RtpSender.java
+++ b/sdk/android/api/org/webrtc/RtpSender.java
@@ -12,6 +12,7 @@
 
 import androidx.annotation.Nullable;
 import java.util.List;
+import org.webrtc.MediaStreamTrack;
 
 /** Java wrapper for a C++ RtpSenderInterface. */
 public class RtpSender {
@@ -27,8 +28,12 @@
     long nativeTrack = nativeGetTrack(nativeRtpSender);
     cachedTrack = MediaStreamTrack.createMediaStreamTrack(nativeTrack);
 
-    long nativeDtmfSender = nativeGetDtmfSender(nativeRtpSender);
-    dtmfSender = (nativeDtmfSender != 0) ? new DtmfSender(nativeDtmfSender) : null;
+    if (nativeGetMediaType(nativeRtpSender).equalsIgnoreCase(MediaStreamTrack.AUDIO_TRACK_KIND)) {
+      long nativeDtmfSender = nativeGetDtmfSender(nativeRtpSender);
+      dtmfSender = (nativeDtmfSender != 0) ? new DtmfSender(nativeDtmfSender) : null;
+    } else {
+      dtmfSender = null;
+    }
   }
 
   /**
@@ -143,4 +148,6 @@
   private static native String nativeGetId(long rtpSender);
 
   private static native void nativeSetFrameEncryptor(long rtpSender, long nativeFrameEncryptor);
+
+  private static native String nativeGetMediaType(long rtpSender);
 };
diff --git a/sdk/android/src/jni/pc/rtp_sender.cc b/sdk/android/src/jni/pc/rtp_sender.cc
index 233a353..fc83862 100644
--- a/sdk/android/src/jni/pc/rtp_sender.cc
+++ b/sdk/android/src/jni/pc/rtp_sender.cc
@@ -110,5 +110,15 @@
               j_frame_encryptor_pointer)));
 }
 
+static ScopedJavaLocalRef<jstring> JNI_RtpSender_GetMediaType(
+    JNIEnv* jni,
+    jlong j_rtp_sender_pointer) {
+  cricket::MediaType media_type =
+      reinterpret_cast<RtpSenderInterface*>(j_rtp_sender_pointer)->media_type();
+  return media_type == cricket::MEDIA_TYPE_AUDIO
+             ? NativeToJavaString(jni, "audio")
+             : NativeToJavaString(jni, "video");
+}
+
 }  // namespace jni
 }  // namespace webrtc
