]> git.sesse.net Git - casparcg/blobdiff - modules/ffmpeg/producer/frame_muxer.h
2.0.1: ffmpeg: Replaced TBB implementation with better Concurrency Runtime based...
[casparcg] / modules / ffmpeg / producer / frame_muxer.h
index 8aa79834c0ce2f081d1ec9f8289bd440591e8ceb..8c43ff5b2ab1e6b704f07b5736542dc3d25411e7 100644 (file)
@@ -6,6 +6,7 @@
 \r
 #include <boost/noncopyable.hpp>\r
 \r
+#include <agents.h>\r
 #include <vector>\r
 \r
 struct AVFrame;\r
@@ -46,4 +47,26 @@ private:
        safe_ptr<implementation> impl_;\r
 };\r
 \r
+class frame_muxer2 : boost::noncopyable\r
+{\r
+public:\r
+       \r
+       typedef Concurrency::ISource<bool>                                                                      token_t;\r
+       typedef Concurrency::ISource<std::shared_ptr<AVFrame>>                          video_source_t;\r
+       typedef Concurrency::ISource<std::shared_ptr<core::audio_buffer>>       audio_source_t;\r
+       typedef Concurrency::ITarget<std::shared_ptr<core::basic_frame>>        target_t;\r
+\r
+       frame_muxer2(token_t& active_token,\r
+                                video_source_t& video_source,\r
+                                audio_source_t& audio_source, \r
+                                target_t& target,\r
+                                double in_fps, \r
+                                const safe_ptr<core::frame_factory>& frame_factory);\r
+       \r
+       int64_t calc_nb_frames(int64_t nb_frames) const;\r
+private:\r
+       struct implementation;\r
+       safe_ptr<implementation> impl_;\r
+};\r
+\r
 }}
\ No newline at end of file