diff --git a/src/media/audio/ringbufferpool.cpp b/src/media/audio/ringbufferpool.cpp
index 8817fb1bb551ba44cc11b7ccc8efc35ca5b4cf47..ef01ce3f941336a80332e8cc297a4cdc61d1ec52 100644
--- a/src/media/audio/ringbufferpool.cpp
+++ b/src/media/audio/ringbufferpool.cpp
@@ -70,6 +70,9 @@ RingBufferPool::setInternalAudioFormat(AudioFormat format)
     if (format != internalAudioFormat_) {
         flushAllBuffers();
         internalAudioFormat_ = format;
+        for (auto& wrb : ringBufferMap_)
+            if (auto rb = wrb.second.lock())
+                rb->setFormat(internalAudioFormat_);
     }
 }