]> git.sesse.net Git - casparcg/blobdiff - core/producer/ffmpeg/input.h
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches...
[casparcg] / core / producer / ffmpeg / input.h
index d69f48e67080ea2efca2a7c6028d187ad59349ba..d610d9b52bb26a321e92488c364294deadd0d1b4 100644 (file)
@@ -1,27 +1,27 @@
 #pragma once\r
 \r
-#include "packet.h"\r
-\r
 #include <system_error>\r
-#include "../../frame/frame_fwd.h"\r
 \r
-namespace caspar{ namespace ffmpeg{    \r
+#include <tbb/cache_aligned_allocator.h>\r
+\r
+struct AVCodecContext;\r
+\r
+namespace caspar { namespace core { namespace ffmpeg{  \r
        \r
-typedef std::shared_ptr<AVFormatContext> AVFormatContextPtr;\r
+typedef std::vector<unsigned char, tbb::cache_aligned_allocator<unsigned char>> aligned_buffer;\r
 \r
 class input : boost::noncopyable\r
 {\r
 public:\r
-       input(const frame_format_desc& format_desc);\r
-       void load(const std::string& filename);\r
+       input(const std::string& filename);\r
+       ~input();\r
        const std::shared_ptr<AVCodecContext>& get_video_codec_context() const;\r
        const std::shared_ptr<AVCodecContext>& get_audio_codec_context() const;\r
 \r
-       video_packet_ptr get_video_packet();\r
-       audio_packet_ptr get_audio_packet();\r
+       aligned_buffer get_video_packet();\r
+       aligned_buffer get_audio_packet();\r
 \r
        bool seek(unsigned long long frame);\r
-       void start();\r
 \r
        bool is_eof() const;\r
        void set_loop(bool value);\r
@@ -33,4 +33,4 @@ typedef std::shared_ptr<input> input_ptr;
 typedef std::unique_ptr<input> input_uptr;\r
 \r
        }\r
-}\r
+}}\r