string filt = Filter::ffmpeg_string (_filters);
- return Content::technical_summary() + " - "
- + video->technical_summary() + " - "
- + audio->technical_summary() + " - "
- + String::compose (
- "ffmpeg: audio %1 subtitle %2 filters %3", as, ss, filt
- );
+ string s = Content::technical_summary ();
+
+ if (video) {
+ s += " - " + video->technical_summary ();
+ }
+
+ if (audio) {
+ s += " - " + audio->technical_summary ();
+ }
+
+ return s + String::compose (
+ "ffmpeg: audio %1 subtitle %2 filters %3", as, ss, filt
+ );
}
void
/* XXX: should we reset _packet.data and size after each *_decode_* call? */
- while (decode_video_packet ()) {}
+ while (video && decode_video_packet ()) {}
- decode_audio_packet ();
- audio->flush ();
+ if (audio) {
+ decode_audio_packet ();
+ audio->flush ();
+ }
}
bool