diff --git a/c2_components/src/mfx_c2_decoder_component.cpp b/c2_components/src/mfx_c2_decoder_component.cpp index 19e186f..4760786 100755 --- a/c2_components/src/mfx_c2_decoder_component.cpp +++ b/c2_components/src/mfx_c2_decoder_component.cpp @@ -1260,11 +1260,15 @@ mfxStatus MfxC2DecoderComponent::InitDecoder(std::shared_ptr c2_all uint64_t usage, igbp_id; android::_UnwrapNativeCodec2GrallocMetadata(out_block->handle(), &width, &height, &format, &usage, &stride, &generation, &igbp_id, &igbp_slot); +// For android 15, it's using IGBA instead of BQ, we can not check if +// surface is allocated by IGBA by igbp_id and igbp_slot +#if PLATFORM_SDK_VERSION <= 34 if ((!igbp_id && !igbp_slot) || (!igbp_id && igbp_slot == 0xffffffff)) { // No surface & BQ m_mfxVideoParams.IOPattern = MFX_IOPATTERN_OUT_SYSTEM_MEMORY; } +#endif } }