projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Setup fast state of decoder after creation.
[dcpomatic.git]
/
src
/
lib
/
ffmpeg_decoder.h
diff --git
a/src/lib/ffmpeg_decoder.h
b/src/lib/ffmpeg_decoder.h
index bd7ba98b84fe0f74edd8e50ca195a9873de2ba4b..e9d40195381e675d5eafdc4aac41d2b5e07172a1 100644
(file)
--- a/
src/lib/ffmpeg_decoder.h
+++ b/
src/lib/ffmpeg_decoder.h
@@
-36,6
+36,7
@@
class Log;
class VideoFilterGraph;
class FFmpegAudioStream;
class AudioBuffers;
class VideoFilterGraph;
class FFmpegAudioStream;
class AudioBuffers;
+class Image;
struct ffmpeg_pts_offset_test;
/** @class FFmpegDecoder
struct ffmpeg_pts_offset_test;
/** @class FFmpegDecoder
@@
-44,10
+45,10
@@
struct ffmpeg_pts_offset_test;
class FFmpegDecoder : public FFmpeg, public Decoder
{
public:
class FFmpegDecoder : public FFmpeg, public Decoder
{
public:
- FFmpegDecoder (boost::shared_ptr<const F
FmpegContent>, boost::shared_ptr<Log
>);
+ FFmpegDecoder (boost::shared_ptr<const F
ilm> film, boost::shared_ptr<const FFmpegContent
>);
bool pass ();
bool pass ();
- void seek (ContentTime time, bool);
+ void seek (
dcpomatic::
ContentTime time, bool);
private:
friend struct ::ffmpeg_pts_offset_test;
private:
friend struct ::ffmpeg_pts_offset_test;
@@
-61,18
+62,21
@@
private:
void decode_audio_packet ();
void decode_subtitle_packet ();
void decode_audio_packet ();
void decode_subtitle_packet ();
- void decode_bitmap_subtitle (AVSubtitleRect const * rect, ContentTime from);
- void decode_ass_subtitle (std::string ass, ContentTime from);
+ void decode_bitmap_subtitle (AVSubtitleRect const * rect,
dcpomatic::
ContentTime from);
+ void decode_ass_subtitle (std::string ass,
dcpomatic::
ContentTime from);
void maybe_add_subtitle ();
boost::shared_ptr<AudioBuffers> deinterleave_audio (boost::shared_ptr<FFmpegAudioStream> stream) const;
void maybe_add_subtitle ();
boost::shared_ptr<AudioBuffers> deinterleave_audio (boost::shared_ptr<FFmpegAudioStream> stream) const;
- boost::shared_ptr<Log> _log;
-
std::list<boost::shared_ptr<VideoFilterGraph> > _filter_graphs;
boost::mutex _filter_graphs_mutex;
std::list<boost::shared_ptr<VideoFilterGraph> > _filter_graphs;
boost::mutex _filter_graphs_mutex;
- ContentTime _pts_offset;
- boost::optional<ContentTime> _current_subtitle_to;
+ dcpomatic::ContentTime _pts_offset;
+ boost::optional<dcpomatic::ContentTime> _current_subtitle_to;
+ /** true if we have a subtitle which has not had emit_stop called for it yet */
bool _have_current_subtitle;
bool _have_current_subtitle;
+
+ boost::shared_ptr<Image> _black_image;
+
+ std::vector<boost::optional<dcpomatic::ContentTime> > _next_time;
};
};