From 807c72b2f15f53bd1ff1bbcbd32f5e172461c74f Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Tue, 12 Apr 2016 21:15:05 +0200
Subject: [PATCH] decoder/ffmpeg: use av_packet_unref() instead of
 av_free_packet()

av_free_packet() was deprecated in FFmpeg 3.0.
---
 NEWS                                        | 1 +
 src/decoder/plugins/FfmpegDecoderPlugin.cxx | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/NEWS b/NEWS
index 74c195275..bd9c46968 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,6 @@
 ver 0.19.15 (not yet released)
 * decoder
+  - ffmpeg: support FFmpeg 3.0
   - ffmpeg: use as fallback instead of "mad" if no plugin matches
 * fix more build failures on non-glibc builds due to constexpr Mutex
 
diff --git a/src/decoder/plugins/FfmpegDecoderPlugin.cxx b/src/decoder/plugins/FfmpegDecoderPlugin.cxx
index 95525b626..fabc3327a 100644
--- a/src/decoder/plugins/FfmpegDecoderPlugin.cxx
+++ b/src/decoder/plugins/FfmpegDecoderPlugin.cxx
@@ -640,7 +640,11 @@ ffmpeg_decode(Decoder &decoder, InputStream &input)
 		} else
 			cmd = decoder_get_command(decoder);
 
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(56, 25, 100)
+		av_packet_unref(&packet);
+#else
 		av_free_packet(&packet);
+#endif
 
 		if (cmd == DecoderCommand::SEEK) {
 			int64_t where =