projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix typo preventing audio sync fixes when audio follows video.
[dcpomatic.git]
/
src
/
lib
/
video_decoder.h
diff --git
a/src/lib/video_decoder.h
b/src/lib/video_decoder.h
index 41e876e0a58c59cf4af2e62fe69429cda0d83736..6e4fd48c0019710a2632e921d35645efa119c239 100644
(file)
--- a/
src/lib/video_decoder.h
+++ b/
src/lib/video_decoder.h
@@
-24,15
+24,17
@@
#include "stream.h"
#include "decoder.h"
#include "stream.h"
#include "decoder.h"
-class VideoDecoder : public VideoSource, public virtual Decoder
+class VideoDecoder : public
Timed
VideoSource, public virtual Decoder
{
public:
{
public:
- VideoDecoder (boost::shared_ptr<Film>,
boost::shared_ptr<const DecodeOptions>, Job *
);
+ VideoDecoder (boost::shared_ptr<Film>,
DecodeOptions
);
/** @return video frames per second, or 0 if unknown */
virtual float frames_per_second () const = 0;
/** @return native size in pixels */
/** @return video frames per second, or 0 if unknown */
virtual float frames_per_second () const = 0;
/** @return native size in pixels */
- virtual Size native_size () const = 0;
+ virtual libdcp::Size native_size () const = 0;
+ /** @return length (in source video frames), according to our content's header */
+ virtual SourceFrame length () const = 0;
virtual int time_base_numerator () const = 0;
virtual int time_base_denominator () const = 0;
virtual int time_base_numerator () const = 0;
virtual int time_base_denominator () const = 0;
@@
-41,9
+43,9
@@
public:
virtual void set_subtitle_stream (boost::shared_ptr<SubtitleStream>);
virtual void set_subtitle_stream (boost::shared_ptr<SubtitleStream>);
- void set_progress () const;
+ void set_progress (
Job *
) const;
-
SourceFrame
video_frame () const {
+
int
video_frame () const {
return _video_frame;
}
return _video_frame;
}
@@
-55,17
+57,16
@@
public:
return _subtitle_streams;
}
return _subtitle_streams;
}
-
SourceFrame last_source_fra
me () const {
- return _last_source_
fra
me;
+
double last_source_ti
me () const {
+ return _last_source_
ti
me;
}
protected:
virtual PixelFormat pixel_format () const = 0;
}
protected:
virtual PixelFormat pixel_format () const = 0;
- void emit_video (boost::shared_ptr<Image>,
SourceFram
e);
+ void emit_video (boost::shared_ptr<Image>,
bool, doubl
e);
void emit_subtitle (boost::shared_ptr<TimedSubtitle>);
void emit_subtitle (boost::shared_ptr<TimedSubtitle>);
- void repeat_last_video ();
/** Subtitle stream to use when decoding */
boost::shared_ptr<SubtitleStream> _subtitle_stream;
/** Subtitle stream to use when decoding */
boost::shared_ptr<SubtitleStream> _subtitle_stream;
@@
-73,15
+74,10
@@
protected:
std::vector<boost::shared_ptr<SubtitleStream> > _subtitle_streams;
private:
std::vector<boost::shared_ptr<SubtitleStream> > _subtitle_streams;
private:
- void signal_video (boost::shared_ptr<Image>, boost::shared_ptr<Subtitle>);
-
- SourceFrame _video_frame;
- SourceFrame _last_source_frame;
+ int _video_frame;
+ double _last_source_time;
boost::shared_ptr<TimedSubtitle> _timed_subtitle;
boost::shared_ptr<TimedSubtitle> _timed_subtitle;
-
- boost::shared_ptr<Image> _last_image;
- boost::shared_ptr<Subtitle> _last_subtitle;
};
#endif
};
#endif