class VideoFilterGraph;
class FFmpegAudioStream;
class AudioBuffers;
+class Image;
struct ffmpeg_pts_offset_test;
/** @class FFmpegDecoder
public:
FFmpegDecoder (boost::shared_ptr<const FFmpegContent>, boost::shared_ptr<Log>);
- void pass ();
+ bool pass ();
void seek (ContentTime time, bool);
private:
void decode_audio_packet ();
void decode_subtitle_packet ();
- void decode_bitmap_subtitle (AVSubtitleRect const * rect, ContentTimePeriod period);
- void decode_ass_subtitle (std::string ass, ContentTimePeriod period);
+ void decode_bitmap_subtitle (AVSubtitleRect const * rect, ContentTime from);
+ void decode_ass_subtitle (std::string ass, ContentTime from);
void maybe_add_subtitle ();
boost::shared_ptr<AudioBuffers> deinterleave_audio (boost::shared_ptr<FFmpegAudioStream> stream) const;
boost::mutex _filter_graphs_mutex;
ContentTime _pts_offset;
+ boost::optional<ContentTime> _current_subtitle_to;
+ bool _have_current_subtitle;
+
+ boost::shared_ptr<Image> _black_image;
};