/* Set up the decoder to use the film's set streams */
_decoders.video->set_subtitle_stream (f->subtitle_stream ());
- _decoders.audio->set_audio_stream (f->audio_stream ());
+ if (_decoders.audio) {
+ _decoders.audio->set_audio_stream (f->audio_stream ());
+ }
if (_matcher) {
_decoders.video->connect_video (_matcher);
_decoders.video->connect_video (_encoder);
}
- if (_matcher && _delay_line) {
+ if (_matcher && _delay_line && _decoders.audio) {
_decoders.audio->connect_audio (_delay_line);
_delay_line->connect_audio (_matcher);
_matcher->connect_audio (_gain);
_decoders.video->set_progress ();
}
- if (!done[1] && dynamic_pointer_cast<Decoder> (_decoders.audio) != dynamic_pointer_cast<Decoder> (_decoders.video)) {
+ if (!done[1] && _decoders.audio && dynamic_pointer_cast<Decoder> (_decoders.audio) != dynamic_pointer_cast<Decoder> (_decoders.video)) {
done[1] = _decoders.audio->pass ();
} else {
done[1] = true;