X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fffmpeg_decoder.h;h=f54ee2496fa0479fcdcea793e576568bd1452073;hb=ea910e250a0fb3b0ad3ce0cf32dd27b24c17cd1d;hp=e3aa484d1a18673be645298d811d338decd4d338;hpb=293583097f7b25e481f0898f13c62c10aac33719;p=dcpomatic.git diff --git a/src/lib/ffmpeg_decoder.h b/src/lib/ffmpeg_decoder.h index e3aa484d1..f54ee2496 100644 --- a/src/lib/ffmpeg_decoder.h +++ b/src/lib/ffmpeg_decoder.h @@ -52,7 +52,7 @@ public: ~FFmpegDecoder (); void pass (); - void seek (VideoContent::Frame, bool); + void seek (Time time, bool); bool done () const; private: @@ -60,6 +60,8 @@ private: static double compute_pts_offset (double, double, float); + void flush (); + void setup_subtitle (); AVSampleFormat audio_sample_format () const; @@ -72,6 +74,11 @@ private: void maybe_add_subtitle (); boost::shared_ptr deinterleave_audio (uint8_t** data, int size); + bool seek_overrun_finished (Time) const; + bool seek_final_finished (int, int) const; + int minimal_run (boost::function); + void seek_and_flush (int64_t); + AVCodecContext* _subtitle_codec_context; ///< may be 0 if there is no subtitle AVCodec* _subtitle_codec; ///< may be 0 if there is no subtitle