diff --git a/webrtc/api/android/java/src/org/webrtc/VideoSource.java b/webrtc/api/android/java/src/org/webrtc/VideoSource.java
index ba5d2ca..f664f19 100644
--- a/webrtc/api/android/java/src/org/webrtc/VideoSource.java
+++ b/webrtc/api/android/java/src/org/webrtc/VideoSource.java
@@ -19,23 +19,7 @@
  * its output to the encoder) can be too high to bear.
  */
 public class VideoSource extends MediaSource {
-
   public VideoSource(long nativeSource) {
     super(nativeSource);
   }
-
-  // Stop capture feeding this source.
-  public void stop() {
-    stop(nativeSource);
-  }
-
-  // Restart capture feeding this source.  stop() must have been called since
-  // the last call to restart() (if any).  Note that this isn't "start()";
-  // sources are started by default at birth.
-  public void restart() {
-    restart(nativeSource);
-  }
-
-  private static native void stop(long nativeSource);
-  private static native void restart(long nativeSource);
 }
diff --git a/webrtc/api/android/jni/peerconnection_jni.cc b/webrtc/api/android/jni/peerconnection_jni.cc
index 684e486..aed774f 100644
--- a/webrtc/api/android/jni/peerconnection_jni.cc
+++ b/webrtc/api/android/jni/peerconnection_jni.cc
@@ -2003,15 +2003,6 @@
   }
 }
 
-JOW(void, VideoSource_stop)(JNIEnv* jni, jclass, jlong j_p) {
-  reinterpret_cast<VideoTrackSourceInterface*>(j_p)->Stop();
-}
-
-JOW(void, VideoSource_restart)(
-    JNIEnv* jni, jclass, jlong j_p_source, jlong j_p_format) {
-  reinterpret_cast<VideoTrackSourceInterface*>(j_p_source)->Restart();
-}
-
 JOW(jstring, MediaStreamTrack_nativeId)(JNIEnv* jni, jclass, jlong j_p) {
   return JavaStringFromStdString(
       jni, reinterpret_cast<MediaStreamTrackInterface*>(j_p)->id());
