package/squeezelite: fix build with FFmpeg 4.0
authorBernd Kuhls <bernd.kuhls@t-online.de>
Sat, 25 Aug 2018 07:31:17 +0000 (09:31 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sat, 8 Sep 2018 21:25:36 +0000 (23:25 +0200)
Git-formatted patch 0003.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/squeezelite/0003-Replace-deprecated-FFmpeg-API.patch [new file with mode: 0644]
package/squeezelite/0003-ffmpeg_2_9.patch [deleted file]
package/squeezelite/0004-Fix-FTBFS-with-FFmpeg-4.0.patch [new file with mode: 0644]

diff --git a/package/squeezelite/0003-Replace-deprecated-FFmpeg-API.patch b/package/squeezelite/0003-Replace-deprecated-FFmpeg-API.patch
new file mode 100644 (file)
index 0000000..74d8f1b
--- /dev/null
@@ -0,0 +1,65 @@
+From cce6a0378ac319b87d2545d73f593d440bf686f5 Mon Sep 17 00:00:00 2001
+From: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
+Date: Sat, 18 Aug 2018 13:25:23 +0200
+Subject: [PATCH] Replace deprecated FFmpeg API
+
+Fixes compilation with ffmpeg >= 2.9.
+
+Downloaded from Debian:
+https://sources.debian.org/src/squeezelite/1.8-4.1/debian/patches/ffmpeg_2.9.patch/
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ ffmpeg.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/ffmpeg.c b/ffmpeg.c
+index 279f31d..bc9136c 100644
+--- a/ffmpeg.c
++++ b/ffmpeg.c
+@@ -52,8 +52,8 @@ struct ff_s {
+       unsigned (* avcodec_version)(void);
+       AVCodec * (* avcodec_find_decoder)(int);
+       int attribute_align_arg (* avcodec_open2)(AVCodecContext *, const AVCodec *, AVDictionary **);
+-      AVFrame * (* avcodec_alloc_frame)(void);
+-      void (* avcodec_free_frame)(AVFrame **);
++      AVFrame * (* av_frame_alloc)(void);
++      void (* av_frame_free)(AVFrame **);
+       int attribute_align_arg (* avcodec_decode_audio4)(AVCodecContext *, AVFrame *, int *, const AVPacket *);
+       // ffmpeg symbols to be dynamically loaded from libavformat
+       unsigned (* avformat_version)(void);
+@@ -324,7 +324,7 @@ static decode_state ff_decode(void) {
+               AVCODEC(ff, open2, ff->codecC, codec, NULL);
+-              ff->frame = AVCODEC(ff, alloc_frame);
++              ff->frame = AV(ff, frame_alloc);
+               ff->avpkt = AV(ff, malloc, sizeof(AVPacket));
+               if (ff->avpkt == NULL) {
+@@ -520,9 +520,9 @@ static void _free_ff_data(void) {
+       if (ff->frame) {
+               // ffmpeg version dependant free function
+ #if !LINKALL
+-              ff->avcodec_free_frame ? AVCODEC(ff, free_frame, &ff->frame) : AV(ff, freep, &ff->frame);
++              ff->av_frame_free ? AV(ff, frame_free, &ff->frame) : AV(ff, freep, &ff->frame);
+ #elif LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54,28,0)
+-              AVCODEC(ff, free_frame, &ff->frame);
++              AV(ff, frame_free, &ff->frame);
+ #else
+               AV(ff, freep, &ff->frame);
+ #endif
+@@ -607,8 +607,8 @@ static bool load_ff() {
+       ff->avcodec_version = dlsym(handle_codec, "avcodec_version");
+       ff->avcodec_find_decoder = dlsym(handle_codec, "avcodec_find_decoder");
+       ff->avcodec_open2 = dlsym(handle_codec, "avcodec_open2");
+-      ff->avcodec_alloc_frame = dlsym(handle_codec, "avcodec_alloc_frame");
+-      ff->avcodec_free_frame = dlsym(handle_codec, "avcodec_free_frame");
++      ff->av_frame_alloc = dlsym(handle_codec, "av_frame_alloc");
++      ff->av_frame_free = dlsym(handle_codec, "av_frame_free");
+       ff->avcodec_decode_audio4 = dlsym(handle_codec, "avcodec_decode_audio4");
+       ff->av_init_packet = dlsym(handle_codec, "av_init_packet");
+       ff->av_free_packet = dlsym(handle_codec, "av_free_packet");
+-- 
+2.18.0
+
diff --git a/package/squeezelite/0003-ffmpeg_2_9.patch b/package/squeezelite/0003-ffmpeg_2_9.patch
deleted file mode 100644 (file)
index f69b829..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-Fix compilation with ffmpeg >= 2.9
-
-Downloaded from Debian:
-https://sources.debian.net/src/squeezelite/1.8-3/debian/patches/ffmpeg_2.9.patch/
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-
-
-Description: Replace deprecated FFmpeg API
-Author: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
-Last-Update: <2015-11-02>
-
---- squeezelite-1.8.orig/ffmpeg.c
-+++ squeezelite-1.8/ffmpeg.c
-@@ -52,8 +52,8 @@ struct ff_s {
-       unsigned (* avcodec_version)(void);
-       AVCodec * (* avcodec_find_decoder)(int);
-       int attribute_align_arg (* avcodec_open2)(AVCodecContext *, const AVCodec *, AVDictionary **);
--      AVFrame * (* avcodec_alloc_frame)(void);
--      void (* avcodec_free_frame)(AVFrame **);
-+      AVFrame * (* av_frame_alloc)(void);
-+      void (* av_frame_free)(AVFrame **);
-       int attribute_align_arg (* avcodec_decode_audio4)(AVCodecContext *, AVFrame *, int *, const AVPacket *);
-       // ffmpeg symbols to be dynamically loaded from libavformat
-       unsigned (* avformat_version)(void);
-@@ -324,7 +324,7 @@ static decode_state ff_decode(void) {
-               AVCODEC(ff, open2, ff->codecC, codec, NULL);
--              ff->frame = AVCODEC(ff, alloc_frame);
-+              ff->frame = AV(ff, frame_alloc);
-               ff->avpkt = AV(ff, malloc, sizeof(AVPacket));
-               if (ff->avpkt == NULL) {
-@@ -520,9 +520,9 @@ static void _free_ff_data(void) {
-       if (ff->frame) {
-               // ffmpeg version dependant free function
- #if !LINKALL
--              ff->avcodec_free_frame ? AVCODEC(ff, free_frame, &ff->frame) : AV(ff, freep, &ff->frame);
-+              ff->av_frame_free ? AV(ff, frame_free, &ff->frame) : AV(ff, freep, &ff->frame);
- #elif LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54,28,0)
--              AVCODEC(ff, free_frame, &ff->frame);
-+              AV(ff, frame_free, &ff->frame);
- #else
-               AV(ff, freep, &ff->frame);
- #endif
-@@ -607,8 +607,8 @@ static bool load_ff() {
-       ff->avcodec_version = dlsym(handle_codec, "avcodec_version");
-       ff->avcodec_find_decoder = dlsym(handle_codec, "avcodec_find_decoder");
-       ff->avcodec_open2 = dlsym(handle_codec, "avcodec_open2");
--      ff->avcodec_alloc_frame = dlsym(handle_codec, "avcodec_alloc_frame");
--      ff->avcodec_free_frame = dlsym(handle_codec, "avcodec_free_frame");
-+      ff->av_frame_alloc = dlsym(handle_codec, "av_frame_alloc");
-+      ff->av_frame_free = dlsym(handle_codec, "av_frame_free");
-       ff->avcodec_decode_audio4 = dlsym(handle_codec, "avcodec_decode_audio4");
-       ff->av_init_packet = dlsym(handle_codec, "av_init_packet");
-       ff->av_free_packet = dlsym(handle_codec, "av_free_packet");
diff --git a/package/squeezelite/0004-Fix-FTBFS-with-FFmpeg-4.0.patch b/package/squeezelite/0004-Fix-FTBFS-with-FFmpeg-4.0.patch
new file mode 100644 (file)
index 0000000..25a5db3
--- /dev/null
@@ -0,0 +1,31 @@
+From 4ad37284447e768d641768c7c8a69c4640c83181 Mon Sep 17 00:00:00 2001
+From: James Cowgill <jcowgill@debian.org>
+Date: Sat, 18 Aug 2018 13:26:59 +0200
+Subject: [PATCH] Fix FTBFS with FFmpeg 4.0
+
+Bug-Debian: https://bugs.debian.org/888335
+
+Downloaded from Debian:
+https://sources.debian.org/src/squeezelite/1.8-4.1/debian/patches/ffmpeg4.0.patch/
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ ffmpeg.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ffmpeg.c b/ffmpeg.c
+index bc9136c..d51b08e 100644
+--- a/ffmpeg.c
++++ b/ffmpeg.c
+@@ -264,7 +264,7 @@ static decode_state ff_decode(void) {
+               ff->mmsh_bytes_left = ff->mmsh_bytes_pad = ff->mmsh_packet_len = 0;
+               if (!ff->readbuf) {
+-                      ff->readbuf = AV(ff, malloc, READ_SIZE +  FF_INPUT_BUFFER_PADDING_SIZE);
++                      ff->readbuf = AV(ff, malloc, READ_SIZE +  AV_INPUT_BUFFER_PADDING_SIZE);
+               }
+               avio = AVIO(ff, alloc_context, ff->readbuf, READ_SIZE, 0, NULL, _read_data, NULL, NULL);
+-- 
+2.18.0
+