Fix test.
authorCarl Hetherington <cth@carlh.net>
Fri, 11 Apr 2014 08:46:35 +0000 (09:46 +0100)
committerCarl Hetherington <cth@carlh.net>
Fri, 11 Apr 2014 08:46:35 +0000 (09:46 +0100)
test/seek_zero_test.cc

index 150e12d9016e389a6477d731f7d6155608eb24dc..03968ae5cb1c54ea11284b8c2d3bcaa8217cd2b9 100644 (file)
@@ -47,9 +47,18 @@ BOOST_AUTO_TEST_CASE (seek_zero_test)
        film->examine_and_add_content (content);
        wait_for_jobs ();
 
+       /* Work out the first video frame index that we will be given, taking into account
+        * the difference between first video and first audio.
+        */
+       ContentTime video_delay = content->first_video().get() - content->audio_stream()->first_audio.get();
+       if (video_delay < ContentTime ()) {
+               video_delay = ContentTime ();
+       }
+
+       VideoFrame const first_frame = video_delay.round_up (content->video_frame_rate ()).frames (content->video_frame_rate ());
+
        FFmpegDecoder decoder (content, film->log());
-       optional<ContentVideo> a = decoder.get_video (0, true);
-       optional<ContentVideo> b = decoder.get_video (0, true);
-       BOOST_CHECK_EQUAL (a->frame, 0);
-       BOOST_CHECK_EQUAL (b->frame, 0);
+       optional<ContentVideo> a = decoder.get_video (first_frame, true);
+       BOOST_CHECK (a);
+       BOOST_CHECK_EQUAL (a->frame, first_frame);
 }