X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fffmpeg.cc;h=8eb19816c0828b44b1dfc82bc030f19d37378ea5;hb=001ba1644fc6aa54f91fcaaa62ae7e5de2313bc1;hp=0668f9f37b381707b726cee11086ec4511845bca;hpb=ab0e8cdcafdcb83096012380f674b8280474e851;p=dcpomatic.git diff --git a/src/lib/ffmpeg.cc b/src/lib/ffmpeg.cc index 0668f9f37..8eb19816c 100644 --- a/src/lib/ffmpeg.cc +++ b/src/lib/ffmpeg.cc @@ -116,15 +116,16 @@ FFmpeg::setup_general () _file_group.set_paths (_ffmpeg_content->paths ()); _avio_buffer = static_cast (wrapped_av_malloc (_avio_buffer_size)); _avio_context = avio_alloc_context (_avio_buffer, _avio_buffer_size, 0, this, avio_read_wrapper, 0, avio_seek_wrapper); + if (!_avio_context) { + throw std::bad_alloc (); + } _format_context = avformat_alloc_context (); + if (!_format_context) { + throw std::bad_alloc (); + } _format_context->pb = _avio_context; AVDictionary* options = 0; - /* These durations are in microseconds, and represent how far into the content file - we will look for streams. - */ - av_dict_set (&options, "analyzeduration", raw_convert (5 * 60 * 1000000).c_str(), 0); - av_dict_set (&options, "probesize", raw_convert (5 * 60 * 1000000).c_str(), 0); #ifdef DCPOMATIC_VARIANT_SWAROOP if (_ffmpeg_content->kdm()) { DecryptedECinemaKDM kdm (_ffmpeg_content->kdm().get(), Config::instance()->decryption_chain()->key().get());