codec2: check a validation of HDR static info
CCodecConfig always adds C2StreamHdrStaticInfo::output as a local param
in DECODER case.
it causes CCodecBufferChannel misunderstand
although HDR static info is invalid and,
then, invalid info is set to gralloc via SetHdrMetadataToGralloc4Handle().
so, check a validation of HDR static info and
clear hdrStaticInfo when it is invalid.
Change-Id: I713aee3ee9c97e17c92a4c3790caad9c83fe382f
Signed-off-by: Taehwan Kim <t_h.kim@samsung.com>
diff --git a/media/codec2/sfplugin/CCodecBufferChannel.cpp b/media/codec2/sfplugin/CCodecBufferChannel.cpp
index 99aa593..5546bd2 100644
--- a/media/codec2/sfplugin/CCodecBufferChannel.cpp
+++ b/media/codec2/sfplugin/CCodecBufferChannel.cpp
@@ -924,6 +924,11 @@
hdr.validTypes |= HdrMetadata::CTA861_3;
hdr.cta8613 = cta861_meta;
}
+
+ // does not have valid info
+ if (!(hdr.validTypes & (HdrMetadata::SMPTE2086 | HdrMetadata::CTA861_3))) {
+ hdrStaticInfo.reset();
+ }
}
if (hdrDynamicInfo
&& hdrDynamicInfo->m.type_ == C2Config::HDR_DYNAMIC_METADATA_TYPE_SMPTE_2094_40) {