X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fupmixer_a_test.cc;h=af6c8b9e29611d7f011239881a0d7d6b6d770bfc;hb=80430058f5eefb55147218a85225adeb6b616f4d;hp=99c897252b2ea20820f45cf1c190614ef382d20e;hpb=dc78a40b0c7ce4569874fd1e77a86df907937d50;p=dcpomatic.git diff --git a/test/upmixer_a_test.cc b/test/upmixer_a_test.cc index 99c897252..af6c8b9e2 100644 --- a/test/upmixer_a_test.cc +++ b/test/upmixer_a_test.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2014-2015 Carl Hetherington + Copyright (C) 2014-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,18 +18,32 @@ */ -#include -#include -#include "lib/film.h" -#include "lib/ratio.h" + +/** @file test/upmixer_a_test.cc + * @brief Check the Upmixer A against some reference sound files. + * @ingroup selfcontained + */ + + +#include "lib/audio_buffers.h" #include "lib/dcp_content_type.h" #include "lib/ffmpeg_content.h" +#include "lib/film.h" #include "lib/player.h" -#include "lib/audio_buffers.h" +#include "lib/ratio.h" #include "lib/upmixer_a.h" #include "test.h" +#include +#include + + +using std::make_shared; +using std::shared_ptr; +#if BOOST_VERSION >= 106100 +using namespace boost::placeholders; +#endif +using namespace dcpomatic; -using boost::shared_ptr; static SNDFILE* L; static SNDFILE* R; @@ -38,6 +52,7 @@ static SNDFILE* Lfe; static SNDFILE* Ls; static SNDFILE* Rs; + static void write (shared_ptr b, DCPTime) { @@ -50,17 +65,18 @@ write (shared_ptr b, DCPTime) } + BOOST_AUTO_TEST_CASE (upmixer_a_test) { - shared_ptr film = new_test_film ("upmixer_a_test"); - film->set_container (Ratio::from_id ("185")); - film->set_dcp_content_type (DCPContentType::from_isdcf_name ("TLR")); + auto film = new_test_film ("upmixer_a_test"); + film->set_container (Ratio::from_id("185")); + film->set_dcp_content_type (DCPContentType::from_isdcf_name("TLR")); film->set_name ("frobozz"); - film->set_audio_processor (AudioProcessor::from_id ("stereo-5.1-upmix-a")); - shared_ptr content (new FFmpegContent (film, "test/data/white.wav")); + film->set_audio_processor (AudioProcessor::from_id("stereo-5.1-upmix-a")); + auto content = make_shared("test/data/white.wav"); film->examine_and_add_content (content); - wait_for_jobs (); + BOOST_REQUIRE (!wait_for_jobs()); SF_INFO info; info.samplerate = 48000; @@ -73,7 +89,7 @@ BOOST_AUTO_TEST_CASE (upmixer_a_test) Ls = sf_open ("build/test/upmixer_a_test/Ls.wav", SFM_WRITE, &info); Rs = sf_open ("build/test/upmixer_a_test/Rs.wav", SFM_WRITE, &info); - shared_ptr player (new Player (film, film->playlist ())); + auto player = make_shared(film, Image::Alignment::COMPACT); player->Audio.connect (bind (&write, _1, _2)); while (!player->pass()) {} @@ -84,10 +100,10 @@ BOOST_AUTO_TEST_CASE (upmixer_a_test) sf_close (Ls); sf_close (Rs); - check_audio_file ("test/data/upmixer_a_test/L.wav", "build/test/upmixer_a_test/L.wav"); - check_audio_file ("test/data/upmixer_a_test/R.wav", "build/test/upmixer_a_test/R.wav"); - check_audio_file ("test/data/upmixer_a_test/C.wav", "build/test/upmixer_a_test/C.wav"); - check_audio_file ("test/data/upmixer_a_test/Lfe.wav", "build/test/upmixer_a_test/Lfe.wav"); - check_audio_file ("test/data/upmixer_a_test/Ls.wav", "build/test/upmixer_a_test/Ls.wav"); - check_audio_file ("test/data/upmixer_a_test/Rs.wav", "build/test/upmixer_a_test/Rs.wav"); + check_wav_file ("test/data/upmixer_a_test/L.wav", "build/test/upmixer_a_test/L.wav"); + check_wav_file ("test/data/upmixer_a_test/R.wav", "build/test/upmixer_a_test/R.wav"); + check_wav_file ("test/data/upmixer_a_test/C.wav", "build/test/upmixer_a_test/C.wav"); + check_wav_file ("test/data/upmixer_a_test/Lfe.wav", "build/test/upmixer_a_test/Lfe.wav"); + check_wav_file ("test/data/upmixer_a_test/Ls.wav", "build/test/upmixer_a_test/Ls.wav"); + check_wav_file ("test/data/upmixer_a_test/Rs.wav", "build/test/upmixer_a_test/Rs.wav"); }