X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fffmpeg.cc;h=a98aa98289e6839dedf04ccc557c33b68d1e9c71;hb=e6f28e7cda23c1ba3c49cc1bf2dc1491c2f87160;hp=53d12419a6872f88a8bdb8b5f58658867620d236;hpb=e194f0003b60b2607da0822485c56cd8267e78dc;p=dcpomatic.git diff --git a/src/lib/ffmpeg.cc b/src/lib/ffmpeg.cc index 53d12419a..a98aa9828 100644 --- a/src/lib/ffmpeg.cc +++ b/src/lib/ffmpeg.cc @@ -21,11 +21,11 @@ extern "C" { #include #include #include -#include } #include "ffmpeg.h" #include "ffmpeg_content.h" #include "exceptions.h" +#include "util.h" #include "i18n.h" @@ -62,7 +62,7 @@ FFmpeg::~FFmpeg () } } - avcodec_free_frame (&_frame); + av_frame_free (&_frame); avformat_close_input (&_format_context); } @@ -85,7 +85,7 @@ FFmpeg::setup_general () av_register_all (); _file_group.set_paths (_ffmpeg_content->paths ()); - _avio_buffer = static_cast (av_malloc (_avio_buffer_size)); + _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); _format_context = avformat_alloc_context (); _format_context->pb = _avio_context; @@ -136,7 +136,7 @@ FFmpeg::setup_general () } } - _frame = avcodec_alloc_frame (); + _frame = av_frame_alloc (); if (_frame == 0) { throw DecodeError (N_("could not allocate frame")); } @@ -146,7 +146,8 @@ void FFmpeg::setup_video () { boost::mutex::scoped_lock lm (_mutex); - + + assert (_video_stream >= 0); AVCodecContext* context = _format_context->streams[_video_stream]->codec; AVCodec* codec = avcodec_find_decoder (context->codec_id);