X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fffmpeg_decoder.h;h=26b5d69792f42084d8b72cbad9c6cac5415e6282;hb=44b57d623dec97a3f9955082f0b8a7a8d27b7518;hp=0d256b37e4b0152237c605744589f0f302ae95e2;hpb=d23ced341f50f47759e75260d706c06c0cb74046;p=dcpomatic.git diff --git a/src/lib/ffmpeg_decoder.h b/src/lib/ffmpeg_decoder.h index 0d256b37e..26b5d6979 100644 --- a/src/lib/ffmpeg_decoder.h +++ b/src/lib/ffmpeg_decoder.h @@ -25,6 +25,7 @@ #include #include #include +#include extern "C" { #include #include @@ -56,8 +57,6 @@ public: ~FFmpegDecoder (); /* Methods to query our input video */ - int length_in_frames () const; - int decoding_frames () const; float frames_per_second () const; Size native_size () const; int audio_channels () const; @@ -65,13 +64,9 @@ public: AVSampleFormat audio_sample_format () const; int64_t audio_channel_layout () const; bool has_subtitles () const; - int bytes_per_audio_sample () const; - std::vector audio_streams () const; - std::vector subtitle_streams () const; - - void set_audio_stream (int id); - void set_subtitle_stream (int id); + std::vector audio_streams () const; + std::vector subtitle_streams () const; private: @@ -97,8 +92,8 @@ private: int _subtitle_stream; ///< may be < 0 if there is no subtitle AVFrame* _frame; - std::vector _audio_streams; - std::vector _subtitle_streams; + std::vector _audio_streams; + std::vector _subtitle_streams; AVCodecContext* _video_codec_context; AVCodec* _video_codec; @@ -108,4 +103,7 @@ private: AVCodec* _subtitle_codec; ///< may be 0 if there is no subtitle AVPacket _packet; + + boost::optional _first_video; + boost::optional _first_audio; };