diff options
-rw-r--r-- | multimedia/mediatomb/libavformat.patch | 52 | ||||
-rw-r--r-- | multimedia/mediatomb/mediatomb-0.12.1-gcc46.patch | 10 | ||||
-rw-r--r-- | multimedia/mediatomb/mediatomb-0.12.1-gcc47.patch | 120 | ||||
-rw-r--r-- | multimedia/mediatomb/mediatomb.SlackBuild | 9 | ||||
-rw-r--r-- | multimedia/mediatomb/mediatomb.info | 2 |
5 files changed, 190 insertions, 3 deletions
diff --git a/multimedia/mediatomb/libavformat.patch b/multimedia/mediatomb/libavformat.patch new file mode 100644 index 000000000000..96685ea155b1 --- /dev/null +++ b/multimedia/mediatomb/libavformat.patch @@ -0,0 +1,52 @@ +--- mediatomb-0.12.1.orig/src/metadata/ffmpeg_handler.cc 2012-06-18 02:50:35.000000000 -0400 ++++ mediatomb-0.12.1/src/metadata/ffmpeg_handler.cc 2012-06-18 02:59:02.000000000 -0400 +@@ -107,8 +107,8 @@ + 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); +@@ -278,7 +278,7 @@ + int x = 0; + int y = 0; + +- AVFormatContext *pFormatCtx; ++ AVFormatContext *pFormatCtx = avformat_alloc_context(); + + // Suppress all log messages + av_log_set_callback(FfmpegNoOutputStub); +@@ -286,15 +286,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 +@@ -303,7 +303,7 @@ + addFfmpegResourceFields(item, pFormatCtx, &x, &y); + + // Close the video file +- av_close_input_file(pFormatCtx); ++ avformat_close_input(&pFormatCtx); + } + + Ref<IOHandler> FfmpegHandler::serveContent(Ref<CdsItem> item, int resNum, off_t *data_size) diff --git a/multimedia/mediatomb/mediatomb-0.12.1-gcc46.patch b/multimedia/mediatomb/mediatomb-0.12.1-gcc46.patch new file mode 100644 index 000000000000..0f4fe490f424 --- /dev/null +++ b/multimedia/mediatomb/mediatomb-0.12.1-gcc46.patch @@ -0,0 +1,10 @@ +--- a/src/zmm/object.h ++++ b/src/zmm/object.h +@@ -33,6 +33,7 @@ + #define __ZMM_OBJECT_H__ + + #include <new> // for size_t ++#include <cstddef> + #include "atomic.h" + + namespace zmm diff --git a/multimedia/mediatomb/mediatomb-0.12.1-gcc47.patch b/multimedia/mediatomb/mediatomb-0.12.1-gcc47.patch new file mode 100644 index 000000000000..5c4687d15a51 --- /dev/null +++ b/multimedia/mediatomb/mediatomb-0.12.1-gcc47.patch @@ -0,0 +1,120 @@ +diff --git a/src/hash/dbo_hash.h b/src/hash/dbo_hash.h +index 2e58627..16c15b3 100644 +--- a/src/hash/dbo_hash.h ++++ b/src/hash/dbo_hash.h +@@ -106,7 +106,7 @@ public: + inline bool remove(KT key) + { + struct dbo_hash_slot<KT, VT> *slot; +- if (! search(key, &slot)) ++ if (! this->search(key, &slot)) + return false; + slot->key = deletedKey; + slot->value->release(); +@@ -136,7 +136,7 @@ public: + inline void put(KT key, zmm::Ref<VT> value) + { + struct dbo_hash_slot<KT, VT> *slot; +- search(key, &slot); ++ this->search(key, &slot); + put(key, (hash_slot_t)slot, value); + } + void put(KT key, hash_slot_t destSlot, zmm::Ref<VT> value) +@@ -162,7 +162,7 @@ public: + inline zmm::Ref<VT> get(KT key) + { + struct dbo_hash_slot<KT, VT> *slot; +- bool found = search(key, &slot); ++ bool found = this->search(key, &slot); + if (found) + return zmm::Ref<VT>(slot->value); + else +@@ -174,7 +174,7 @@ public: + inline zmm::Ref<VT> get(KT key, hash_slot_t *destSlot) + { + struct dbo_hash_slot<KT, VT> **slot = (struct dbo_hash_slot<KT, VT> **)destSlot; +- bool found = search(key, slot); ++ bool found = this->search(key, slot); + if (found) + return zmm::Ref<VT>((*slot)->value); + else +diff --git a/src/hash/dbr_hash.h b/src/hash/dbr_hash.h +index 6e65d7f..7028890 100644 +--- a/src/hash/dbr_hash.h ++++ b/src/hash/dbr_hash.h +@@ -124,7 +124,7 @@ public: + inline bool remove(KT key) + { + struct dbr_hash_slot<KT> *slot; +- if (! search(key, &slot)) ++ if (! this->search(key, &slot)) + return false; + slot->key = deletedKey; + int array_slot = slot->array_slot; +@@ -134,7 +134,7 @@ public: + return true; + } + data_array[array_slot] = data_array[--this->count]; +- if (! search(data_array[array_slot], &slot)) ++ if (! this->search(data_array[array_slot], &slot)) + { + log_debug("DBR-Hash-Error: (%d; array_slot=%d; count=%d)\n", data_array[array_slot], array_slot, this->count); + throw zmm::Exception(_("DBR-Hash-Error: key in data_array not found in hashtable")); +@@ -146,7 +146,7 @@ public: + inline void put(KT key) + { + struct dbr_hash_slot<KT> *slot; +- if (! search(key, &slot)) ++ if (! this->search(key, &slot)) + { + #ifdef TOMBDEBUG + if (this->count >= realCapacity) +@@ -194,7 +194,7 @@ public: + inline bool exists(KT key) + { + struct dbr_hash_slot<KT> *slot; +- return search(key, &slot); ++ return this->search(key, &slot); + } + + /* +diff --git a/src/hash/dso_hash.h b/src/hash/dso_hash.h +index adfb97f..03ec852 100644 +--- a/src/hash/dso_hash.h ++++ b/src/hash/dso_hash.h +@@ -100,7 +100,7 @@ public: + inline bool remove(zmm::String key) + { + struct dso_hash_slot<VT> *slot; +- if (! search(key, &slot)) ++ if (! this->search(key, &slot)) + return false; + slot->key->release(); + slot->value->release(); +@@ -112,7 +112,7 @@ public: + inline void put(zmm::String key, zmm::Ref<VT> value) + { + struct dso_hash_slot<VT> *slot; +- search(key, &slot); ++ this->search(key, &slot); + put(key, (hash_slot_t)slot, value); + } + void put(zmm::String key, hash_slot_t destSlot, zmm::Ref<VT> value) +@@ -141,7 +141,7 @@ public: + inline zmm::Ref<VT> get(zmm::String key) + { + struct dso_hash_slot<VT> *slot; +- bool found = search(key, &slot); ++ bool found = this->search(key, &slot); + if (found) + return zmm::Ref<VT>(slot->value); + else +@@ -153,7 +153,7 @@ public: + inline zmm::Ref<VT> get(zmm::String key, hash_slot_t *destSlot) + { + struct dso_hash_slot<VT> **slot = (struct dso_hash_slot<VT> **)destSlot; +- bool found = search(key, slot); ++ bool found = this->search(key, slot); + if (found) + return zmm::Ref<VT>((*slot)->value); + else diff --git a/multimedia/mediatomb/mediatomb.SlackBuild b/multimedia/mediatomb/mediatomb.SlackBuild index 62fa78c034d4..2228164592c3 100644 --- a/multimedia/mediatomb/mediatomb.SlackBuild +++ b/multimedia/mediatomb/mediatomb.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for mediatomb -# Copyright 2010 Heinz Wiesinger, Amsterdam, The Netherlands +# Copyright 2010-2012 Heinz Wiesinger, Amsterdam, The Netherlands # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -24,7 +24,7 @@ PRGNAM=mediatomb VERSION=0.12.1 -BUILD=${BUILD:-2} +BUILD=${BUILD:-3} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -79,6 +79,11 @@ chmod -R u+w,go+r-w,a-s . # Fix building with newer ffmpeg releases patch -p1 -i $CWD/libav_0.7_support.patch +patch -p1 -i $CWD/libavformat.patch + +# Fix compiling with gcc 4.7 +patch -p1 -i $CWD/mediatomb-0.12.1-gcc46.patch +patch -p1 -i $CWD/mediatomb-0.12.1-gcc47.patch # We need LDFLAGS="-ldl" for proper sqlite detection CFLAGS="$SLKCFLAGS" \ diff --git a/multimedia/mediatomb/mediatomb.info b/multimedia/mediatomb/mediatomb.info index 17cfc004b7e2..b4b223aecc59 100644 --- a/multimedia/mediatomb/mediatomb.info +++ b/multimedia/mediatomb/mediatomb.info @@ -5,6 +5,6 @@ DOWNLOAD="http://downloads.sourceforge.net/mediatomb/mediatomb-0.12.1.tar.gz" MD5SUM="e927dd5dc52d3cfcebd8ca1af6f0d3c2" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="ffmpeg ffmpegthumbnailer lastfmlib libmp4v2" +REQUIRES="" MAINTAINER="Heinz Wiesinger" EMAIL="pprkut@liwjatan.at" |