- f->set_source_frame_rate (25);
- f->set_dcp_frame_rate (24);
- f->set_content_audio_stream (shared_ptr<AudioStream> (new FFmpegAudioStream ("a", 42, 44100, 0)));
- BOOST_CHECK_EQUAL (f->target_audio_sample_rate(), 50000);
+ shared_ptr<FFmpegAudioStream> stream (new FFmpegAudioStream ("foo", 0, 0, 0, 0));
+ content->audio.reset (new AudioContent (content.get()));
+ content->audio->add_stream (stream);
+ content->_video_frame_rate = 24;
+ film->set_video_frame_rate (24);
+ stream->_frame_rate = 48000;
+ BOOST_CHECK_EQUAL (content->audio->resampled_frame_rate(film), 48000);
+
+ stream->_frame_rate = 44100;
+ BOOST_CHECK_EQUAL (content->audio->resampled_frame_rate(film), 48000);
+
+ stream->_frame_rate = 80000;
+ BOOST_CHECK_EQUAL (content->audio->resampled_frame_rate(film), 48000);
+
+ content->_video_frame_rate = 23.976;
+ film->set_video_frame_rate (24);
+ stream->_frame_rate = 48000;
+ BOOST_CHECK_EQUAL (content->audio->resampled_frame_rate(film), 47952);
+
+ content->_video_frame_rate = 29.97;
+ film->set_video_frame_rate (30);
+ BOOST_CHECK_EQUAL (film->video_frame_rate (), 30);
+ stream->_frame_rate = 48000;
+ BOOST_CHECK_EQUAL (content->audio->resampled_frame_rate(film), 47952);
+
+ content->_video_frame_rate = 25;
+ film->set_video_frame_rate (24);
+ stream->_frame_rate = 48000;
+ BOOST_CHECK_EQUAL (content->audio->resampled_frame_rate(film), 50000);
+
+ content->_video_frame_rate = 25;
+ film->set_video_frame_rate (24);
+ stream->_frame_rate = 44100;
+ BOOST_CHECK_EQUAL (content->audio->resampled_frame_rate(film), 50000);