From 5466918d97f614bcb29fb7ad93ba0b2ddec6cc89 Mon Sep 17 00:00:00 2001 From: Ronag Date: Sun, 21 Aug 2011 14:10:47 +0000 Subject: [PATCH] git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0.0.2@1249 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d --- core/mixer/mixer.cpp | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/core/mixer/mixer.cpp b/core/mixer/mixer.cpp index 9041b2803..d793d585d 100644 --- a/core/mixer/mixer.cpp +++ b/core/mixer/mixer.cpp @@ -118,35 +118,21 @@ public: { auto blend_it = blend_modes_.find(frame.first); image_mixer_.begin_layer(blend_it != blend_modes_.end() ? blend_it->second : blend_mode::normal); + + auto frame1 = make_safe(frame.second); + frame1->get_frame_transform() = transforms_[frame.first].fetch_and_tick(1); if(channel_.get_format_desc().field_mode != core::field_mode::progressive) - { - auto frame1 = make_safe(frame.second); - frame1->get_frame_transform() = transforms_[frame.first].fetch_and_tick(1); - + { auto frame2 = make_safe(frame.second); frame2->get_frame_transform() = transforms_[frame.first].fetch_and_tick(1); if(frame1->get_frame_transform() != frame2->get_frame_transform()) - frame2 = core::basic_frame::interlace(frame1, frame2, channel_.get_format_desc().field_mode); - - frame2->accept(audio_mixer_); - frame2->accept(image_mixer_); - } - else - { - auto frame2 = make_safe(frame.second); - frame2->get_frame_transform() = transforms_[frame.first].fetch_and_tick(1); - - // Audio - frame2->accept(audio_mixer_); - - // Video - auto blend_it = blend_modes_.find(frame.first); - image_mixer_.begin_layer(blend_it != blend_modes_.end() ? blend_it->second : blend_mode::normal); - - frame2->accept(image_mixer_); + frame1 = core::basic_frame::interlace(frame1, frame2, channel_.get_format_desc().field_mode); } + + frame1->accept(audio_mixer_); + frame1->accept(image_mixer_); image_mixer_.end_layer(); } -- 2.39.2