summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-04-24 01:02:39 +0200
committerCarl Hetherington <cth@carlh.net>2021-05-07 09:29:59 +0200
commit3b4794876db7b5351a09fa6366b87ae57af31463 (patch)
tree3196866f3bbafb59beca8a9d4b0ef5c88621875a
parentfe4ac7c831d500ffd2e57e0bcfe4659e892917d6 (diff)
Add Piece::pass().
-rw-r--r--src/lib/piece.cc9
-rw-r--r--src/lib/piece.h2
-rw-r--r--src/lib/player.cc3
3 files changed, 12 insertions, 2 deletions
diff --git a/src/lib/piece.cc b/src/lib/piece.cc
index c1034a6fe..0dad25178 100644
--- a/src/lib/piece.cc
+++ b/src/lib/piece.cc
@@ -21,6 +21,7 @@
#include "audio_content.h"
#include "content.h"
+#include "dcpomatic_log.h"
#include "decoder.h"
#include "film.h"
#include "piece.h"
@@ -191,3 +192,11 @@ Piece::decoder_position () const
return content_time_to_dcp(std::max(decoder->position(), content->trim_start()));
}
+
+void
+Piece::pass ()
+{
+ LOG_DEBUG_PLAYER ("Calling pass() on %1", content->path(0));
+ done = decoder->pass();
+}
+
diff --git a/src/lib/piece.h b/src/lib/piece.h
index f78a4f552..7379a5c3f 100644
--- a/src/lib/piece.h
+++ b/src/lib/piece.h
@@ -49,6 +49,8 @@ public:
dcpomatic::ContentTime dcp_to_content_time (dcpomatic::DCPTime t, std::shared_ptr<const Film> film) const;
dcpomatic::DCPTime content_time_to_dcp (dcpomatic::ContentTime t) const;
+ void pass ();
+
bool use_video () const;
VideoFrameType video_frame_type () const;
diff --git a/src/lib/player.cc b/src/lib/player.cc
index ae36984e8..c9526411c 100644
--- a/src/lib/player.cc
+++ b/src/lib/player.cc
@@ -626,8 +626,7 @@ Player::pass ()
switch (which) {
case CONTENT:
{
- LOG_DEBUG_PLAYER ("Calling pass() on %1", earliest_content->content->path(0));
- earliest_content->done = earliest_content->decoder->pass ();
+ earliest_content->pass();
auto dcp = dynamic_pointer_cast<DCPContent>(earliest_content->content);
if (dcp && !_play_referenced && dcp->reference_audio()) {
/* We are skipping some referenced DCP audio content, so we need to update _last_audio_time