X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fbutler_test.cc;h=dae098e308eb339f6dcfe2e8b7d1d6ec06bc7ffc;hb=95ada137e2077b610390497543a6a1fcaeb0a533;hp=304075a6dc253637f964ecc976d130c91ff4764b;hpb=34c3e11437ec32efe8dc4a5be840304ee62f6015;p=dcpomatic.git diff --git a/test/butler_test.cc b/test/butler_test.cc index 304075a6d..dae098e30 100644 --- a/test/butler_test.cc +++ b/test/butler_test.cc @@ -44,14 +44,28 @@ BOOST_AUTO_TEST_CASE (butler_test1) BOOST_REQUIRE (!wait_for_jobs ()); film->set_audio_channels (6); + + /* This is the map of the player output (5.1) to the butler output (also 5.1) */ AudioMapping map = AudioMapping (6, 6); + for (int i = 0; i < 6; ++i) { + map.set (i, i, 1); + } - Butler butler (film, shared_ptr(new Player(film, film->playlist())), map, 6); + Butler butler (shared_ptr(new Player(film, film->playlist())), film->log(), map, 6); BOOST_CHECK (butler.get_video().second == DCPTime()); BOOST_CHECK (butler.get_video().second == DCPTime::from_frames(1, 24)); BOOST_CHECK (butler.get_video().second == DCPTime::from_frames(2, 24)); + /* XXX: check the frame contents */ float buffer[256 * 6]; - butler.get_audio(buffer, 256); + BOOST_REQUIRE (!butler.get_audio (buffer, 256)); + for (int i = 0; i < 256; ++i) { + BOOST_REQUIRE_EQUAL (buffer[i * 6 + 0], 0); + BOOST_REQUIRE_EQUAL (buffer[i * 6 + 1], 0); + BOOST_REQUIRE_CLOSE (buffer[i * 6 + 2], i / 32768.0f, 0.1); + BOOST_REQUIRE_EQUAL (buffer[i * 6 + 3], 0); + BOOST_REQUIRE_EQUAL (buffer[i * 6 + 4], 0); + BOOST_REQUIRE_EQUAL (buffer[i * 6 + 5], 0); + } }