summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-11-01 16:01:05 -0700
committerAndreas Huber <andih@google.com>2010-11-01 16:01:05 -0700
commit5145d67e7738681af6971748fa77b5eb32ab2302 (patch)
treeada57657972f211e0845350d934ed8f4dd25b9a0 /media
parent614d22c7f6d5abae8434d2e83f1c7d10c534b43c (diff)
downloadframeworks_base-5145d67e7738681af6971748fa77b5eb32ab2302.zip
frameworks_base-5145d67e7738681af6971748fa77b5eb32ab2302.tar.gz
frameworks_base-5145d67e7738681af6971748fa77b5eb32ab2302.tar.bz2
Notify surfaceflinger about (changes to) the crop rectangle output by the decoder.
Change-Id: I9c33618dd3351be1ecadcc7d0329654ea50bad3f related-to-bug: 3153626
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/OMXCodec.cpp11
1 files changed, 11 insertions, 0 deletions
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 @@ void OMXCodec::onEvent(OMX_EVENTTYPE event, OMX_U32 data1, OMX_U32 data2) {
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);