aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Input/ffmpeg/decoder_ffmpeg.cpp')
-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;