X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Flib%2Fffmpeg_examiner.cc;h=853db90be3e3ef1ec36cc834a51f0ff6754468e9;hb=2e2f11b29651cffe37c64275dbd45c7563310020;hp=632508e0ed3670f0e9fa89272751d4d1a9a28dec;hpb=e29ce33a36c2e20444d57196defc86d5072bce81;p=dcpomatic.git diff --git a/src/lib/ffmpeg_examiner.cc b/src/lib/ffmpeg_examiner.cc index 632508e0e..853db90be 100644 --- a/src/lib/ffmpeg_examiner.cc +++ b/src/lib/ffmpeg_examiner.cc @@ -33,8 +33,9 @@ extern "C" { #include #include #include -#include +#include #include +#include } DCPOMATIC_ENABLE_WARNINGS #include @@ -69,7 +70,8 @@ FFmpegExaminer::FFmpegExaminer (shared_ptr c, shared_ptrnb_streams; ++i) { auto s = _format_context->streams[i]; - if (s->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) { + auto codec = _codec_context[i] ? _codec_context[i]->codec : nullptr; + if (s->codecpar->codec_type == AVMEDIA_TYPE_AUDIO && codec) { /* This is a hack; sometimes it seems that _audio_codec_context->channel_layout isn't set up, so bodge it here. No idea why we should have to do this. @@ -79,10 +81,7 @@ FFmpegExaminer::FFmpegExaminer (shared_ptr c, shared_ptrcodecpar->channel_layout = av_get_default_channel_layout (s->codecpar->channels); } - auto codec = _codec_context[i]->codec; - DCPOMATIC_ASSERT (_format_context->duration != AV_NOPTS_VALUE); - DCPOMATIC_ASSERT (codec); DCPOMATIC_ASSERT (codec->name); _audio_streams.push_back (