diff --git a/src/media/media_decoder.cpp b/src/media/media_decoder.cpp index 05f208dea99f49a21905a9fbc358e660a916749a..24c61e9dfb8327f8aff0c8c8552b33d87d3f97d9 100644 --- a/src/media/media_decoder.cpp +++ b/src/media/media_decoder.cpp @@ -526,6 +526,11 @@ MediaDecoder::prepareDecoderContext() if (decoderCtx_->framerate.num == 0 || decoderCtx_->framerate.den == 0) decoderCtx_->framerate = {30, 1}; } + if (avStream_->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { + if (decoderCtx_->codec_id == AV_CODEC_ID_OPUS) { + av_opt_set_int(decoderCtx_, "decode_fec", 1, AV_OPT_SEARCH_CHILDREN); + } + } return 0; }