]> git.sesse.net Git - casparcg/commitdiff
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches...
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sun, 23 Oct 2011 14:15:11 +0000 (14:15 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sun, 23 Oct 2011 14:15:11 +0000 (14:15 +0000)
modules/ffmpeg/producer/filter/filter.h
modules/ffmpeg/producer/frame_muxer.cpp

index 7570e4138747d3839fb011247ebbe0067e11588a..333722111607fb011618a79a408e27f3360106bd 100644 (file)
@@ -30,6 +30,11 @@ static bool is_deinterlacing(const std::wstring& filters)
        return false;\r
 }\r
 \r
+static std::wstring append_filter(std::wstring& filters, const std::wstring& filter)\r
+{\r
+       return filters = filters + (filters.empty() ? L"" : L",") + filter;\r
+}\r
+\r
 class filter : boost::noncopyable\r
 {\r
 public:\r
index 8ec482577c7b7f3ff4f063d1384a60ce292f7a54..24b0d3c18c7d537429251c0f0084d09d41ceef33 100644 (file)
@@ -295,9 +295,9 @@ struct frame_muxer2::implementation : public Concurrency::agent, boost::noncopya
                                        display_mode_ = display_mode::deinterlace_bob_reinterlace; // The frame will most likely be scaled, we need to deinterlace->reinterlace \r
                                \r
                                if(display_mode_ == display_mode::deinterlace)\r
-                                       filter_str_ += L"YADIF=0:-1";\r
+                                       append_filter(filter_str_, L"YADIF=0:-1");\r
                                else if(display_mode_ == display_mode::deinterlace_bob || display_mode_ == display_mode::deinterlace_bob_reinterlace)\r
-                                       filter_str_ += L"YADIF=1:-1";\r
+                                       append_filter(filter_str_, L"YADIF=1:-1");\r
                        }\r
                        else\r
                                display_mode_ = display_mode::simple;\r
@@ -310,7 +310,7 @@ struct frame_muxer2::implementation : public Concurrency::agent, boost::noncopya
 \r
                        // copy <= We need to release frames\r
                        if(display_mode_ != display_mode::simple && filter_str_.empty())\r
-                               filter_ = filter(L"copy")\r
+                               filter_str_ = L"copy"\r
 \r
                        filter_ = filter(filter_str_);\r
 \r