Notify surfaceflinger about (changes to) the crop rectangle output by the decoder.
Change-Id: I9c33618dd3351be1ecadcc7d0329654ea50bad3f
related-to-bug: 3153626
diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp
index 0d8abe2..ce48d1c 100644
--- a/media/libstagefright/OMXCodec.cpp
+++ b/media/libstagefright/OMXCodec.cpp
@@ -2109,6 +2109,17 @@
CODEC_LOGV(
"output crop (%ld, %ld, %ld, %ld)",
rect.nLeft, rect.nTop, rect.nWidth, rect.nHeight);
+
+ if (mNativeWindow != NULL) {
+ android_native_rect_t crop;
+ crop.left = rect.nLeft;
+ crop.top = rect.nTop;
+ crop.right = crop.left + rect.nWidth - 1;
+ crop.bottom = crop.top + rect.nHeight - 1;
+
+ CHECK_EQ(0, native_window_set_crop(
+ mNativeWindow.get(), &crop));
+ }
} else {
CODEC_LOGE("getConfig(OMX_IndexConfigCommonOutputCrop) "
"returned error 0x%08x", err);