3 #include <common/diagnostics/graph.h>
\r
4 #include <common/utility/printer.h>
\r
6 #include <tbb/cache_aligned_allocator.h>
\r
11 struct AVCodecContext;
\r
15 typedef std::vector<unsigned char, tbb::cache_aligned_allocator<unsigned char>> aligned_buffer;
\r
17 class input : boost::noncopyable
\r
20 explicit input(const safe_ptr<diagnostics::graph>& graph, const std::wstring& filename, bool loop, const printer& parent_printer);
\r
21 const std::shared_ptr<AVCodecContext>& get_video_codec_context() const;
\r
22 const std::shared_ptr<AVCodecContext>& get_audio_codec_context() const;
\r
24 aligned_buffer get_video_packet();
\r
25 aligned_buffer get_audio_packet();
\r
27 bool is_eof() const;
\r
30 struct implementation;
\r
31 std::shared_ptr<implementation> impl_;
\r