diff --git a/webrtc/sdk/android/BUILD.gn b/webrtc/sdk/android/BUILD.gn
index b08c46c..c06f3bc 100644
--- a/webrtc/sdk/android/BUILD.gn
+++ b/webrtc/sdk/android/BUILD.gn
@@ -131,14 +131,10 @@
     "api/org/webrtc/CallSessionFileRotatingLogSink.java",
     "api/org/webrtc/Camera1Capturer.java",
     "api/org/webrtc/Camera1Enumerator.java",
-    "api/org/webrtc/Camera1Session.java",
     "api/org/webrtc/Camera2Capturer.java",
     "api/org/webrtc/Camera2Enumerator.java",
-    "api/org/webrtc/Camera2Session.java",
-    "api/org/webrtc/CameraCapturer.java",
     "api/org/webrtc/CameraEnumerationAndroid.java",
     "api/org/webrtc/CameraEnumerator.java",
-    "api/org/webrtc/CameraSession.java",
     "api/org/webrtc/CameraVideoCapturer.java",
     "api/org/webrtc/DataChannel.java",
     "api/org/webrtc/DtmfSender.java",
@@ -181,6 +177,10 @@
     "api/org/webrtc/VideoSource.java",
     "api/org/webrtc/VideoTrack.java",
     "api/org/webrtc/YuvConverter.java",
+    "src/java/org/webrtc/Camera1Session.java",
+    "src/java/org/webrtc/Camera2Session.java",
+    "src/java/org/webrtc/CameraCapturer.java",
+    "src/java/org/webrtc/CameraSession.java",
   ]
 
   deps = [
diff --git a/webrtc/sdk/android/api/org/webrtc/Camera1Session.java b/webrtc/sdk/android/src/java/org/webrtc/Camera1Session.java
similarity index 99%
rename from webrtc/sdk/android/api/org/webrtc/Camera1Session.java
rename to webrtc/sdk/android/src/java/org/webrtc/Camera1Session.java
index 6946320..77faa50 100644
--- a/webrtc/sdk/android/api/org/webrtc/Camera1Session.java
+++ b/webrtc/sdk/android/src/java/org/webrtc/Camera1Session.java
@@ -22,7 +22,7 @@
 import org.webrtc.CameraEnumerationAndroid.CaptureFormat;
 
 @SuppressWarnings("deprecation")
-public class Camera1Session implements CameraSession {
+class Camera1Session implements CameraSession {
   private static final String TAG = "Camera1Session";
   private static final int NUMBER_OF_CAPTURE_BUFFERS = 3;
 
diff --git a/webrtc/sdk/android/api/org/webrtc/Camera2Session.java b/webrtc/sdk/android/src/java/org/webrtc/Camera2Session.java
similarity index 98%
rename from webrtc/sdk/android/api/org/webrtc/Camera2Session.java
rename to webrtc/sdk/android/src/java/org/webrtc/Camera2Session.java
index dfc6aa3..3279782 100644
--- a/webrtc/sdk/android/api/org/webrtc/Camera2Session.java
+++ b/webrtc/sdk/android/src/java/org/webrtc/Camera2Session.java
@@ -31,7 +31,7 @@
 import org.webrtc.CameraEnumerationAndroid.CaptureFormat;
 
 @TargetApi(21)
-public class Camera2Session implements CameraSession {
+class Camera2Session implements CameraSession {
   private static final String TAG = "Camera2Session";
 
   private static final Histogram camera2StartTimeMsHistogram =
@@ -167,7 +167,7 @@
         // Set auto exposure fps range.
         captureRequestBuilder.set(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE,
             new Range<Integer>(captureFormat.framerate.min / fpsUnitFactor,
-                                      captureFormat.framerate.max / fpsUnitFactor));
+                captureFormat.framerate.max / fpsUnitFactor));
         captureRequestBuilder.set(
             CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON);
         captureRequestBuilder.set(CaptureRequest.CONTROL_AE_LOCK, false);
diff --git a/webrtc/sdk/android/api/org/webrtc/CameraCapturer.java b/webrtc/sdk/android/src/java/org/webrtc/CameraCapturer.java
similarity index 99%
rename from webrtc/sdk/android/api/org/webrtc/CameraCapturer.java
rename to webrtc/sdk/android/src/java/org/webrtc/CameraCapturer.java
index e80b063..c3e8daa 100644
--- a/webrtc/sdk/android/api/org/webrtc/CameraCapturer.java
+++ b/webrtc/sdk/android/src/java/org/webrtc/CameraCapturer.java
@@ -16,7 +16,7 @@
 import java.util.Arrays;
 
 @SuppressWarnings("deprecation")
-public abstract class CameraCapturer implements CameraVideoCapturer {
+abstract class CameraCapturer implements CameraVideoCapturer {
   enum SwitchState {
     IDLE, // No switch requested.
     PENDING, // Waiting for previous capture session to open.
diff --git a/webrtc/sdk/android/api/org/webrtc/CameraSession.java b/webrtc/sdk/android/src/java/org/webrtc/CameraSession.java
similarity index 97%
rename from webrtc/sdk/android/api/org/webrtc/CameraSession.java
rename to webrtc/sdk/android/src/java/org/webrtc/CameraSession.java
index 4c28b2d..85be38e 100644
--- a/webrtc/sdk/android/api/org/webrtc/CameraSession.java
+++ b/webrtc/sdk/android/src/java/org/webrtc/CameraSession.java
@@ -10,7 +10,7 @@
 
 package org.webrtc;
 
-public interface CameraSession {
+interface CameraSession {
   enum FailureType { ERROR, DISCONNECTED }
 
   // Callbacks are fired on the camera thread.
