summaryrefslogtreecommitdiff
path: root/src/lib/dcp_decoder.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/dcp_decoder.cc')
-rw-r--r--src/lib/dcp_decoder.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/dcp_decoder.cc b/src/lib/dcp_decoder.cc
index 0b99e8dd0..c7294bda7 100644
--- a/src/lib/dcp_decoder.cc
+++ b/src/lib/dcp_decoder.cc
@@ -54,9 +54,12 @@ DCPDecoder::DCPDecoder (shared_ptr<const DCPContent> c, shared_ptr<Log> log)
, _decode_referenced (false)
{
video.reset (new VideoDecoder (this, c, log));
- audio.reset (new AudioDecoder (this, c->audio, log));
-
- subtitle.reset (new SubtitleDecoder (this, c->subtitle, log));
+ if (c->audio) {
+ audio.reset (new AudioDecoder (this, c->audio, log));
+ }
+ if (c->subtitle) {
+ subtitle.reset (new SubtitleDecoder (this, c->subtitle, log));
+ }
shared_ptr<dcp::CPL> cpl;
BOOST_FOREACH (shared_ptr<dcp::CPL> i, cpls ()) {