summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-04-24 00:43:49 +0200
committerCarl Hetherington <cth@carlh.net>2021-05-07 09:29:59 +0200
commitfe4ac7c831d500ffd2e57e0bcfe4659e892917d6 (patch)
treec53b76b5fee2499d1a50605cfb18f55aa2bb5bcf /src/lib
parent48ce861574440af5baa15198af543de52f0467bb (diff)
Add Piece::decoder_position().
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/piece.cc7
-rw-r--r--src/lib/piece.h2
-rw-r--r--src/lib/player.cc2
3 files changed, 10 insertions, 1 deletions
diff --git a/src/lib/piece.cc b/src/lib/piece.cc
index 732ab75ee..c1034a6fe 100644
--- a/src/lib/piece.cc
+++ b/src/lib/piece.cc
@@ -21,6 +21,7 @@
#include "audio_content.h"
#include "content.h"
+#include "decoder.h"
#include "film.h"
#include "piece.h"
#include "player_video.h"
@@ -184,3 +185,9 @@ Piece::decoder_for (shared_ptr<Content> content_) const
}
+DCPTime
+Piece::decoder_position () const
+{
+ return content_time_to_dcp(std::max(decoder->position(), content->trim_start()));
+}
+
diff --git a/src/lib/piece.h b/src/lib/piece.h
index bc58c3f16..f78a4f552 100644
--- a/src/lib/piece.h
+++ b/src/lib/piece.h
@@ -66,6 +66,8 @@ public:
std::shared_ptr<Decoder> decoder_for (std::shared_ptr<Content> content) const;
+ dcpomatic::DCPTime decoder_position () const;
+
std::shared_ptr<Content> content;
std::shared_ptr<Decoder> decoder;
boost::optional<dcpomatic::DCPTimePeriod> ignore_video;
diff --git a/src/lib/player.cc b/src/lib/player.cc
index bf8a1d222..ae36984e8 100644
--- a/src/lib/player.cc
+++ b/src/lib/player.cc
@@ -585,7 +585,7 @@ Player::pass ()
continue;
}
- auto const t = i->content_time_to_dcp (max(i->decoder->position(), i->content->trim_start()));
+ auto const t = i->decoder_position ();
if (t > i->end(_film)) {
i->done = true;
} else {