: _t (0)
{}
- explicit Time (int64_t t)
+ typedef int64_t Type;
+
+ explicit Time (Type t)
: _t (t)
{}
virtual ~Time () {}
- int64_t get () const {
+ Type get () const {
return _t;
}
protected:
friend class dcptime_round_up_test;
- int64_t _t;
+ Type _t;
static const int HZ = 96000;
};
{
public:
ContentTime () : Time () {}
- explicit ContentTime (int64_t t) : Time (t) {}
- ContentTime (int64_t n, int64_t d) : Time (n * HZ / d) {}
+ explicit ContentTime (Type t) : Time (t) {}
+ ContentTime (Type n, Type d) : Time (n * HZ / d) {}
ContentTime (DCPTime d, FrameRateChange f);
bool operator< (ContentTime const & o) const {
* @param r Sampling rate.
*/
ContentTime round_up (float r) {
- int64_t const n = rint (HZ / r);
- int64_t const a = _t + n - 1;
+ Type const n = rint (HZ / r);
+ Type const a = _t + n - 1;
return ContentTime (a - (a % n));
}
{
public:
DCPTime () : Time () {}
- explicit DCPTime (int64_t t) : Time (t) {}
+ explicit DCPTime (Type t) : Time (t) {}
DCPTime (ContentTime t, FrameRateChange c) : Time (rint (t.get() / c.speed_up)) {}
bool operator< (DCPTime const & o) const {
* @param r Sampling rate.
*/
DCPTime round_up (float r) {
- int64_t const n = rint (HZ / r);
- int64_t const a = _t + n - 1;
+ Type const n = rint (HZ / r);
+ Type const a = _t + n - 1;
return DCPTime (a - (a % n));
}
FFmpegExaminer::video_length () const
{
ContentTime const length = ContentTime::from_seconds (double (_format_context->duration - _format_context->start_time) / AV_TIME_BASE);
- return ContentTime (max (int64_t (1), length.get ()));
+ return ContentTime (max (ContentTime::Type (1), length.get ()));
}
string
{
/* s is the offset of t from the start position of this content */
DCPTime s = t - piece->content->position ();
- s = DCPTime (max (int64_t (0), s.get ()));
+ s = DCPTime (max (DCPTime::Type (0), s.get ()));
s = DCPTime (min (piece->content->length_after_trim().get(), s.get()));
/* Convert this to the content frame */
{
/* s is the offset of t from the start position of this content */
DCPTime s = t - piece->content->position ();
- s = DCPTime (max (int64_t (0), s.get ()));
+ s = DCPTime (max (DCPTime::Type (0), s.get ()));
s = DCPTime (min (piece->content->length_after_trim().get(), s.get()));
/* Convert this to the content frame */
{
/* s is the offset of t from the start position of this content */
DCPTime s = t - piece->content->position ();
- s = DCPTime (max (int64_t (0), s.get ()));
+ s = DCPTime (max (DCPTime::Type (0), s.get ()));
s = DCPTime (min (piece->content->length_after_trim().get(), s.get()));
return ContentTime (s + piece->content->trim_start(), piece->frc);
, _audio_mapping (node->node_child ("AudioMapping"), version)
{
_audio_channels = node->number_child<int> ("AudioChannels");
- _audio_length = ContentTime (node->number_child<int64_t> ("AudioLength"));
+ _audio_length = ContentTime (node->number_child<ContentTime::Type> ("AudioLength"));
_audio_frame_rate = node->number_child<int> ("AudioFrameRate");
}
SubRipContent::SubRipContent (shared_ptr<const Film> film, cxml::ConstNodePtr node, int version)
: Content (film, node)
, SubtitleContent (film, node, version)
- , _length (node->number_child<int64_t> ("Length"))
+ , _length (node->number_child<DCPTime::Type> ("Length"))
{
}
/* DCP-o-matic 1.0 branch */
_video_length = ContentTime::from_frames (node->number_child<int64_t> ("VideoLength"), _video_frame_rate);
} else {
- _video_length = ContentTime (node->number_child<int64_t> ("VideoLength"));
+ _video_length = ContentTime (node->number_child<ContentTime::Type> ("VideoLength"));
}
_video_frame_type = static_cast<VideoFrameType> (node->number_child<int> ("VideoFrameType"));