cmus: patch for FFmpeg 3.0 (from MacPorts).
This commit is contained in:
parent
dae124e8d6
commit
675a420a64
2 changed files with 130 additions and 1 deletions
129
srcpkgs/cmus/patches/ffmpeg3.diff
Normal file
129
srcpkgs/cmus/patches/ffmpeg3.diff
Normal file
|
@ -0,0 +1,129 @@
|
|||
https://trac.macports.org/ticket/51212
|
||||
|
||||
--- configure.orig 2015-07-13 03:00:56.000000000 -0700
|
||||
+++ configure 2016-04-22 15:22:53.000000000 -0700
|
||||
@@ -387,7 +387,7 @@
|
||||
fi
|
||||
# ffmpeg api changes so frequently that it is best to compile the module
|
||||
libs="$LDDLFLAGS $FFMPEG_LIBS"
|
||||
- cflags="$SOFLAGS $FFMPEG_CFLAGS"
|
||||
+ cflags="-std=gnu99 $SOFLAGS $FFMPEG_CFLAGS"
|
||||
if test "$HAVE_FFMPEG_AVCODEC_H" = y
|
||||
then
|
||||
cflags="$cflags -DHAVE_FFMPEG_AVCODEC_H"
|
||||
--- ffmpeg.c.orig 2015-07-13 03:00:56.000000000 -0700
|
||||
+++ ffmpeg.c 2016-04-22 15:22:53.000000000 -0700
|
||||
@@ -39,7 +39,11 @@
|
||||
#include <libavformat/avio.h>
|
||||
#include <libswresample/swresample.h>
|
||||
#include <libavutil/opt.h>
|
||||
+#if LIBAVUTIL_VERSION_MAJOR >= 53
|
||||
+#include <libavutil/channel_layout.h>
|
||||
+#else
|
||||
#include <libavutil/audioconvert.h>
|
||||
+#endif
|
||||
#ifndef AVUTIL_MATHEMATICS_H
|
||||
#include <libavutil/mathematics.h>
|
||||
#endif
|
||||
@@ -115,7 +119,11 @@
|
||||
|
||||
static void ffmpeg_input_free(struct ffmpeg_input *input)
|
||||
{
|
||||
+#if LIBAVCODEC_VERSION_MAJOR >= 56
|
||||
+ av_packet_unref(&input->pkt);
|
||||
+#else
|
||||
av_free_packet(&input->pkt);
|
||||
+#endif
|
||||
free(input);
|
||||
}
|
||||
|
||||
@@ -235,7 +243,11 @@
|
||||
|
||||
codec = avcodec_find_decoder(cc->codec_id);
|
||||
if (!codec) {
|
||||
+#if LIBAVCODEC_VERSION_MAJOR >= 54
|
||||
+ d_print("codec not found: %d, %s\n", cc->codec_id, avcodec_get_name(cc->codec_id));
|
||||
+#else
|
||||
d_print("codec not found: %d, %s\n", cc->codec_id, cc->codec_name);
|
||||
+#endif
|
||||
err = -IP_ERROR_UNSUPPORTED_FILE_TYPE;
|
||||
break;
|
||||
}
|
||||
@@ -248,7 +260,11 @@
|
||||
#else
|
||||
if (avcodec_open2(cc, codec, NULL) < 0) {
|
||||
#endif
|
||||
+#if LIBAVCODEC_VERSION_MAJOR >= 54
|
||||
+ d_print("could not open codec: %d, %s\n", cc->codec_id, avcodec_get_name(cc->codec_id));
|
||||
+#else
|
||||
d_print("could not open codec: %d, %s\n", cc->codec_id, cc->codec_name);
|
||||
+#endif
|
||||
err = -IP_ERROR_UNSUPPORTED_FILE_TYPE;
|
||||
break;
|
||||
}
|
||||
@@ -347,7 +363,11 @@
|
||||
struct ffmpeg_output *output, SwrContext *swr)
|
||||
{
|
||||
#if (LIBAVCODEC_VERSION_INT >= ((53<<16) + (25<<8) + 0))
|
||||
+#if LIBAVCODEC_VERSION_MAJOR >= 56
|
||||
+ AVFrame *frame = av_frame_alloc();
|
||||
+#else
|
||||
AVFrame *frame = avcodec_alloc_frame();
|
||||
+#endif
|
||||
int got_frame;
|
||||
#endif
|
||||
while (1) {
|
||||
@@ -359,10 +379,16 @@
|
||||
int len;
|
||||
|
||||
if (input->curr_pkt_size <= 0) {
|
||||
+#if LIBAVCODEC_VERSION_MAJOR >= 56
|
||||
+ av_packet_unref(&input->pkt);
|
||||
+#else
|
||||
av_free_packet(&input->pkt);
|
||||
+#endif
|
||||
if (av_read_frame(ic, &input->pkt) < 0) {
|
||||
/* Force EOF once we can read no longer. */
|
||||
-#if (LIBAVCODEC_VERSION_INT >= ((53<<16) + (25<<8) + 0))
|
||||
+#if LIBAVCODEC_VERSION_MAJOR >= 56
|
||||
+ av_frame_free(&frame);
|
||||
+#elif (LIBAVCODEC_VERSION_INT >= ((53<<16) + (25<<8) + 0))
|
||||
avcodec_free_frame(&frame);
|
||||
#endif
|
||||
return 0;
|
||||
@@ -399,7 +425,11 @@
|
||||
av_new_packet(&avpkt, input->curr_pkt_size);
|
||||
memcpy(avpkt.data, input->curr_pkt_buf, input->curr_pkt_size);
|
||||
len = avcodec_decode_audio4(cc, frame, &got_frame, &avpkt);
|
||||
+#if LIBAVCODEC_VERSION_MAJOR >= 56
|
||||
+ av_packet_unref(&avpkt);
|
||||
+#else
|
||||
av_free_packet(&avpkt);
|
||||
+#endif
|
||||
}
|
||||
#endif
|
||||
if (len < 0) {
|
||||
@@ -426,7 +456,11 @@
|
||||
res = 0;
|
||||
output->buffer_pos = output->buffer;
|
||||
output->buffer_used_len = res * cc->channels * sizeof(int16_t);
|
||||
+#if LIBAVCODEC_VERSION_MAJOR >= 56
|
||||
+ av_frame_free(&frame);
|
||||
+#else
|
||||
avcodec_free_frame(&frame);
|
||||
+#endif
|
||||
return output->buffer_used_len;
|
||||
}
|
||||
#endif
|
||||
@@ -566,7 +600,11 @@
|
||||
long bitrate = -1;
|
||||
#if (LIBAVFORMAT_VERSION_INT > ((51<<16)+(43<<8)+0))
|
||||
/* ape codec returns silly numbers */
|
||||
+#if LIBAVCODEC_VERSION_MAJOR >= 55
|
||||
+ if (priv->codec->id == AV_CODEC_ID_APE)
|
||||
+#else
|
||||
if (priv->codec->id == CODEC_ID_APE)
|
||||
+#endif
|
||||
return -1;
|
||||
#endif
|
||||
if (priv->input->curr_duration > 0) {
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'cmus'
|
||||
pkgname=cmus
|
||||
version=2.7.1
|
||||
revision=2
|
||||
revision=3
|
||||
short_desc="Small, fast and powerful console music player"
|
||||
maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
||||
license="GPL-2"
|
||||
|
|
Loading…
Reference in a new issue