, _video_length (0)
{
shared_ptr<VideoContent> ref = dynamic_pointer_cast<VideoContent> (c[0]);
- assert (ref);
+ DCPOMATIC_ASSERT (ref);
for (size_t i = 0; i < c.size(); ++i) {
shared_ptr<VideoContent> vc = dynamic_pointer_cast<VideoContent> (c[i]);
{
boost::mutex::scoped_lock lm (_mutex);
_video_size = vs;
- if (vfr) {
- _video_frame_rate = vfr.get ();
- }
+ /* Default video frame rate to 24fps if the examiner doesn't know */
+ _video_frame_rate = vfr.get_value_or (24);
_video_length = vl;
_sample_aspect_ratio = ar;
}
shared_ptr<const Film> film = _film.lock ();
- assert (film);
+ DCPOMATIC_ASSERT (film);
LOG_GENERAL ("Video length obtained from header as %1 frames", _video_length.frames (_video_frame_rate));
signal_changed (VideoContentProperty::VIDEO_SIZE);
return dcp::Size (s.width, s.height / 2);
}
- assert (false);
+ DCPOMATIC_ASSERT (false);
}
void
VideoContent::dcp_time_to_content_time (DCPTime t) const
{
shared_ptr<const Film> film = _film.lock ();
- assert (film);
+ DCPOMATIC_ASSERT (film);
return ContentTime (t, FrameRateChange (video_frame_rate(), film->video_frame_rate()));
}
VideoContent::scale_and_crop_to_fit_width ()
{
shared_ptr<const Film> film = _film.lock ();
- assert (film);
+ DCPOMATIC_ASSERT (film);
set_scale (VideoContentScale (film->container ()));
VideoContent::scale_and_crop_to_fit_height ()
{
shared_ptr<const Film> film = _film.lock ();
- assert (film);
+ DCPOMATIC_ASSERT (film);
set_scale (VideoContentScale (film->container ()));
optional<float>
VideoContent::fade (VideoFrame f) const
{
- assert (f >= 0);
+ DCPOMATIC_ASSERT (f >= 0);
if (f < fade_in().frames (video_frame_rate ())) {
return float (f) / _fade_in.frames (video_frame_rate ());
}
shared_ptr<const Film> film = _film.lock ();
- assert (film);
+ DCPOMATIC_ASSERT (film);
dcp::Size const container_size = film->frame_size ();
dcp::Size const scaled = scale().size (dynamic_pointer_cast<const VideoContent> (shared_from_this ()), container_size, container_size, 1);