Tolerate DCPs with no video and/or audio.
authorCarl Hetherington <cth@carlh.net>
Sat, 28 Oct 2023 19:48:26 +0000 (21:48 +0200)
committerCarl Hetherington <cth@carlh.net>
Sat, 28 Oct 2023 19:48:26 +0000 (21:48 +0200)
src/lib/dcp_decoder.cc

index 0a57ce7f5922ccb810a19f73be3606b38f79d931..c1f025d809bf9760b350098ef360495ecd6d50dc 100644 (file)
@@ -372,8 +372,7 @@ DCPDecoder::get_readers ()
                return;
        }
 
-       DCPOMATIC_ASSERT(video);
-       if (!video->ignore() && (*_reel)->main_picture()) {
+       if (video && !video->ignore() && (*_reel)->main_picture()) {
                auto asset = (*_reel)->main_picture()->asset ();
                auto mono = dynamic_pointer_cast<dcp::MonoPictureAsset> (asset);
                auto stereo = dynamic_pointer_cast<dcp::StereoPictureAsset> (asset);
@@ -392,8 +391,7 @@ DCPDecoder::get_readers ()
                _stereo_reader.reset ();
        }
 
-       DCPOMATIC_ASSERT(audio);
-       if (!audio->ignore() && (*_reel)->main_sound()) {
+       if (audio && !audio->ignore() && (*_reel)->main_sound()) {
                _sound_reader = (*_reel)->main_sound()->asset()->start_read ();
                _sound_reader->set_check_hmac (false);
        } else {