summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-05-19 13:17:10 +0200
committerCarl Hetherington <cth@carlh.net>2020-05-21 01:33:48 +0200
commitda5e64883d7665353fcf838f6956f2dfb6e8b176 (patch)
treed3ce6fdc6baa722684c17719757f573be7e0812d /src/lib
parent83416808c0b1ca732e7a186d3811f1ec796fea08 (diff)
Fix enabled/disable overlapping video/audio with DCP content (part of #1355)
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/dcp_content.cc4
-rw-r--r--src/lib/player.cc4
2 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/dcp_content.cc b/src/lib/dcp_content.cc
index 4280ad13a..ca210b558 100644
--- a/src/lib/dcp_content.cc
+++ b/src/lib/dcp_content.cc
@@ -610,7 +610,7 @@ DCPContent::can_reference (shared_ptr<const Film> film, function<bool (shared_pt
static
bool check_video (shared_ptr<const Content> c)
{
- return static_cast<bool>(c->video);
+ return static_cast<bool>(c->video) && c->video->use();
}
bool
@@ -643,7 +643,7 @@ DCPContent::can_reference_video (shared_ptr<const Film> film, string& why_not) c
static
bool check_audio (shared_ptr<const Content> c)
{
- return static_cast<bool>(c->audio);
+ return static_cast<bool>(c->audio) && !c->audio->mapping().mapped_output_channels().empty();
}
bool
diff --git a/src/lib/player.cc b/src/lib/player.cc
index d2e5ed521..fc821d6c7 100644
--- a/src/lib/player.cc
+++ b/src/lib/player.cc
@@ -795,6 +795,10 @@ Player::video (weak_ptr<Piece> wp, ContentVideo video)
return;
}
+ if (!piece->content->video->use()) {
+ return;
+ }
+
FrameRateChange frc (_film, piece->content);
if (frc.skip && (video.frame % 2) == 1) {
return;