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;
 }