diff --git a/src/client/videomanager.cpp b/src/client/videomanager.cpp
index 672283b8c1ec8992a5a80b17003f2694df1001c1..7f7f5a21457abe342baa4289e71eeb5049ff6145 100644
--- a/src/client/videomanager.cpp
+++ b/src/client/videomanager.cpp
@@ -67,8 +67,11 @@ void
 MediaFrame::copyFrom(const MediaFrame& o)
 {
     reset();
-    if (o.frame_)
+    if (o.frame_) {
         av_frame_ref(frame_.get(), o.frame_.get());
+        av_frame_copy_props(frame_.get(), o.frame_.get());
+    }
+
     if (o.packet_) {
         packet_.reset(av_packet_alloc());
         av_packet_ref(packet_.get(), o.packet_.get());
diff --git a/src/media/video/video_scaler.cpp b/src/media/video/video_scaler.cpp
index 66fa2c42d7dde1a14137782c8997190f78faaf9a..19ee85a579341391631c9275f8dd12d2a314a514 100644
--- a/src/media/video/video_scaler.cpp
+++ b/src/media/video/video_scaler.cpp
@@ -150,6 +150,7 @@ VideoScaler::convertFormat(const VideoFrame& input, AVPixelFormat pix)
     auto output = std::make_unique<VideoFrame>();
     output->reserve(pix, input.width(), input.height());
     scale(input, *output);
+    av_frame_copy_props(output->pointer(), input.pointer());
     return output;
 }