diff --git a/src/client/videomanager.cpp b/src/client/videomanager.cpp
index cbf2f1dab1d9fd3ba2106f20e5bf92c6c076657a..a0a93751e7b895df076994b478834f8a07910e32 100644
--- a/src/client/videomanager.cpp
+++ b/src/client/videomanager.cpp
@@ -35,6 +35,7 @@
 #include "client/ring_signal.h"
 #include "audio/ringbufferpool.h"
 #include "dring/media_const.h"
+#include "libav_utils.h"
 
 #include <functional>
 #include <memory>
@@ -108,6 +109,7 @@ AudioFrame::mix(const AudioFrame& frame)
     }
     if (f.nb_samples == 0) {
         reserve(fIn.nb_samples);
+        ring::libav_utils::fillWithSilence(&f);
     } else if (f.nb_samples != fIn.nb_samples) {
         throw std::invalid_argument("Can't mix frames with different length");
     }
diff --git a/src/media/libav_deps.h b/src/media/libav_deps.h
index a835996d0179b28e487f55b0785467307f8f7028..add322d167ce7553f7a8607b03048fc0be1c6089 100644
--- a/src/media/libav_deps.h
+++ b/src/media/libav_deps.h
@@ -38,6 +38,7 @@ extern "C" {
 #include <libavutil/imgutils.h>
 #include <libavutil/intreadwrite.h>
 #include <libavutil/log.h>
+#include <libavutil/samplefmt.h>
 }
 
 #include "libav_utils.h"
diff --git a/src/media/libav_utils.cpp b/src/media/libav_utils.cpp
index e963921f7530b445ea1097e5b51a57bb88df85bc..cdb82a742083b924dcbc2c04b91692a39225de1e 100644
--- a/src/media/libav_utils.cpp
+++ b/src/media/libav_utils.cpp
@@ -222,4 +222,12 @@ fillWithBlack(AVFrame* frame)
     }
 }
 
+void
+fillWithSilence(AVFrame* frame)
+{
+    int ret = av_samples_set_silence(frame->extended_data, 0, frame->nb_samples, frame->channels, (AVSampleFormat)frame->format);
+    if (ret < 0)
+        RING_ERR() << "Failed to fill frame with silence";
+}
+
 }} // namespace ring::libav_utils
diff --git a/src/media/libav_utils.h b/src/media/libav_utils.h
index d61c7b08d757ac484e14b4c62752666820294e75..79bb356a7797405e39bca124acc61021ecc8323d 100644
--- a/src/media/libav_utils.h
+++ b/src/media/libav_utils.h
@@ -47,4 +47,6 @@ namespace ring { namespace libav_utils {
 
     void fillWithBlack(AVFrame* frame);
 
+    void fillWithSilence(AVFrame* frame);
+
 }} // namespace ring::libav_utils