#ifndef FFMPEG_DECODER_H #define FFMPEG_DECODER_H #include "decoder.h" // needed for UINT64_C in libavutil #include extern "C" { #include #include } class DecoderFFmpeg : public Decoder { private: AVFormatContext* lavf_ctx; AVCodecContext* lavc_ctx; AVCodec* codec; char *temp_buffer; std::size_t temp_buffer_size; std::size_t temp_buffer_pos; public: DecoderFFmpeg(const std::string& filename); ~DecoderFFmpeg(); virtual std::size_t read(char* buf, std::size_t buf_size); }; #endif