VT: Rx side of CVO implementation to CCodec.
[Problem] video rotation is not working with CCodec in VT scenario.
[Cause] video rotation should be applied if cvo exists in
meta() of MediaCodecBuffer.
[Solution] C2StreamRotationInfo of outputbuffer will be updated
if cvo exist in inputbuffer.
Bug: 167935079
Signed-off-by: Byeongjo Park <bjo.park@samsung.com>
Change-Id: Ib03bde00cefbeb4ac6ea4ea9eff150c686780c38
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
index 8628edc..5b60bbf 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
@@ -746,9 +746,15 @@
mOutputBuffers.editItemAt(index) = buffer;
+ int64_t frameIndex;
+ bool frameIndexFound = buffer->meta()->findInt64("frameIndex", &frameIndex);
+
buffer->setRange(offset, size);
buffer->meta()->clear();
buffer->meta()->setInt64("timeUs", timeUs);
+ if (frameIndexFound) {
+ buffer->meta()->setInt64("frameIndex", frameIndex);
+ }
bool eos = flags & MediaCodec::BUFFER_FLAG_EOS;
// we do not expect CODECCONFIG or SYNCFRAME for decoder