X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fplayer_test.cc;h=0fe1d953bead375b410acebc4720b206565aca25;hb=1db0293ad36605da9ca8daa8736ef581f4f6a34e;hp=f59205e16693357b0371b3ff692b1aff96f49348;hpb=d7ac100c0eb1b5efdcfbec59be870fd869252840;p=dcpomatic.git diff --git a/test/player_test.cc b/test/player_test.cc index f59205e16..0fe1d953b 100644 --- a/test/player_test.cc +++ b/test/player_test.cc @@ -31,7 +31,7 @@ #include "lib/player.h" #include "lib/video_content.h" #include "lib/image_content.h" -#include "lib/text_text_content.h" +#include "lib/string_text_file_content.h" #include "lib/content_factory.h" #include "lib/dcp_content.h" #include "lib/text_content.h" @@ -181,7 +181,7 @@ BOOST_AUTO_TEST_CASE (player_interleave_test) film->examine_and_add_content (c); BOOST_REQUIRE (!wait_for_jobs ()); - shared_ptr s (new TextTextContent (film, "test/data/subrip.srt")); + shared_ptr s (new StringTextFileContent (film, "test/data/subrip.srt")); film->examine_and_add_content (s); BOOST_REQUIRE (!wait_for_jobs ()); @@ -211,11 +211,11 @@ BOOST_AUTO_TEST_CASE (player_seek_test) shared_ptr dcp (new DCPContent (film, private_data / "awkward_subs")); film->examine_and_add_content (dcp, true); BOOST_REQUIRE (!wait_for_jobs ()); - dcp->subtitle->set_use (true); + dcp->only_text()->set_use (true); shared_ptr player (new Player (film, film->playlist())); player->set_fast (); - player->set_always_burn_subtitles (true); + player->set_always_burn_open_subtitles (); player->set_play_referenced (); shared_ptr butler (new Butler (player, film->log(), AudioMapping(), 2)); @@ -242,11 +242,11 @@ BOOST_AUTO_TEST_CASE (player_seek_test2) shared_ptr dcp (new DCPContent (film, private_data / "awkward_subs2")); film->examine_and_add_content (dcp, true); BOOST_REQUIRE (!wait_for_jobs ()); - dcp->subtitle->set_use (true); + dcp->only_text()->set_use (true); shared_ptr player (new Player (film, film->playlist())); player->set_fast (); - player->set_always_burn_subtitles (true); + player->set_always_burn_open_subtitles (); player->set_play_referenced (); shared_ptr butler (new Butler (player, film->log(), AudioMapping(), 2)); @@ -282,3 +282,44 @@ BOOST_AUTO_TEST_CASE (player_trim_test) film->make_dcp (); BOOST_REQUIRE (!wait_for_jobs ()); } + +struct Sub { + PlayerText text; + TextType type; + optional track; + DCPTimePeriod period; +}; + +static void +store (list* out, PlayerText text, TextType type, optional track, DCPTimePeriod period) +{ + Sub s; + s.text = text; + s.type = type; + s.track = track; + s.period = period; + out->push_back (s); +} + +/** Test ignoring both video and audio */ +BOOST_AUTO_TEST_CASE (player_ignore_video_and_audio_test) +{ + shared_ptr film = new_test_film2 ("player_ignore_video_and_audio_test"); + shared_ptr ff = content_factory(film, private_data / "boon_telly.mkv").front(); + film->examine_and_add_content (ff); + shared_ptr text = content_factory(film, "test/data/subrip.srt").front(); + film->examine_and_add_content (text); + BOOST_REQUIRE (!wait_for_jobs()); + text->only_text()->set_type (TEXT_CLOSED_CAPTION); + text->only_text()->set_use (true); + + shared_ptr player (new Player(film, film->playlist())); + player->set_ignore_video (); + player->set_ignore_audio (); + + list out; + player->Text.connect (bind (&store, &out, _1, _2, _3, _4)); + while (!player->pass ()) {} + + BOOST_CHECK_EQUAL (out.size(), 6); +}