diff options
author | Andreas Huber <andih@google.com> | 2010-11-01 16:01:05 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2010-11-01 16:01:05 -0700 |
commit | 5145d67e7738681af6971748fa77b5eb32ab2302 (patch) | |
tree | ada57657972f211e0845350d934ed8f4dd25b9a0 /media | |
parent | 614d22c7f6d5abae8434d2e83f1c7d10c534b43c (diff) | |
download | frameworks_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.cpp | 11 |
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); |