X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Faudio_content_test.cc;h=6114c6b2ce9935b27f3410ad11cacc5887687243;hb=ff639b3cf30afcc097bfd21d39c8d15f466cadd6;hp=92bb4bcf052504151958d94ee89c8e9b3fe8c5d7;hpb=0e164ad80f0ceff9d643f3b466690d013c3be19d;p=dcpomatic.git diff --git a/test/audio_content_test.cc b/test/audio_content_test.cc index 92bb4bcf0..6114c6b2c 100644 --- a/test/audio_content_test.cc +++ b/test/audio_content_test.cc @@ -22,35 +22,36 @@ #include "lib/audio_content.h" #include "lib/content_factory.h" #include "lib/maths_util.h" +#include "lib/video_content.h" #include "test.h" #include BOOST_AUTO_TEST_CASE (audio_content_fade_empty_region) { - auto content = content_factory("test/data/impulse_train.wav").front(); - auto film = new_test_film2("audio_content_fade_empty_region", { content }); + auto content = content_factory("test/data/impulse_train.wav"); + auto film = new_test_film2("audio_content_fade_empty_region", content); - BOOST_CHECK (content->audio->fade(content->audio->stream(), 0, 0, 48000).empty()); + BOOST_CHECK(content[0]->audio->fade(content[0]->audio->stream(), 0, 0, 48000).empty()); } BOOST_AUTO_TEST_CASE (audio_content_fade_no_fade) { - auto content = content_factory("test/data/impulse_train.wav").front(); - auto film = new_test_film2("audio_content_fade_no_fade", { content }); + auto content = content_factory("test/data/impulse_train.wav"); + auto film = new_test_film2("audio_content_fade_no_fade", content); - auto const stream = content->audio->stream(); + auto const stream = content[0]->audio->stream(); - BOOST_CHECK (content->audio->fade(stream, 0, 2000, 48000).empty()); - BOOST_CHECK (content->audio->fade(stream, 9999, 451, 48000).empty()); - BOOST_CHECK (content->audio->fade(stream, stream->length() + 100, 8000, 48000).empty()); + BOOST_CHECK(content[0]->audio->fade(stream, 0, 2000, 48000).empty()); + BOOST_CHECK(content[0]->audio->fade(stream, 9999, 451, 48000).empty()); + BOOST_CHECK(content[0]->audio->fade(stream, stream->length() + 100, 8000, 48000).empty()); } BOOST_AUTO_TEST_CASE (audio_content_fade_unfaded_part) { - auto content = content_factory("test/data/impulse_train.wav").front(); + auto content = content_factory("test/data/impulse_train.wav")[0]; auto film = new_test_film2("audio_content_fade_unfaded_part", { content }); auto const stream = content->audio->stream(); @@ -66,7 +67,7 @@ BOOST_AUTO_TEST_CASE (audio_content_fade_unfaded_part) BOOST_AUTO_TEST_CASE (audio_content_within_the_fade_in) { - auto content = content_factory("test/data/impulse_train.wav").front(); + auto content = content_factory("test/data/impulse_train.wav")[0]; auto film = new_test_film2("audio_content_within_the_fade_in", { content }); content->audio->set_fade_in(dcpomatic::ContentTime::from_frames(2000, 48000)); @@ -81,7 +82,7 @@ BOOST_AUTO_TEST_CASE (audio_content_within_the_fade_in) BOOST_AUTO_TEST_CASE (audio_content_within_the_fade_out) { - auto content = content_factory("test/data/impulse_train.wav").front(); + auto content = content_factory("test/data/impulse_train.wav")[0]; auto film = new_test_film2("audio_content_within_the_fade_out", { content }); auto const stream = content->audio->stream(); @@ -99,7 +100,7 @@ BOOST_AUTO_TEST_CASE (audio_content_within_the_fade_out) BOOST_AUTO_TEST_CASE (audio_content_overlapping_the_fade_in) { - auto content = content_factory("test/data/impulse_train.wav").front(); + auto content = content_factory("test/data/impulse_train.wav")[0]; auto film = new_test_film2("audio_content_overlapping_the_fade_in", { content }); content->audio->set_fade_in(dcpomatic::ContentTime::from_frames(2000, 48000)); @@ -118,7 +119,7 @@ BOOST_AUTO_TEST_CASE (audio_content_overlapping_the_fade_in) BOOST_AUTO_TEST_CASE (audio_content_overlapping_the_fade_out) { - auto content = content_factory("test/data/impulse_train.wav").front(); + auto content = content_factory("test/data/impulse_train.wav")[0]; auto film = new_test_film2("audio_content_overlapping_the_fade_out", { content }); auto const stream = content->audio->stream(); @@ -139,7 +140,7 @@ BOOST_AUTO_TEST_CASE (audio_content_overlapping_the_fade_out) BOOST_AUTO_TEST_CASE (audio_content_fade_in_and_out) { - auto content = content_factory("test/data/impulse_train.wav").front(); + auto content = content_factory("test/data/impulse_train.wav")[0]; auto film = new_test_film2("audio_content_fade_in_and_out", { content }); auto const stream = content->audio->stream(); @@ -158,7 +159,7 @@ BOOST_AUTO_TEST_CASE (audio_content_fade_in_and_out) BOOST_AUTO_TEST_CASE (audio_content_fade_in_with_trim) { - auto content = content_factory("test/data/impulse_train.wav").front(); + auto content = content_factory("test/data/impulse_train.wav")[0]; auto film = new_test_film2("audio_content_fade_in_with_trim", { content }); auto const stream = content->audio->stream(); @@ -185,7 +186,7 @@ BOOST_AUTO_TEST_CASE (audio_content_fade_in_with_trim) BOOST_AUTO_TEST_CASE (audio_content_fade_out_with_trim) { - auto content = content_factory("test/data/impulse_train.wav").front(); + auto content = content_factory("test/data/impulse_train.wav")[0]; auto film = new_test_film2("audio_content_fade_out_with_trim", { content }); auto const stream = content->audio->stream(); @@ -215,7 +216,7 @@ BOOST_AUTO_TEST_CASE (audio_content_fade_out_with_trim) BOOST_AUTO_TEST_CASE (audio_content_fade_out_with_trim_at_44k1) { /* 5s at 44.1kHz */ - auto content = content_factory("test/data/white.wav").front(); + auto content = content_factory("test/data/white.wav")[0]; auto film = new_test_film2("audio_content_fade_out_with_trim_at_44k1", { content }); auto const stream = content->audio->stream(); @@ -244,3 +245,17 @@ BOOST_AUTO_TEST_CASE (audio_content_fade_out_with_trim_at_44k1) } + +BOOST_AUTO_TEST_CASE (audio_content_fades_same_as_video) +{ + auto content = content_factory("test/data/staircase.mov")[0]; + auto film = new_test_film2("audio_content_fades_same_as_video", { content }); + + content->audio->set_use_same_fades_as_video(true); + content->video->set_fade_in(9); + content->video->set_fade_out(81); + + BOOST_CHECK(content->audio->fade_in() == dcpomatic::ContentTime::from_frames(9 * 48000 / 24, 48000)); + BOOST_CHECK(content->audio->fade_out() == dcpomatic::ContentTime::from_frames(81 * 48000 / 24, 48000)); +} +