diff --git a/src/media/media_decoder.cpp b/src/media/media_decoder.cpp index bd8c456dac9765de68c3ee4440435722585526c0..284f2555d18b34785de7b3bfb1e998fc3cbf2f19 100644 --- a/src/media/media_decoder.cpp +++ b/src/media/media_decoder.cpp @@ -242,7 +242,11 @@ MediaDecoder::setupStream(AVMediaType mediaType) #endif JAMI_DBG() << "Decoding " << streamType << " using " << inputDecoder_->long_name << " (" << inputDecoder_->name << ")"; - decoderCtx_->err_recognition = (AV_EF_CRCCHECK | AV_EF_BITSTREAM | AV_EF_BUFFER | AV_EF_EXPLODE | AV_EF_CAREFUL | AV_EF_COMPLIANT | AV_EF_AGGRESSIVE); + + decoderCtx_->err_recognition = (AV_EF_CRCCHECK | AV_EF_BITSTREAM | AV_EF_BUFFER | AV_EF_CAREFUL | AV_EF_COMPLIANT | AV_EF_AGGRESSIVE); + if(inputDecoder_->id != AV_CODEC_ID_MPEG4) + decoderCtx_->err_recognition |= AV_EF_EXPLODE; + ret = avcodec_open2(decoderCtx_, inputDecoder_, nullptr); if (ret < 0) { JAMI_ERR() << "Could not open codec: " << libav_utils::getError(ret);