X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Faudio_delay_test.cc;h=0127cc644e0929c0c34ac55551abc101c4e1df2e;hb=937b96045830a2326daff83b70b892f2d25244ff;hp=77243ea6d0e46d04b56dbeb34c33b5120977efc5;hpb=e60d69b3462755c5f98a460688d391822fdc62fb;p=dcpomatic.git diff --git a/test/audio_delay_test.cc b/test/audio_delay_test.cc index 77243ea6d..0127cc644 100644 --- a/test/audio_delay_test.cc +++ b/test/audio_delay_test.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2013 Carl Hetherington + Copyright (C) 2013-2014 Carl Hetherington This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,11 +17,18 @@ */ +/** @file test/audio_delay_test.cc + * @brief Test encode using some SndfileContents which have audio delays. + * + * The output is checked algorithmically using knowledge of the input. + */ + #include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include "lib/sndfile_content.h" #include "lib/dcp_content_type.h" #include "lib/ratio.h" @@ -38,13 +45,13 @@ void test_audio_delay (int delay_in_ms) { string const film_name = "audio_delay_test_" + lexical_cast (delay_in_ms); shared_ptr film = new_test_film (film_name); - film->set_dcp_content_type (DCPContentType::from_dci_name ("FTR")); + film->set_dcp_content_type (DCPContentType::from_isdcf_name ("FTR")); film->set_container (Ratio::from_id ("185")); film->set_name (film_name); shared_ptr content (new SndfileContent (film, "test/data/staircase.wav")); content->set_audio_delay (delay_in_ms); - film->examine_and_add_content (content); + film->examine_and_add_content (content, true); wait_for_jobs (); film->make_dcp (); @@ -53,10 +60,10 @@ void test_audio_delay (int delay_in_ms) boost::filesystem::path path = "build/test"; path /= film_name; path /= film->dcp_name (); - libdcp::DCP check (path.string ()); + dcp::DCP check (path.string ()); check.read (); - shared_ptr sound_asset = check.cpls().front()->reels().front()->main_sound (); + shared_ptr sound_asset = check.cpls().front()->reels().front()->main_sound (); BOOST_CHECK (sound_asset); /* Sample index in the DCP */ @@ -66,11 +73,11 @@ void test_audio_delay (int delay_in_ms) /* Delay in frames */ int const delay_in_frames = delay_in_ms * 48000 / 1000; - while (n < sound_asset->intrinsic_duration()) { - shared_ptr sound_frame = sound_asset->get_frame (frame++); + while (n < sound_asset->mxf()->intrinsic_duration()) { + shared_ptr sound_frame = sound_asset->mxf()->get_frame (frame++); uint8_t const * d = sound_frame->data (); - for (int i = 0; i < sound_frame->size(); i += (3 * sound_asset->channels())) { + for (int i = 0; i < sound_frame->size(); i += (3 * sound_asset->mxf()->channels())) { /* Mono input so it will appear on centre */ int const sample = d[i + 7] | (d[i + 8] << 8); @@ -86,7 +93,6 @@ void test_audio_delay (int delay_in_ms) } } - /* Test audio delay when specified in a piece of audio content */ BOOST_AUTO_TEST_CASE (audio_delay_test) {