summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2014-10-28 06:23:59 +0000
committerandroid-build-merger <android-build-merger@google.com>2014-10-28 06:23:59 +0000
commit2577b3c0d82fc24ff9ae586ea4e976442be7c21e (patch)
treea29b4030226a1d3c8cc4b02d4d6e2443d213cf27
parent47f644a22774ea8377e480032291386307e9052f (diff)
parente4c7a65140b5523325fd6ca86c196136fe183ee8 (diff)
downloadframeworks_base-2577b3c0d82fc24ff9ae586ea4e976442be7c21e.zip
frameworks_base-2577b3c0d82fc24ff9ae586ea4e976442be7c21e.tar.gz
frameworks_base-2577b3c0d82fc24ff9ae586ea4e976442be7c21e.tar.bz2
Merge "MediaCodec/Image: handle null cropRect correctly" into lmp-mr1-dev automerge: aab38b7
automerge: e4c7a65 * commit 'e4c7a65140b5523325fd6ca86c196136fe183ee8': MediaCodec/Image: handle null cropRect correctly
-rw-r--r--media/java/android/media/Image.java6
-rw-r--r--media/java/android/media/MediaCodec.java10
2 files changed, 10 insertions, 6 deletions
diff --git a/media/java/android/media/Image.java b/media/java/android/media/Image.java
index 522e45d..0d6b91a 100644
--- a/media/java/android/media/Image.java
+++ b/media/java/android/media/Image.java
@@ -146,8 +146,10 @@ public abstract class Image implements AutoCloseable {
* using coordinates in the largest-resolution plane.
*/
public void setCropRect(Rect cropRect) {
- cropRect = new Rect(cropRect); // make a copy
- cropRect.intersect(0, 0, getWidth(), getHeight());
+ if (cropRect != null) {
+ cropRect = new Rect(cropRect); // make a copy
+ cropRect.intersect(0, 0, getWidth(), getHeight());
+ }
mCropRect = cropRect;
}
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java
index 420510a..bdd62f2 100644
--- a/media/java/android/media/MediaCodec.java
+++ b/media/java/android/media/MediaCodec.java
@@ -1778,10 +1778,6 @@ final public class MediaCodec {
mIsValid = true;
mIsReadOnly = buffer.isReadOnly();
mBuffer = buffer.duplicate();
- if (cropRect != null) {
- cropRect.offset(-xOffset, -yOffset);
- }
- super.setCropRect(cropRect);
// save offsets and info
mXOffset = xOffset;
@@ -1833,6 +1829,12 @@ final public class MediaCodec {
throw new UnsupportedOperationException(
"unsupported info length: " + info.remaining());
}
+
+ if (cropRect == null) {
+ cropRect = new Rect(0, 0, mWidth, mHeight);
+ }
+ cropRect.offset(-xOffset, -yOffset);
+ super.setCropRect(cropRect);
}
private class MediaPlane extends Plane {