Remove unused methods.
authorCarl Hetherington <cth@carlh.net>
Sun, 21 Jun 2020 22:39:35 +0000 (00:39 +0200)
committerCarl Hetherington <cth@carlh.net>
Sun, 21 Jun 2020 22:46:32 +0000 (00:46 +0200)
src/lib/player.cc
src/lib/player.h
test/time_calculation_test.cc

index b45401fa90cf8ca0b3b831b6f8607cc23ae535ae..f3aa97cb0b9160b82d76706ef16c94f4e48f835a 100644 (file)
@@ -378,13 +378,10 @@ Player::black_player_video_frame (Eyes eyes) const
        );
 }
 
-Frame
-Player::dcp_to_content_video (shared_ptr<const Piece> piece, DCPTime t) const
-{
-       DCPTime s = t - piece->content->position ();
-       s = min (piece->content->length_after_trim(_film), s);
-       s = max (DCPTime(), s + DCPTime (piece->content->trim_start(), piece->frc));
 
+DCPTime
+Player::content_video_to_dcp (shared_ptr<const Piece> piece, Frame f) const
+{
        /* It might seem more logical here to convert s to a ContentTime (using the FrameRateChange)
           then convert that ContentTime to frames at the content's rate.  However this fails for
           situations like content at 29.9978733fps, DCP at 30fps.  The accuracy of the Time type is not
@@ -392,30 +389,15 @@ Player::dcp_to_content_video (shared_ptr<const Piece> piece, DCPTime t) const
 
           Instead we convert the DCPTime using the DCP video rate then account for any skip/repeat.
        */
-       return s.frames_floor (piece->frc.dcp) / piece->frc.factor ();
-}
-
-DCPTime
-Player::content_video_to_dcp (shared_ptr<const Piece> piece, Frame f) const
-{
-       /* See comment in dcp_to_content_video */
        DCPTime const d = DCPTime::from_frames (f * piece->frc.factor(), piece->frc.dcp) - DCPTime(piece->content->trim_start(), piece->frc);
        return d + piece->content->position();
 }
 
-Frame
-Player::dcp_to_resampled_audio (shared_ptr<const Piece> piece, DCPTime t) const
-{
-       DCPTime s = t - piece->content->position ();
-       s = min (piece->content->length_after_trim(_film), s);
-       /* See notes in dcp_to_content_video */
-       return max (DCPTime (), DCPTime (piece->content->trim_start (), piece->frc) + s).frames_floor (_film->audio_frame_rate ());
-}
 
 DCPTime
 Player::resampled_audio_to_dcp (shared_ptr<const Piece> piece, Frame f) const
 {
-       /* See comment in dcp_to_content_video */
+       /* See notes in content_video_to_dcp */
        return DCPTime::from_frames (f, _film->audio_frame_rate())
                - DCPTime (piece->content->trim_start(), piece->frc)
                + piece->content->position();
index ea81ae939bb85e181e557502e1258921543f8849..f4bd26d9fb9416683e2b36c2da4b68c128b4fd91 100644 (file)
@@ -126,9 +126,7 @@ private:
        void film_change (ChangeType, Film::Property);
        void playlist_change (ChangeType);
        void playlist_content_change (ChangeType, int, bool);
-       Frame dcp_to_content_video (boost::shared_ptr<const Piece> piece, dcpomatic::DCPTime t) const;
        dcpomatic::DCPTime content_video_to_dcp (boost::shared_ptr<const Piece> piece, Frame f) const;
-       Frame dcp_to_resampled_audio (boost::shared_ptr<const Piece> piece, dcpomatic::DCPTime t) const;
        dcpomatic::DCPTime resampled_audio_to_dcp (boost::shared_ptr<const Piece> piece, Frame f) const;
        dcpomatic::ContentTime dcp_to_content_time (boost::shared_ptr<const Piece> piece, dcpomatic::DCPTime t) const;
        dcpomatic::DCPTime content_time_to_dcp (boost::shared_ptr<const Piece> piece, dcpomatic::ContentTime t) const;
index dbcf2677becd4195296f135af82a7dc0ee728a0d..5106dcdaf755a49873e001e6c0fc8f8a03a0ea57 100644 (file)
@@ -177,212 +177,6 @@ BOOST_AUTO_TEST_CASE (ffmpeg_time_calculation_test)
 
 }
 
-/** Test Player::dcp_to_content_video */
-BOOST_AUTO_TEST_CASE (player_time_calculation_test1)
-{
-       shared_ptr<Film> film = new_test_film ("player_time_calculation_test1");
-
-       shared_ptr<cxml::Document> doc (new cxml::Document);
-       doc->read_string (xml);
-
-       list<string> notes;
-       shared_ptr<FFmpegContent> content (new FFmpegContent(doc, film->state_version(), notes));
-       film->set_sequence (false);
-       film->add_content (content);
-
-       shared_ptr<Player> player (new Player(film));
-
-       /* Position 0, no trim, content rate = DCP rate */
-       content->set_position (film, DCPTime());
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (24);
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       shared_ptr<Piece> piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (0.5)), 12);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (3.0)), 72);
-
-       /* Position 3s, no trim, content rate = DCP rate */
-       content->set_position (film, DCPTime::from_seconds(3));
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (24);
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (0.50)),   0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (3.00)),   0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (4.50)),  36);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (9.75)), 162);
-
-       /* Position 3s, 1.5s trim, content rate = DCP rate */
-       content->set_position (film, DCPTime::from_seconds(3));
-       content->set_trim_start (ContentTime::from_seconds (1.5));
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (24);
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (0.50)),   0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (3.00)),  36);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (4.50)),  72);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (9.75)), 198);
-
-       /* Position 0, no trim, content rate 24, DCP rate 25.
-          Now, for example, a DCPTime position of 3s means 3s at 25fps.  Since we run the video
-          fast (at 25fps) in this case, this means 75 frames of content video will be used.
-       */
-       content->set_position (film, DCPTime());
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (25);
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (0.6)), 15);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (3.0)), 75);
-
-       /* Position 3s, no trim, content rate 24, DCP rate 25 */
-       content->set_position (film, DCPTime::from_seconds(3));
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (25);
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (0.60)),   0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (3.00)),   0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (4.60)),  40);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (9.75)), 168);
-
-       /* Position 3s, 1.6s trim, content rate 24, DCP rate 25.  Here the trim is in ContentTime,
-          so it's 1.6s at 24fps.  Note that trims are rounded to the nearest video frame, so
-          some of these results are not quite what you'd perhaps expect.
-        */
-       content->set_position (film, DCPTime::from_seconds(3));
-       content->set_trim_start (ContentTime::from_seconds (1.6));
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (25);
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (0.60)),   0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (3.00)),  38);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (4.60)),  78);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (9.75)), 206);
-
-       /* Position 0, no trim, content rate 24, DCP rate 48
-          Now, for example, a DCPTime position of 3s means 3s at 48fps.  Since we run the video
-          with repeated frames in this case, 3 * 24 frames of content video will
-          be used to make 3 * 48 frames of DCP video.  The results should be the same as the
-          content rate = DCP rate case.
-       */
-       content->set_position (film, DCPTime());
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (48);
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (0.5)), 12);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (3.0)), 72);
-
-       /* Position 3s, no trim, content rate 24, DCP rate 48 */
-       content->set_position (film, DCPTime::from_seconds(3));
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (48);
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (0.50)),   0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (3.00)),   0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (4.50)),  36);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (9.75)), 162);
-
-       /* Position 3s, 1.5s trim, content rate 24, DCP rate 48 */
-       content->set_position (film, DCPTime::from_seconds(3));
-       content->set_trim_start (ContentTime::from_seconds (1.5));
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (48);
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (0.50)),   0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (3.00)),  36);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (4.50)),  72);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (9.75)), 198);
-
-       /* Position 0, no trim, content rate 48, DCP rate 24
-          Now, for example, a DCPTime position of 3s means 3s at 24fps.  Since we run the video
-          with skipped frames in this case, 3 * 48 frames of content video will
-          be used to make 3 * 24 frames of DCP video.
-       */
-       content->set_position (film, DCPTime());
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (48);
-       film->set_video_frame_rate (24);
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (0.5)), 24);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (3.0)), 144);
-
-       /* Position 3s, no trim, content rate 24, DCP rate 48 */
-       content->set_position (film, DCPTime::from_seconds(3));
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (48);
-       film->set_video_frame_rate (24);
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (0.50)),   0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (3.00)),   0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (4.50)),  72);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (9.75)), 324);
-
-       /* Position 3s, 1.5s trim, content rate 24, DCP rate 48 */
-       content->set_position (film, DCPTime::from_seconds(3));
-       content->set_trim_start (ContentTime::from_seconds (1.5));
-       content->set_video_frame_rate (48);
-       film->set_video_frame_rate (24);
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (0.50)),   0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (3.00)),  72);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (4.50)), 144);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime::from_seconds (9.75)), 396);
-
-       /* Position 0s, no trim, content rate 29.9978733, DCP rate 30 */
-       content->set_position (film, DCPTime::from_seconds(0));
-       content->set_trim_start (ContentTime::from_seconds (0));
-       content->set_video_frame_rate (29.9978733);
-       film->set_video_frame_rate (30);
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime (3200)), 1);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime (6400)), 2);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime (9600)), 3);
-       BOOST_CHECK_EQUAL (player->dcp_to_content_video (piece, DCPTime (12800)), 4);
-
-}
-
 /** Test Player::content_video_to_dcp */
 BOOST_AUTO_TEST_CASE (player_time_calculation_test2)
 {
@@ -559,254 +353,3 @@ BOOST_AUTO_TEST_CASE (player_time_calculation_test2)
        BOOST_CHECK_EQUAL (player->content_video_to_dcp(piece, 396).get(), DCPTime::from_seconds(9.75).get());
 }
 
-/** Test Player::dcp_to_content_audio */
-BOOST_AUTO_TEST_CASE (player_time_calculation_test3)
-{
-       shared_ptr<Film> film = new_test_film ("player_time_calculation_test3");
-
-       shared_ptr<cxml::Document> doc (new cxml::Document);
-       doc->read_string (xml);
-
-       list<string> notes;
-       shared_ptr<FFmpegContent> content (new FFmpegContent(doc, film->state_version(), notes));
-       AudioStreamPtr stream = content->audio->streams().front();
-       film->set_sequence (false);
-       film->add_content (content);
-
-       shared_ptr<Player> player (new Player(film));
-
-       /* Position 0, no trim, video/audio content rate = video/audio DCP rate */
-       content->set_position (film, DCPTime());
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (24);
-       stream->_frame_rate = 48000;
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       shared_ptr<Piece> piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (0.5)),  24000);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (3.0)), 144000);
-
-       /* Position 3s, no trim, video/audio content rate = video/audio DCP rate */
-       content->set_position (film, DCPTime::from_seconds (3));
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (24);
-       stream->_frame_rate = 48000;
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (0.50)),      0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (3.00)),      0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (4.50)),  72000);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (9.75)), 324000);
-
-       /* Position 3s, 1.5s trim, video/audio content rate = video/audio DCP rate */
-       content->set_position (film, DCPTime::from_seconds (3));
-       content->set_trim_start (ContentTime::from_seconds (1.5));
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (24);
-       stream->_frame_rate = 48000;
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (0.50)),      0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (3.00)),  72000);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (4.50)), 144000);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (9.75)), 396000);
-
-       /* Position 0, no trim, content video rate 24, DCP video rate 25, both audio rates still 48k */
-       content->set_position (film, DCPTime());
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (25);
-       stream->_frame_rate = 48000;
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (0.6)),  28800);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (3.0)), 144000);
-
-       /* Position 3s, no trim, content video rate 24, DCP rate 25, both audio rates still 48k. */
-       content->set_position (film, DCPTime::from_seconds(3));
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (25);
-       stream->_frame_rate = 48000;
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (0.60)),      0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (3.00)),      0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (4.60)),  76800);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (9.75)), 324000);
-
-       /* Position 3s, 1.6s trim, content rate 24, DCP rate 25, both audio rates still 48k.
-          1s of content is 46080 samples after resampling.
-       */
-       content->set_position (film, DCPTime::from_seconds(3));
-       content->set_trim_start (ContentTime::from_seconds (1.6));
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (25);
-       stream->_frame_rate = 48000;
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (0.60)),      0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (3.00)),  72960);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (4.60)), 149760);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (9.75)), 396960);
-
-       /* Position 0, no trim, content rate 24, DCP rate 48, both audio rates still 48k.
-          Now, for example, a DCPTime position of 3s means 3s at 48fps.  Since we run the video
-          with repeated frames in this case, audio samples will map straight through.
-          The results should be the same as the content rate = DCP rate case.
-       */
-       content->set_position (film, DCPTime());
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (48);
-       stream->_frame_rate = 48000;
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (0.5)),  24000);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (3.0)), 144000);
-
-       /* Position 3s, no trim, content rate 24, DCP rate 48 */
-       content->set_position (film, DCPTime::from_seconds(3));
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (24);
-       stream->_frame_rate = 48000;
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (0.50)),      0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (3.00)),      0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (4.50)),  72000);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (9.75)), 324000);
-
-       /* Position 3s, 1.5s trim, content rate 24, DCP rate 48 */
-       content->set_position (film, DCPTime::from_seconds(3));
-       content->set_trim_start (ContentTime::from_seconds (1.5));
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (24);
-       stream->_frame_rate = 48000;
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (0.50)),   0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (3.00)),  72000);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (4.50)), 144000);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (9.75)), 396000);
-
-       /* Position 0, no trim, content rate 48, DCP rate 24
-          Now, for example, a DCPTime position of 3s means 3s at 24fps.  Since we run the video
-          with skipped frames in this case, audio samples should map straight through.
-       */
-       content->set_position (film, DCPTime());
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (48);
-       stream->_frame_rate = 48000;
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (0.5)),  24000);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (3.0)), 144000);
-
-       /* Position 3s, no trim, content rate 24, DCP rate 48 */
-       content->set_position (film, DCPTime::from_seconds(3));
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (24);
-       stream->_frame_rate = 48000;
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (0.50)),      0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (3.00)),      0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (4.50)),  72000);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (9.75)), 324000);
-
-       /* Position 3s, 1.5s trim, content rate 24, DCP rate 48 */
-       content->set_position (film, DCPTime::from_seconds(3));
-       content->set_trim_start (ContentTime::from_seconds (1.5));
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (24);
-       stream->_frame_rate = 48000;
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (0.50)),   0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (3.00)),  72000);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (4.50)), 144000);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (9.75)), 396000);
-
-       /* Position 0, no trim, video content rate = video DCP rate, content audio rate = 44.1k */
-       content->set_position (film, DCPTime());
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (24);
-       stream->_frame_rate = 44100;
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (0.5)),  24000);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (3.0)), 144000);
-
-       /* Position 3s, no trim, video content rate = video DCP rate, content audio rate = 44.1k */
-       content->set_position (film, DCPTime::from_seconds(3));
-       content->set_trim_start (ContentTime ());
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (24);
-       stream->_frame_rate = 44100;
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (0.50)),      0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (3.00)),      0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (4.50)),  72000);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (9.75)), 324000);
-
-       /* Position 3s, 1.5s trim, video content rate = video DCP rate, content audio rate = 44.1k */
-       content->set_position (film, DCPTime::from_seconds(3));
-       content->set_trim_start (ContentTime::from_seconds (1.5));
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (24);
-       stream->_frame_rate = 44100;
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime ()), 0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (0.50)),      0);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (3.00)),  72000);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (4.50)), 144000);
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime::from_seconds (9.75)), 396000);
-
-       /* Check with a large start trim */
-       content->set_position (film, DCPTime::from_seconds(0));
-       content->set_trim_start (ContentTime::from_seconds (54143));
-       content->set_video_frame_rate (24);
-       film->set_video_frame_rate (24);
-       stream->_frame_rate = 48000;
-       player->setup_pieces ();
-       BOOST_REQUIRE_EQUAL (player->_pieces.size(), 1);
-       piece = player->_pieces.front ();
-       BOOST_CHECK_EQUAL (player->dcp_to_resampled_audio (piece, DCPTime ()), 54143L * 48000);
-}