std::shared_ptr
[dcpomatic.git] / test / ffmpeg_audio_test.cc
index 8e0fd92801d3b695ae96021954796f9f48621c38..fc315ec2d4470186d9c8c77eec1c3097a10b8135 100644 (file)
@@ -20,7 +20,7 @@
 
 /** @file  test/ffmpeg_audio_test.cc
  *  @brief Test reading audio from an FFmpeg file.
- *  @ingroup specific
+ *  @ingroup feature
  */
 
 #include "lib/ffmpeg_content.h"
@@ -42,7 +42,7 @@
 #include <boost/test/unit_test.hpp>
 
 using std::string;
-using boost::shared_ptr;
+using std::shared_ptr;
 
 BOOST_AUTO_TEST_CASE (ffmpeg_audio_test)
 {
@@ -53,8 +53,6 @@ BOOST_AUTO_TEST_CASE (ffmpeg_audio_test)
 
        BOOST_REQUIRE (!wait_for_jobs());
 
-       c->video->set_scale (VideoContentScale (Ratio::from_id ("185")));
-
        film->set_container (Ratio::from_id ("185"));
        film->set_audio_channels (6);
        film->set_dcp_content_type (DCPContentType::from_isdcf_name ("TST"));
@@ -130,23 +128,38 @@ BOOST_AUTO_TEST_CASE (ffmpeg_audio_test)
 BOOST_AUTO_TEST_CASE (ffmpeg_audio_test2)
 {
        shared_ptr<Film> film = new_test_film2 ("ffmpeg_audio_test2");
-       shared_ptr<Content> content = content_factory(TestPaths::private_data / "wayne.mkv").front();
+       shared_ptr<Content> content = content_factory(TestPaths::private_data() / "wayne.mkv").front();
        film->examine_and_add_content (content);
        BOOST_REQUIRE (!wait_for_jobs ());
 
-       shared_ptr<Player> player (new Player (film, film->playlist ()));
+       shared_ptr<Player> player (new Player(film));
        while (!player->pass ()) {}
 }
 
 /** Decode a file containing truehd so we can profile it; this is with the player set to fast */
 BOOST_AUTO_TEST_CASE (ffmpeg_audio_test3)
 {
-       shared_ptr<Film> film = new_test_film2 ("ffmpeg_audio_test2");
-       shared_ptr<Content> content = content_factory(TestPaths::private_data / "wayne.mkv").front();
+       shared_ptr<Film> film = new_test_film2 ("ffmpeg_audio_test3");
+       shared_ptr<Content> content = content_factory(TestPaths::private_data() / "wayne.mkv").front();
        film->examine_and_add_content (content);
        BOOST_REQUIRE (!wait_for_jobs ());
 
-       shared_ptr<Player> player (new Player (film, film->playlist ()));
+       shared_ptr<Player> player (new Player(film));
        player->set_fast ();
        while (!player->pass ()) {}
 }
+
+
+/** Decode a file whose audio previously crashed DCP-o-matic (#1857) */
+BOOST_AUTO_TEST_CASE (ffmpeg_audio_test4)
+{
+       shared_ptr<Film> film = new_test_film2 ("ffmpeg_audio_test4");
+       shared_ptr<Content> content = content_factory(TestPaths::private_data() / "Actuellement aout 2020.wmv").front();
+       film->examine_and_add_content (content);
+       BOOST_REQUIRE (!wait_for_jobs ());
+
+       shared_ptr<Player> player (new Player(film));
+       player->set_fast ();
+       BOOST_CHECK_NO_THROW (while (!player->pass()) {});
+}
+