X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fffmpeg_decoder.h;h=339afbaef368a1b85def1b1039301ea94dd039e1;hb=5911030f411e104778ad2c3faca8c8cb7bdbc387;hp=ec822bf799fd78fa8f88fd61b9a4a67add9df770;hpb=068bb5b95652c022419c64f3d29cc42c4610ae93;p=dcpomatic.git diff --git a/src/lib/ffmpeg_decoder.h b/src/lib/ffmpeg_decoder.h index ec822bf79..339afbaef 100644 --- a/src/lib/ffmpeg_decoder.h +++ b/src/lib/ffmpeg_decoder.h @@ -39,6 +39,7 @@ struct AVFormatContext; struct AVFrame; struct AVBufferContext; struct AVCodec; +struct AVStream; class Job; class FilmState; class Options; @@ -64,6 +65,10 @@ 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; private: @@ -81,11 +86,16 @@ private: void maybe_add_subtitle (); + std::string stream_name (AVStream* s) const; + AVFormatContext* _format_context; int _video_stream; int _audio_stream; ///< may be < 0 if there is no audio int _subtitle_stream; ///< may be < 0 if there is no subtitle AVFrame* _frame; + + std::vector _audio_streams; + std::vector _subtitle_streams; AVCodecContext* _video_codec_context; AVCodec* _video_codec;