]> git.sesse.net Git - casparcg/blobdiff - core/mixer/mixer.cpp
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches...
[casparcg] / core / mixer / mixer.cpp
index 9041b2803ad7ab30c82d626bc71e15812b74fd84..d793d585d5ef33c73b95167d61a256d000989f3c 100644 (file)
@@ -118,35 +118,21 @@ public:
                        {\r
                                auto blend_it = blend_modes_.find(frame.first);\r
                                image_mixer_.begin_layer(blend_it != blend_modes_.end() ? blend_it->second : blend_mode::normal);\r
+                               \r
+                               auto frame1 = make_safe<core::basic_frame>(frame.second);\r
+                               frame1->get_frame_transform() = transforms_[frame.first].fetch_and_tick(1);\r
 \r
                                if(channel_.get_format_desc().field_mode != core::field_mode::progressive)\r
-                               {\r
-                                       auto frame1 = make_safe<core::basic_frame>(frame.second);\r
-                                       frame1->get_frame_transform() = transforms_[frame.first].fetch_and_tick(1);\r
-                               \r
+                               {                               \r
                                        auto frame2 = make_safe<core::basic_frame>(frame.second);\r
                                        frame2->get_frame_transform() = transforms_[frame.first].fetch_and_tick(1);\r
                                                \r
                                        if(frame1->get_frame_transform() != frame2->get_frame_transform())\r
-                                               frame2 = core::basic_frame::interlace(frame1, frame2, channel_.get_format_desc().field_mode);\r
-\r
-                                       frame2->accept(audio_mixer_);                                   \r
-                                       frame2->accept(image_mixer_);\r
-                               }\r
-                               else\r
-                               {\r
-                                       auto frame2 = make_safe<core::basic_frame>(frame.second);\r
-                                       frame2->get_frame_transform() = transforms_[frame.first].fetch_and_tick(1);\r
-                                       \r
-                                       // Audio\r
-                                       frame2->accept(audio_mixer_);\r
-\r
-                                       // Video\r
-                                       auto blend_it = blend_modes_.find(frame.first);\r
-                                       image_mixer_.begin_layer(blend_it != blend_modes_.end() ? blend_it->second : blend_mode::normal);\r
-                                       \r
-                                       frame2->accept(image_mixer_);\r
+                                               frame1 = core::basic_frame::interlace(frame1, frame2, channel_.get_format_desc().field_mode);\r
                                }\r
+                                                                       \r
+                               frame1->accept(audio_mixer_);                                   \r
+                               frame1->accept(image_mixer_);\r
 \r
                                image_mixer_.end_layer();\r
                        }\r