summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-12-19 22:56:49 +0000
committerCarl Hetherington <cth@carlh.net>2019-12-20 00:26:36 +0100
commit3e56ff52385513e78fbe3b03e9787a6606b762d9 (patch)
tree87bf141309fcac290aab797216cf4e5beeea128f /test
parente0b2ef3dbac6fc4900cad6fea4395c212578602b (diff)
Remove our forcing of analyzeduration and probesize as they seem to
cause weird problems when scanning some files. The unit test case added here is a case in point: before this patch one stream reported an incorrect channel count and sample rate. It's a bit worrying as these parameters have been in DoM for many years, but perhaps they have become unnecessary / harmful with changes to FFmpeg.
Diffstat (limited to 'test')
-rw-r--r--test/ffmpeg_examiner_test.cc22
1 files changed, 20 insertions, 2 deletions
diff --git a/test/ffmpeg_examiner_test.cc b/test/ffmpeg_examiner_test.cc
index b6b2bbf06..5da7bbd3f 100644
--- a/test/ffmpeg_examiner_test.cc
+++ b/test/ffmpeg_examiner_test.cc
@@ -19,8 +19,7 @@
*/
/** @file test/ffmpeg_examiner_test.cc
- * @brief Check that the FFmpegExaminer can extract the first video and audio time
- * correctly from data/count300bd24.m2ts.
+ * @brief FFMpegExaminer tests
* @ingroup specific
*/
@@ -33,6 +32,9 @@
using boost::shared_ptr;
using namespace dcpomatic;
+/** Check that the FFmpegExaminer can extract the first video and audio time
+ * correctly from data/count300bd24.m2ts.
+ */
BOOST_AUTO_TEST_CASE (ffmpeg_examiner_test)
{
shared_ptr<Film> film = new_test_film ("ffmpeg_examiner_test");
@@ -43,3 +45,19 @@ BOOST_AUTO_TEST_CASE (ffmpeg_examiner_test)
BOOST_CHECK_EQUAL (examiner->audio_streams().size(), 1U);
BOOST_CHECK_EQUAL (examiner->audio_streams()[0]->first_audio.get().get(), ContentTime::from_seconds(600).get());
}
+
+/** Check that audio sampling rate and channel counts are correctly picked up from
+ * a problematic file. When we used to specify analyzeduration and probesize
+ * this file's details were picked up incorrectly.
+ */
+BOOST_AUTO_TEST_CASE (ffmpeg_examiner_probesize_test)
+{
+ shared_ptr<FFmpegContent> content (new FFmpegContent(private_data / "RockyTop10 Playlist Flat.m4v"));
+ shared_ptr<FFmpegExaminer> examiner (new FFmpegExaminer(content));
+
+ BOOST_CHECK_EQUAL (examiner->audio_streams().size(), 2U);
+ BOOST_CHECK_EQUAL (examiner->audio_streams()[0]->frame_rate(), 48000);
+ BOOST_CHECK_EQUAL (examiner->audio_streams()[0]->channels(), 2);
+ BOOST_CHECK_EQUAL (examiner->audio_streams()[1]->frame_rate(), 48000);
+ BOOST_CHECK_EQUAL (examiner->audio_streams()[1]->channels(), 6);
+}