summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2020-12-05 01:05:09 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2020-12-05 01:05:09 +0000
commit338f4e1d6f24e5b45b65d7e9d94ef3dc1bf2feb2 (patch)
tree4a2c31362c4e87f83fc17b64ebe5b8e19dca4104
parent1c6283339ae734406d1cbc4f3eb697bcb440bd7e (diff)
parent73b682f61e8e9d25b4df9d9ebae476d593ec9cb8 (diff)
Merge "MediaCodec: Pass missing C2Info for MediaCodecLinearBlock."
-rw-r--r--media/jni/android_media_MediaCodecLinearBlock.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/media/jni/android_media_MediaCodecLinearBlock.h b/media/jni/android_media_MediaCodecLinearBlock.h
index 8f1d2fa35d70..ae2d3a264abc 100644
--- a/media/jni/android_media_MediaCodecLinearBlock.h
+++ b/media/jni/android_media_MediaCodecLinearBlock.h
@@ -49,7 +49,14 @@ struct JMediaCodecLinearBlock {
if (offset == 0 && size == block.capacity()) {
return mBuffer;
}
- return C2Buffer::CreateLinearBuffer(block.subBlock(offset, size));
+
+ std::shared_ptr<C2Buffer> buffer =
+ C2Buffer::CreateLinearBuffer(block.subBlock(offset, size));
+ for (const std::shared_ptr<const C2Info> &info : mBuffer->info()) {
+ std::shared_ptr<C2Param> param = std::move(C2Param::Copy(*info));
+ buffer->setInfo(std::static_pointer_cast<C2Info>(param));
+ }
+ return buffer;
}
if (mBlock) {
return C2Buffer::CreateLinearBuffer(mBlock->share(offset, size, C2Fence{}));