Fix error prone code in VideoCapturerAndroid

BUG=webrtc:5282

Review URL: https://codereview.webrtc.org/1486423003

Cr-Commit-Position: refs/heads/master@{#11046}
diff --git a/talk/app/webrtc/java/android/org/webrtc/CameraEnumerationAndroid.java b/talk/app/webrtc/java/android/org/webrtc/CameraEnumerationAndroid.java
index 32341a3..251bcac 100644
--- a/talk/app/webrtc/java/android/org/webrtc/CameraEnumerationAndroid.java
+++ b/talk/app/webrtc/java/android/org/webrtc/CameraEnumerationAndroid.java
@@ -113,14 +113,12 @@
       return width + "x" + height + "@[" + minFramerate + ":" + maxFramerate + "]";
     }
 
-    @Override
-    public boolean equals(Object that) {
-      if (!(that instanceof CaptureFormat)) {
+    public boolean isSameFormat(final CaptureFormat that) {
+      if (that == null) {
         return false;
       }
-      final CaptureFormat c = (CaptureFormat) that;
-      return width == c.width && height == c.height && maxFramerate == c.maxFramerate
-          && minFramerate == c.minFramerate;
+      return width == that.width && height == that.height && maxFramerate == that.maxFramerate
+          && minFramerate == that.minFramerate;
     }
   }
 
@@ -203,8 +201,9 @@
     return Collections.min(listFpsRange,
         new ClosestComparator<int[]>() {
           @Override int diff(int[] range) {
+            final int maxFpsWeight = 10;
             return range[android.hardware.Camera.Parameters.PREVIEW_FPS_MIN_INDEX]
-                + 10 * abs(framerate
+                + maxFpsWeight * abs(framerate
                     - range[android.hardware.Camera.Parameters.PREVIEW_FPS_MAX_INDEX]);
           }
      });
diff --git a/talk/app/webrtc/java/android/org/webrtc/VideoCapturerAndroid.java b/talk/app/webrtc/java/android/org/webrtc/VideoCapturerAndroid.java
index d85f2c5..caeb389 100644
--- a/talk/app/webrtc/java/android/org/webrtc/VideoCapturerAndroid.java
+++ b/talk/app/webrtc/java/android/org/webrtc/VideoCapturerAndroid.java
@@ -359,7 +359,7 @@
     videoBuffers = new FramePool(cameraThread);
     isCapturingToTexture = (sharedContext != null);
     cameraStatistics =
-        new CameraStatistics(isCapturingToTexture ? 1 : videoBuffers.numCaptureBuffers);
+        new CameraStatistics(isCapturingToTexture ? 1 : FramePool.NUMBER_OF_CAPTURE_BUFFERS);
     surfaceHelper = SurfaceTextureHelper.create(sharedContext, cameraThreadHandler);
     if (isCapturingToTexture) {
       surfaceHelper.setListener(this);
@@ -535,7 +535,7 @@
         range[android.hardware.Camera.Parameters.PREVIEW_FPS_MAX_INDEX]);
 
     // Check if we are already using this capture format, then we don't need to do anything.
-    if (captureFormat.equals(this.captureFormat)) {
+    if (captureFormat.isSameFormat(this.captureFormat)) {
       return;
     }
 
@@ -777,7 +777,7 @@
     // Arbitrary queue depth.  Higher number means more memory allocated & held,
     // lower number means more sensitivity to processing time in the client (and
     // potentially stalling the capturer if it runs out of buffers to write to).
-    public static final int numCaptureBuffers = 3;
+    public static final int NUMBER_OF_CAPTURE_BUFFERS = 3;
     // This container tracks the buffers added as camera callback buffers. It is needed for finding
     // the corresponding ByteBuffer given a byte[].
     private final Map<byte[], ByteBuffer> queuedBuffers = new IdentityHashMap<byte[], ByteBuffer>();
@@ -804,12 +804,12 @@
       this.frameSize = frameSize;
 
       queuedBuffers.clear();
-      for (int i = 0; i < numCaptureBuffers; ++i) {
+      for (int i = 0; i < NUMBER_OF_CAPTURE_BUFFERS; ++i) {
         final ByteBuffer buffer = ByteBuffer.allocateDirect(frameSize);
         camera.addCallbackBuffer(buffer.array());
         queuedBuffers.put(buffer.array(), buffer);
       }
-      Logging.d(TAG, "queueCameraBuffers enqueued " + numCaptureBuffers
+      Logging.d(TAG, "queueCameraBuffers enqueued " + NUMBER_OF_CAPTURE_BUFFERS
           + " buffers of size " + frameSize + ".");
     }