From 2b2412e45f7e83f82240abdb4a3198724e04ae6f Mon Sep 17 00:00:00 2001
From: ayounes <amine.younes-bouacida@savoirfairelinux.com>
Date: Thu, 9 Jan 2020 16:16:55 -0500
Subject: [PATCH] video: copy the frame props

+ Save the frame props on Scale or Copy

Change-Id: I816de4400392da13d3068609bd432a6918bfc81d
---
 src/client/videomanager.cpp      | 5 ++++-
 src/media/video/video_scaler.cpp | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/client/videomanager.cpp b/src/client/videomanager.cpp
index 672283b8c1..7f7f5a2145 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 66fa2c42d7..19ee85a579 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;
 }
 
-- 
GitLab