From 2207a915a6a239928326551ab43b8d5e04878244 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Tue, 23 Jun 2020 05:15:48 +1000 Subject: [PATCH] viewernode: check if timebase/size have actually changed before signalling Minor optimization. --- app/node/output/viewer/viewer.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/app/node/output/viewer/viewer.cpp b/app/node/output/viewer/viewer.cpp index 8078ade32..45fd6b23d 100644 --- a/app/node/output/viewer/viewer.cpp +++ b/app/node/output/viewer/viewer.cpp @@ -129,12 +129,20 @@ void ViewerOutput::InvalidateCache(const TimeRange &range, NodeInput *from, Node void ViewerOutput::set_video_params(const VideoParams &video) { + bool size_changed = video_params_.width() != video.width() || video_params_.height() != video.height(); + bool timebase_changed = video_params_.time_base() != video.time_base(); + video_params_ = video; - video_frame_cache_.SetTimebase(video_params_.time_base()); + if (size_changed) { + emit SizeChanged(video_params_.width(), video_params_.height()); + } + + if (timebase_changed) { + video_frame_cache_.SetTimebase(video_params_.time_base()); + emit TimebaseChanged(video_params_.time_base()); + } - emit SizeChanged(video_params_.width(), video_params_.height()); - emit TimebaseChanged(video_params_.time_base()); emit ParamsChanged(); }