From f70660b8a1137d13b139b3d54d6d767d7fddfdd8 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Tue, 16 Feb 2016 08:07:36 +0000 Subject: added ffmpeg 3.0 support git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@6131 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp') diff --git a/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp b/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp index 16a6c3bff..b2343242a 100644 --- a/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp +++ b/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp @@ -91,7 +91,11 @@ DecoderFFmpeg::~DecoderFFmpeg() if (ic) avformat_free_context(ic); if(m_pkt.data) +#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(104<<8)+102)) //ffmpeg-3.0 av_free_packet(&m_pkt); +#else + av_packet_unref(&m_pkt); +#endif if(m_stream) av_free(m_stream); @@ -376,7 +380,11 @@ qint64 DecoderFFmpeg::ffmpeg_decode() m_temp_pkt.size -= l; } if (!m_temp_pkt.size && m_pkt.data) +#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(104<<8)+102)) //ffmpeg-3.0 av_free_packet(&m_pkt); +#else + av_packet_unref(&m_pkt); +#endif return out_size; } @@ -389,7 +397,11 @@ void DecoderFFmpeg::seek(qint64 pos) m_seekTime = timestamp; av_seek_frame(ic, -1, timestamp, AVSEEK_FLAG_BACKWARD); avcodec_flush_buffers(c); - av_free_packet(&m_pkt); +#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(104<<8)+102)) //ffmpeg-3.0 + av_free_packet(&m_pkt); +#else + av_packet_unref(&m_pkt); +#endif m_temp_pkt.size = 0; } @@ -410,7 +422,11 @@ void DecoderFFmpeg::fillBuffer() if(m_pkt.stream_index != wma_idx) { if(m_pkt.data) +#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(104<<8)+102)) //ffmpeg-3.0 av_free_packet(&m_pkt); +#else + av_packet_unref(&m_pkt); +#endif m_temp_pkt.size = 0; continue; } @@ -480,7 +496,11 @@ void DecoderFFmpeg::fillBuffer() #endif { if(m_pkt.data) +#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(104<<8)+102)) //ffmpeg-3.0 av_free_packet(&m_pkt); +#else + av_packet_unref(&m_pkt); +#endif m_pkt.data = 0; m_temp_pkt.size = 0; break; @@ -490,7 +510,11 @@ void DecoderFFmpeg::fillBuffer() else if(m_output_at == 0) { if(m_pkt.data) +#if (LIBAVCODEC_VERSION_INT >= ((57<<16)+(104<<8)+102)) //ffmpeg-3.0 av_free_packet(&m_pkt); +#else + av_packet_unref(&m_pkt); +#endif m_pkt.data = 0; m_temp_pkt.size = 0; continue; -- cgit v1.2.3-13-gbd6f