Merge "MediaCodec: Pass missing C2Info for MediaCodecLinearBlock." am: 338f4e1d6f am: 1a7e46dbfb

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1517717

Change-Id: I3271d671e70cd926f504684da21d95a575dd2919
This commit is contained in:
Treehugger Robot
2020-12-05 02:20:34 +00:00
committed by Automerger Merge Worker

View File

@@ -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{}));