X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Faudio_analysis_test.cc;h=a2da8d6900122d7bc9156173216f147f608e2a57;hb=HEAD;hp=8bdca4c32877ccb744804f3a274608e611bc4735;hpb=5b916bf26e3ad1cc49ef8e498bd5e4ff844ed7db;p=dcpomatic.git diff --git a/test/audio_analysis_test.cc b/test/audio_analysis_test.cc index 8bdca4c32..8ded9eda9 100644 --- a/test/audio_analysis_test.cc +++ b/test/audio_analysis_test.cc @@ -41,6 +41,7 @@ #include "lib/ratio.h" #include "test.h" #include +#include using std::make_shared; @@ -283,3 +284,27 @@ BOOST_AUTO_TEST_CASE(analyse_audio_with_more_channels_than_film) BOOST_CHECK(!wait_for_jobs()); } + +BOOST_AUTO_TEST_CASE(analyse_audio_uses_processor_when_analysing_whole_film) +{ + auto sound = content_factory(TestPaths::private_data() / "betty_stereo.wav")[0]; + auto film = new_test_film2("analyse_audio_uses_processor_when_analysing_whole_film", { sound }); + + auto job = make_shared(film, film->playlist(), true); + JobManager::instance()->add(job); + BOOST_REQUIRE(!wait_for_jobs()); + + AudioAnalysis analysis(job->path()); + + BOOST_REQUIRE(analysis.channels() > 2); + bool centre_non_zero = false; + /* Make sure there's something from the mid-side decoder on the centre channel */ + for (auto point = 0; point < analysis.points(2); ++point) { + if (std::abs(analysis.get_point(2, point)[AudioPoint::Type::PEAK]) > 0) { + centre_non_zero = true; + } + } + + BOOST_CHECK(centre_non_zero); +} +