diff --git a/src/media/media_encoder.cpp b/src/media/media_encoder.cpp
index ba3243a6824259ac237075b4e935a422fd3531fa..a98cea2b19ab36d7e60fbc2964d9c79aece2d541 100644
--- a/src/media/media_encoder.cpp
+++ b/src/media/media_encoder.cpp
@@ -357,7 +357,7 @@ MediaEncoder::initStream(const SystemCodecInfo& systemCodecInfo, AVBufferRef* fr
         else if (scaledFrameBufferSize_ <= AV_INPUT_BUFFER_MIN_SIZE)
             throw MediaEncoderException("buffer too small");
 
-        scaledFrameBuffer_.reserve(scaledFrameBufferSize_);
+        scaledFrameBuffer_.resize(scaledFrameBufferSize_);
         scaledFrame_ = std::make_shared<VideoFrame>();
         scaledFrame_->setFromMemory(scaledFrameBuffer_.data(), format, width, height);
     }