commit:     aa9e027ad7f15145076741af9d666b409167f561
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 30 14:31:09 2015 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Fri Oct 30 14:31:17 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa9e027a

media-libs/chromaprint: Backport fix from upstream to build with ffmpeg git 
master.

Package-Manager: portage-2.2.23

 media-libs/chromaprint/chromaprint-1.2.ebuild      |  4 +-
 .../files/chromaprint-1.2-ffmpeg29.patch           | 48 ++++++++++++++++++++++
 2 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/media-libs/chromaprint/chromaprint-1.2.ebuild 
b/media-libs/chromaprint/chromaprint-1.2.ebuild
index 670ff38..c0de492 100644
--- a/media-libs/chromaprint/chromaprint-1.2.ebuild
+++ b/media-libs/chromaprint/chromaprint-1.2.ebuild
@@ -17,7 +17,7 @@ IUSE="libav test tools"
 # note: use ffmpeg or libav instead of fftw because it's recommended and 
required for tools
 RDEPEND="
        libav? ( media-video/libav:0= )
-       !libav? ( media-video/ffmpeg:0= )
+       !libav? ( >=media-video/ffmpeg-2.6:0= )
 "
 DEPEND="${RDEPEND}
        test? (
@@ -27,7 +27,7 @@ DEPEND="${RDEPEND}
 
 DOCS="NEWS.txt README.md"
 
-PATCHES=( "${FILESDIR}"/${PN}-1.1-gtest.patch )
+PATCHES=( "${FILESDIR}"/${PN}-1.1-gtest.patch 
"${FILESDIR}"/${P}-ffmpeg29.patch )
 
 src_configure() {
        local mycmakeargs=(

diff --git a/media-libs/chromaprint/files/chromaprint-1.2-ffmpeg29.patch 
b/media-libs/chromaprint/files/chromaprint-1.2-ffmpeg29.patch
new file mode 100644
index 0000000..6910f24
--- /dev/null
+++ b/media-libs/chromaprint/files/chromaprint-1.2-ffmpeg29.patch
@@ -0,0 +1,48 @@
+commit 37092d380a28abcc63fa120499030a0f2b7df80f
+Author: Rodger Combs <[email protected]>
+Date:   Fri Oct 2 14:48:01 2015 -0500
+
+    fpcalc: remove uses of deprecated lavc APIs
+
+Index: chromaprint-1.2/examples/fpcalc.c
+===================================================================
+--- chromaprint-1.2.orig/examples/fpcalc.c
++++ chromaprint-1.2/examples/fpcalc.c
+@@ -17,10 +17,6 @@
+ #define MAX(a, b) ((a) > (b) ? (a) : (b))
+ #define MIN(a, b) ((a) < (b) ? (a) : (b))
+ 
+-#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54, 28, 0)
+-#define avcodec_free_frame av_freep
+-#endif
+-
+ int decode_audio_file(ChromaprintContext *chromaprint_ctx, const char 
*file_name, int max_length, int *duration)
+ {
+       int ok = 0, remaining, length, consumed, codec_ctx_opened = 0, 
got_frame, stream_index;
+@@ -131,7 +127,7 @@ int decode_audio_file(ChromaprintContext
+       remaining = max_length * codec_ctx->channels * codec_ctx->sample_rate;
+       chromaprint_start(chromaprint_ctx, codec_ctx->sample_rate, 
codec_ctx->channels);
+ 
+-      frame = avcodec_alloc_frame();
++      frame = av_frame_alloc();
+ 
+       while (1) {
+               if (av_read_frame(format_ctx, &packet) < 0) {
+@@ -139,7 +135,7 @@ int decode_audio_file(ChromaprintContext
+               }
+ 
+               if (packet.stream_index == stream_index) {
+-                      avcodec_get_frame_defaults(frame);
++                      av_frame_unref(frame);
+ 
+                       got_frame = 0;
+                       consumed = avcodec_decode_audio4(codec_ctx, frame, 
&got_frame, &packet);
+@@ -196,7 +192,7 @@ finish:
+ 
+ done:
+       if (frame) {
+-              avcodec_free_frame(&frame);
++              av_frame_free(&frame);
+       }
+       if (dst_data[0]) {
+               av_freep(&dst_data[0]);

Reply via email to