diff --git a/src/media/media_encoder.cpp b/src/media/media_encoder.cpp
index 14a47efba3ec16cf9e0257cc7461bc322741de4f..0e38a413f902ba10dd97add85a38afe564aceff1 100644
--- a/src/media/media_encoder.cpp
+++ b/src/media/media_encoder.cpp
@@ -52,7 +52,8 @@ MediaEncoder::MediaEncoder()
 MediaEncoder::~MediaEncoder()
 {
     if (outputCtx_) {
-        av_write_trailer(outputCtx_);
+        if (outputCtx_->priv_data)
+            av_write_trailer(outputCtx_);
         for (auto encoderCtx : encoders_) {
             if (encoderCtx) {
 #ifndef _MSC_VER