projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix erroneous check wrt intrinsic duration.
[dcpomatic.git]
/
src
/
lib
/
video_decoder.h
diff --git
a/src/lib/video_decoder.h
b/src/lib/video_decoder.h
index ea1899840a7252a6358c682a0a1e85167bb3c7bd..ef1ab041a052589f003816e26b239dd4e2ef2a9b 100644
(file)
--- a/
src/lib/video_decoder.h
+++ b/
src/lib/video_decoder.h
@@
-27,12
+27,14
@@
class VideoDecoder : public VideoSource, public virtual Decoder
{
public:
class VideoDecoder : public VideoSource, public virtual Decoder
{
public:
- VideoDecoder (boost::shared_ptr<Film>,
boost::shared_ptr<const Options>
, Job *);
+ VideoDecoder (boost::shared_ptr<Film>,
DecodeOptions
, Job *);
/** @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;
@@
-43,7
+45,7
@@
public:
void set_progress () const;
void set_progress () const;
-
SourceFrame
video_frame () const {
+
int
video_frame () const {
return _video_frame;
}
return _video_frame;
}
@@
-55,11
+57,15
@@
public:
return _subtitle_streams;
}
return _subtitle_streams;
}
+ double last_source_time () const {
+ return _last_source_time;
+ }
+
protected:
virtual PixelFormat pixel_format () const = 0;
protected:
virtual PixelFormat pixel_format () const = 0;
- void emit_video (boost::shared_ptr<Image>);
+ void emit_video (boost::shared_ptr<Image>
, double
);
void emit_subtitle (boost::shared_ptr<TimedSubtitle>);
void repeat_last_video ();
void emit_subtitle (boost::shared_ptr<TimedSubtitle>);
void repeat_last_video ();
@@
-69,10
+75,11
@@
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;
+ void signal_video (boost::shared_ptr<Image>, bool, boost::shared_ptr<Subtitle>);
+ int _video_frame;
+ double _last_source_time;
+
boost::shared_ptr<TimedSubtitle> _timed_subtitle;
boost::shared_ptr<Image> _last_image;
boost::shared_ptr<TimedSubtitle> _timed_subtitle;
boost::shared_ptr<Image> _last_image;