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