aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2016-02-16 08:07:36 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2016-02-16 08:07:36 +0000
commitf70660b8a1137d13b139b3d54d6d767d7fddfdd8 (patch)
tree24a46b952d593c525924c4170eab9c8f7eda9810 /src
parente4cdeedcde608fc706b59d1d3d2ddde30dd18592 (diff)
downloadqmmp-f70660b8a1137d13b139b3d54d6d767d7fddfdd8.tar.gz
qmmp-f70660b8a1137d13b139b3d54d6d767d7fddfdd8.tar.bz2
qmmp-f70660b8a1137d13b139b3d54d6d767d7fddfdd8.zip
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
Diffstat (limited to 'src')
-rw-r--r--src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp26
1 files changed, 25 insertions, 1 deletions
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;