Merge "MTP: Fix file descriptor leak in file editing extensions"
diff --git a/include/camera/CameraParameters.h b/include/camera/CameraParameters.h
index e272839..db81721 100644
--- a/include/camera/CameraParameters.h
+++ b/include/camera/CameraParameters.h
@@ -265,11 +265,12 @@
     // (-1000,-1000) is the upper left point. (1000, 1000) is the lower right
     // point. The length and width of focus areas cannot be 0 or negative.
     //
-    // The fifth element is the weight. The weight ranges from 1 to 1000.
-    // The sum of the weights of all focus areas must be 1000. Focus areas
-    // can partially overlap and the driver will add the weights in the
-    // overlap region. But apps should not set two focus areas that have
-    // identical coordinates.
+    // The fifth element is the weight. Values for weight must range from 1 to
+    // 1000.  The weight should be interpreted as a per-pixel weight - all
+    // pixels in the area have the specified weight. This means a small area
+    // with the same weight as a larger area will have less influence on the
+    // focusing than the larger area. Focus areas can partially overlap and the
+    // driver will add the weights in the overlap region.
     //
     // A special case of single focus area (0,0,0,0,0) means driver to decide
     // the focus area. For example, the driver may use more signals to decide
@@ -327,10 +328,12 @@
     // is the lower right point. The length and width of metering areas cannot
     // be 0 or negative.
     //
-    // The weight ranges from 1 to 1000. The sum of the weights of all metering
-    // areas must be 1000. Metering areas can partially overlap and the driver
-    // will add the weights in the overlap region. But apps should not set two
-    // metering areas that have identical coordinates.
+    // The fifth element is the weight. Values for weight must range from 1 to
+    // 1000.  The weight should be interpreted as a per-pixel weight - all
+    // pixels in the area have the specified weight. This means a small area
+    // with the same weight as a larger area will have less influence on the
+    // metering than the larger area. Metering areas can partially overlap and
+    // the driver will add the weights in the overlap region.
     //
     // A special case of all-zero single metering area means driver to decide
     // the metering area. For example, the driver may use more signals to decide
diff --git a/media/libmedia/IMediaPlayer.cpp b/media/libmedia/IMediaPlayer.cpp
index 2399216..8885bd5 100644
--- a/media/libmedia/IMediaPlayer.cpp
+++ b/media/libmedia/IMediaPlayer.cpp
@@ -192,8 +192,9 @@
     }
 
     status_t invoke(const Parcel& request, Parcel *reply)
-    { // Avoid doing any extra copy. The interface descriptor should
-      // have been set by MediaPlayer.java.
+    {
+        // Avoid doing any extra copy. The interface descriptor should
+        // have been set by MediaPlayer.java.
         return remote()->transact(INVOKE, request, reply);
     }
 
@@ -334,8 +335,8 @@
         } break;
         case INVOKE: {
             CHECK_INTERFACE(IMediaPlayer, data, reply);
-            invoke(data, reply);
-            return NO_ERROR;
+            status_t result = invoke(data, reply);
+            return result;
         } break;
         case SET_METADATA_FILTER: {
             CHECK_INTERFACE(IMediaPlayer, data, reply);