Merge "Make a copy of output format in onOutputFormatChanged"

gugelfrei
TreeHugger Robot 5 years ago committed by Android (Google) Code Review
commit f73f877182

@ -221,7 +221,13 @@ void CodecHandler::onMessageReceived(const sp<AMessage> &msg) {
break;
}
AMediaFormat *aMediaFormat = AMediaFormat_fromMsg(&format);
// Here format is MediaCodec's internal copy of output format.
// Make a copy since the client might modify it.
sp<AMessage> copy;
if (format != nullptr) {
copy = format->dup();
}
AMediaFormat *aMediaFormat = AMediaFormat_fromMsg(&copy);
Mutex::Autolock _l(mCodec->mAsyncCallbackLock);
if (mCodec->mAsyncCallbackUserData != NULL

@ -1671,8 +1671,13 @@ void HeicCompositeStream::CodecCallbackHandler::onMessageReceived(const sp<AMess
ALOGE("CB_OUTPUT_FORMAT_CHANGED: format is expected.");
break;
}
parent->onHeicFormatChanged(format);
// Here format is MediaCodec's internal copy of output format.
// Make a copy since onHeicFormatChanged() might modify it.
sp<AMessage> formatCopy;
if (format != nullptr) {
formatCopy = format->dup();
}
parent->onHeicFormatChanged(formatCopy);
break;
}

Loading…
Cancel
Save