+
+ /* Make the content audio-only */
+ content->video.reset ();
+
+ /* 24fps content, 24fps DCP */
+ film->set_video_frame_rate (24);
+ content->set_video_frame_rate (24);
+ BOOST_CHECK_EQUAL (content->full_length(), DCPTime::from_seconds (1));
+ /* 25fps content, 25fps DCP */
+ film->set_video_frame_rate (25);
+ content->set_video_frame_rate (25);
+ BOOST_CHECK_EQUAL (content->full_length(), DCPTime::from_seconds (1));
+ /* 25fps content, 24fps DCP; length should be increased */
+ film->set_video_frame_rate (24);
+ BOOST_CHECK_SMALL (abs (content->full_length().get() - DCPTime::from_seconds(25.0 / 24).get()), 2);
+ /* 25fps content, 30fps DCP; length should be decreased */
+ film->set_video_frame_rate (30);
+ BOOST_CHECK_EQUAL (content->full_length(), DCPTime::from_seconds (25.0 / 30));
+ /* 25fps content, 50fps DCP; length should be the same */
+ film->set_video_frame_rate (50);
+ BOOST_CHECK_EQUAL (content->full_length(), DCPTime::from_seconds (1));
+ /* 25fps content, 60fps DCP; length should be decreased */
+ film->set_video_frame_rate (60);
+ BOOST_CHECK_EQUAL (content->full_length(), DCPTime::from_seconds (50.0 / 60));
+