From 4a3809d731e8742e1d7c64318f1dc2f430902ce7 Mon Sep 17 00:00:00 2001 From: tron Date: Tue, 27 Nov 2012 20:16:40 +0000 Subject: Add a patch from Debian bug report #677959 to fix build with recent versions of the "ffmpeg" package. Also bump the package revision because old binary packages are not compatible with new versions of "ffmpeg" because the major version of "libavformat" was bumped. --- multimedia/mediatomb/Makefile | 4 +- multimedia/mediatomb/distinfo | 4 +- .../patches/patch-src_metadata_ffmpeg__handler.cc | 58 +++++++++++++++++++--- 3 files changed, 55 insertions(+), 11 deletions(-) diff --git a/multimedia/mediatomb/Makefile b/multimedia/mediatomb/Makefile index 72efa85ce33..b430f19f846 100644 --- a/multimedia/mediatomb/Makefile +++ b/multimedia/mediatomb/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.29 2012/10/08 09:21:08 asau Exp $ +# $NetBSD: Makefile,v 1.30 2012/11/27 20:16:40 tron Exp $ DISTNAME= mediatomb-0.12.1 -PKGREVISION= 10 +PKGREVISION= 11 CATEGORIES= multimedia MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=mediatomb/} diff --git a/multimedia/mediatomb/distinfo b/multimedia/mediatomb/distinfo index 77fc734ea0d..6ce5cfb0547 100644 --- a/multimedia/mediatomb/distinfo +++ b/multimedia/mediatomb/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.11 2012/09/25 11:45:11 ryoon Exp $ +$NetBSD: distinfo,v 1.12 2012/11/27 20:16:40 tron Exp $ SHA1 (mediatomb-0.12.1.tar.gz) = 86e880584cc9c8aaf3926d56048510d1d06e76b4 RMD160 (mediatomb-0.12.1.tar.gz) = ecb61ca2483f76421beef1036ac442b8f805fa96 @@ -16,7 +16,7 @@ SHA1 (patch-src_hash_dbo_hash.h) = a5d951dc6887273188b3d41b8076000857b92431 SHA1 (patch-src_hash_dbr_hash.h) = e98a4ce19f25f7e556c2c13e170aee21e57fc5cc SHA1 (patch-src_hash_dso_hash.h) = c229373ea25b4c49708cb2d8555a9e13f5d8bb4f SHA1 (patch-src_io__handler__buffer__helper.cc) = f1c88fab9379c322492ebf27840c20689bd8ac76 -SHA1 (patch-src_metadata_ffmpeg__handler.cc) = b343d3e065e506423872e32f35ae792306f2b50a +SHA1 (patch-src_metadata_ffmpeg__handler.cc) = 7bee7b6b8f4a8d5c55475c2e342b724d14d8c55d SHA1 (patch-src_tools.cc) = dddb50c51786cbb6a7c77ff5e60c22c3a57dc0fa SHA1 (patch-src_transcoding_transcode__ext__handler.cc) = 6fe899f6b40de69561f568e1f976f6994e029260 SHA1 (patch-src_upnp__xml.cc) = 843e92c3a186c83920512ff6b7f37ba006defc21 diff --git a/multimedia/mediatomb/patches/patch-src_metadata_ffmpeg__handler.cc b/multimedia/mediatomb/patches/patch-src_metadata_ffmpeg__handler.cc index bfd974d352e..3f09f5894dc 100644 --- a/multimedia/mediatomb/patches/patch-src_metadata_ffmpeg__handler.cc +++ b/multimedia/mediatomb/patches/patch-src_metadata_ffmpeg__handler.cc @@ -1,8 +1,13 @@ -$NetBSD: patch-src_metadata_ffmpeg__handler.cc,v 1.1 2012/09/25 11:45:11 ryoon Exp $ +$NetBSD: patch-src_metadata_ffmpeg__handler.cc,v 1.2 2012/11/27 20:16:40 tron Exp $ + +Fix build with recent versions of "ffmpeg". Partially taken from this +Debian bug report: + +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=677959 --- src/metadata/ffmpeg_handler.cc.orig 2010-03-25 14:58:10.000000000 +0000 -+++ src/metadata/ffmpeg_handler.cc -@@ -89,47 +89,30 @@ static void addFfmpegMetadataFields(Ref< ++++ src/metadata/ffmpeg_handler.cc 2012-11-27 20:02:25.000000000 +0000 +@@ -89,47 +89,30 @@ Ref sc = StringConverter::m2i(); @@ -64,8 +69,8 @@ $NetBSD: patch-src_metadata_ffmpeg__handler.cc,v 1.1 2012/09/25 11:45:11 ryoon E + return; + for (const mapping_t *m = mapping; m->avname != NULL; m++) + { -+ AVMetadataTag *tag = NULL; -+ tag = av_metadata_get(pFormatCtx->metadata, m->avname, NULL, 0); ++ AVDictionaryEntry *tag = NULL; ++ tag = av_dict_get(pFormatCtx->metadata, m->avname, NULL, 0); + if (tag && tag->value && tag->value[0]) + { + log_debug("Added metadata %s: %s\n", m->avname, tag->value); @@ -74,7 +79,7 @@ $NetBSD: patch-src_metadata_ffmpeg__handler.cc,v 1.1 2012/09/25 11:45:11 ryoon E } } -@@ -178,7 +161,7 @@ static void addFfmpegResourceFields(Ref< +@@ -178,7 +161,7 @@ for(i=0; inb_streams; i++) { AVStream *st = pFormatCtx->streams[i]; @@ -83,7 +88,7 @@ $NetBSD: patch-src_metadata_ffmpeg__handler.cc,v 1.1 2012/09/25 11:45:11 ryoon E { if (st->codec->codec_tag > 0) { -@@ -209,7 +192,7 @@ static void addFfmpegResourceFields(Ref< +@@ -209,7 +192,7 @@ *y = st->codec->height; } } @@ -92,3 +97,42 @@ $NetBSD: patch-src_metadata_ffmpeg__handler.cc,v 1.1 2012/09/25 11:45:11 ryoon E { // Increase number of audiochannels audioch++; +@@ -251,7 +234,7 @@ + int x = 0; + int y = 0; + +- AVFormatContext *pFormatCtx; ++ AVFormatContext *pFormatCtx = avformat_alloc_context(); + + // Suppress all log messages + av_log_set_callback(FfmpegNoOutputStub); +@@ -259,15 +242,15 @@ + // Register all formats and codecs + av_register_all(); + +- // Open video file +- if (av_open_input_file(&pFormatCtx, +- item->getLocation().c_str(), NULL, 0, NULL) != 0) ++ // Open video file ++ if (avformat_open_input(&pFormatCtx, ++ item->getLocation().c_str(), NULL, NULL) != 0) + return; // Couldn't open file + + // Retrieve stream information +- if (av_find_stream_info(pFormatCtx) < 0) ++ if (avformat_find_stream_info(pFormatCtx,NULL) < 0) + { +- av_close_input_file(pFormatCtx); ++ avformat_close_input(&pFormatCtx); + return; // Couldn't find stream information + } + // Add metadata using ffmpeg library calls +@@ -276,7 +259,7 @@ + addFfmpegResourceFields(item, pFormatCtx, &x, &y); + + // Close the video file +- av_close_input_file(pFormatCtx); ++ avformat_close_input(&pFormatCtx); + } + + Ref FfmpegHandler::serveContent(Ref item, int resNum, off_t *data_size) -- cgit v1.2.3