diff options
author | Lajos Molnar <lajos@google.com> | 2014-10-28 06:23:59 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2014-10-28 06:23:59 +0000 |
commit | 2577b3c0d82fc24ff9ae586ea4e976442be7c21e (patch) | |
tree | a29b4030226a1d3c8cc4b02d4d6e2443d213cf27 | |
parent | 47f644a22774ea8377e480032291386307e9052f (diff) | |
parent | e4c7a65140b5523325fd6ca86c196136fe183ee8 (diff) | |
download | frameworks_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.java | 6 | ||||
-rw-r--r-- | media/java/android/media/MediaCodec.java | 10 |
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 { |