Remove net/mediatomb, there have been no new releases for over 10 years.

Use net/gerbera as an alternative.

PR:		248476
Submitted by:	Daniel Engberg
Approved by:	maintainer timeout (leo@mediatomb.cc, 4 months)
This commit is contained in:
Rene Ladan 2020-12-31 15:40:49 +00:00
parent 05e4043ade
commit c924599008
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=559749
15 changed files with 1 additions and 800 deletions

1
MOVED
View File

@ -15909,3 +15909,4 @@ www/mediawiki133|www/mediawiki135|2020-12-31|Has expired: Upstream end of life
www/mediawiki134|www/mediawiki135|2020-12-31|Has expired: Upstream end of life
www/py-aiohttp2|www/py-aiohttp|2020-12-31|Has expired: Use www/py-aiohttp instead
graphics/drm-legacy-kmod|graphics/drm-kmod|2020-12-31|Has expired: Obsolete version, use drm-kmod
net/mediatomb|net/gerbera|2020-12-31|Removed: no new release for over 10 years

View File

@ -430,7 +430,6 @@
SUBDIR += mdns-repeater
SUBDIR += measurement-kit
SUBDIR += mediastreamer
SUBDIR += mediatomb
SUBDIR += megacmd
SUBDIR += megatools
SUBDIR += messagelib

View File

@ -1,124 +0,0 @@
# Created by: Leonhard Wimmer <leo@mediatomb.cc>
# $FreeBSD$
PORTNAME= mediatomb
PORTVERSION= 0.12.1
PORTREVISION= 26
CATEGORIES= net multimedia
MASTER_SITES= SF/${PORTNAME}/MediaTomb/${PORTVERSION}
MAINTAINER= leo@mediatomb.cc
COMMENT= UPnP AV MediaServer
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libexpat.so:textproc/expat2
GNU_CONFIGURE= yes
LDFLAGS+= -lpthread ${ICONV_LIB}
CONFIGURE_ARGS= --with-search="${LOCALBASE}" \
--disable-inotify
CONFIGURE_ENV= PTHREAD_LIBS="-lpthread"
USES= compiler:gcc-c++11-lib iconv localbase:ldflags
USE_RC_SUBR= mediatomb
# Workaround for FreeBSD 10, whose libc++ does not have an overload for C++14's
# `operator delete(void*, size_t)'. Since GCC 6 uses -std=gnu++14 by default,
# linking fails when a dependency (such as taglib) is built with clang and
# lacking the overload. FreeBSD >= 11 is fine.
USE_CXXSTD= gnu++11
CFLAGS+= -fcommon
USERS= mediatomb
GROUPS= ${USERS}
SUB_FILES= config.xml.dist \
pkg-install \
pkg-deinstall
SUB_LIST= MEDIATOMB_USER=${USERS} \
MEDIATOMB_GROUP=${GROUPS} \
MEDIATOMB_DIR=${DESTDIR}/var/db/mediatomb
OPTIONS_DEFINE= JS LIBEXIF FFMPEGTHUMBNAILER \
EXTERNAL_TRANSCODING CURL DEBUG
OPTIONS_MULTI= DB
OPTIONS_MULTI_DB= SQLITE MYSQL
OPTIONS_RADIO= METADATA TAG
OPTIONS_RADIO_METADATA= FFMPEG LIBEXTRACTOR
OPTIONS_RADIO_TAG= TAGLIB ID3LIB
OPTIONS_DEFAULT= SQLITE MYSQL JS LIBEXIF TAGLIB FFMPEG FFMPEGTHUMBNAILER \
EXTERNAL_TRANSCODING CURL
METADATA_DESC= Metadata extractor
TAG_DESC= Tag library
DB_DESC= Database backend
JS_DESC= JavaScript (SpiderMonkey) support
TAGLIB_DESC= taglib support
FFMPEG_DESC= ffmpeg metadata extraction support
FFMPEGTHUMBNAILER_DESC= ffmpeg thumbnailer support
EXTERNAL_TRANSCODING_DESC= external transcoding support
ID3LIB_DESC= id3lib support
LIBEXTRACTOR_DESC= libextractor support
SQLITE_USES= sqlite
SQLITE_CONFIGURE_ENABLE= sqlite3
SQLITE_CONFIGURE_ON= --with-sqlite3-h="${LOCALBASE}/include" \
--with-sqlite3-libs="${LOCALBASE}/lib"
MYSQL_USES= mysql
MYSQL_CONFIGURE_ENABLE= mysql
MYSQL_CONFIGURE_ON= --with-mysql-cfg="${LOCALBASE}/bin/mysql_config"
JS_CONFIGURE_ENABLE= libjs
JS_CONFIGURE_ON= --with-js-h="${LOCALBASE}/include/js-1.7" \
--with-js-libs="${LOCALBASE}/lib"
JS_LIB_DEPENDS= libjs.so:lang/spidermonkey17
LIBEXIF_CONFIGURE_ENABLE= libexif
LIBEXIF_CONFIGURE_ON= --with-libexif-h="${LOCALBASE}/include" \
--with-libexif-libs="${LOCALBASE}/lib"
LIBEXIF_LIB_DEPENDS= libexif.so:graphics/libexif
EXTERNAL_TRANSCODING_CONFIGURE_ENABLE= external-transcoding
FFMPEGTHUMBNAILER_CONFIGURE_ENABLE= ffmpegthumbnailer
FFMPEGTHUMBNAILER_CONFIGURE_ON= --with-ffmpegthumbnailer-h="${LOCALBASE}/include" \
--with-ffmpegthumbnailer-libs="${LOCALBASE}/lib"
FFMPEGTHUMBNAILER_LIB_DEPENDS= libffmpegthumbnailer.so:multimedia/ffmpegthumbnailer
# CURL is only useful in combination with EXTERNAL_TRANSCODING
CURL_IMPLIES= EXTERNAL_TRANSCODING
CURL_CONFIGURE_ENABLE= curl
CURL_CONFIGURE_ON= --with-curl-cfg="${LOCALBASE}/bin/curl-config"
CURL_LIB_DEPENDS= libcurl.so:ftp/curl
FFMPEG_CONFIGURE_ENABLE= ffmpeg
FFMPEG_LIB_DEPENDS= libavformat.so:multimedia/ffmpeg
LIBEXTRACTOR_CONFIGURE_ENABLE= libextractor
LIBEXTRACTOR_CONFIGURE_ON= --with-extractor-h="${LOCALBASE}/include" \
--with-extractor-libs="${LOCALBASE}/lib"
LIBEXTRACTOR_LIB_DEPENDS= libextractor.so:textproc/libextractor
LIBEXTRACTOR_BROKEN= LIBEXTRACTOR option fails to configure (checking for EXTRACTOR_getKeywords in -lextractor... no)
ID3LIB_CONFIGURE_ENABLE= id3lib
ID3LIB_CONFIGURE_ON= --with-id3lib-h="${LOCALBASE}/include" \
--with-id3lib-libs="${LOCALBASE}/lib"
ID3LIB_LIB_DEPENDS= libid3.so:audio/id3lib
TAGLIB_CONFIGURE_ENABLE= taglib
TAGLIB_CONFIGURE_ON= --with-taglib-cfg="${LOCALBASE}/bin/taglib-config"
TAGLIB_LIB_DEPENDS= libtag.so:audio/taglib
DEBUG_CONFIGURE_ENABLE= tombdebug
post-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/mediatomb
@${MKDIR} ${STAGEDIR}/var/log/mediatomb
@${MKDIR} ${STAGEDIR}/var/db/mediatomb
${INSTALL_DATA} ${WRKDIR}/config.xml.dist ${STAGEDIR}${PREFIX}/etc/mediatomb/config.xml.dist
.include <bsd.port.mk>

View File

@ -1,2 +0,0 @@
SHA256 (mediatomb-0.12.1.tar.gz) = 31163c34a7b9d1c9735181737cb31306f29f1f2a0335fb4f53ecccf8f62f11cd
SIZE (mediatomb-0.12.1.tar.gz) = 1240612

View File

@ -1,147 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<config version="1" xmlns="http://mediatomb.cc/config/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mediatomb.cc/config/1 http://mediatomb.cc/config/1.xsd">
<server>
<ui enabled="yes">
<accounts enabled="no" session-timeout="30">
<account user="mediatomb" password="mediatomb"/>
</accounts>
</ui>
<name>MediaTomb</name>
<udn/>
<home>%%MEDIATOMB_DIR%%</home>
<webroot>%%DATADIR%%/web</webroot>
<storage>
<sqlite3 enabled="yes">
<database-file>mediatomb.db</database-file>
</sqlite3>
<mysql enabled="no">
<host>localhost</host>
<username>mediatomb</username>
<database>mediatomb</database>
</mysql>
</storage>
<protocolInfo extend="no"/><!-- For PS3 support change to "yes" -->
<!--
Uncomment the lines below to get rid of jerky avi playback on the
DSM320 or to enable subtitles support on the DSM units
-->
<!--
<custom-http-headers>
<add header="X-User-Agent: redsonic"/>
</custom-http-headers>
<manufacturerURL>redsonic.com</manufacturerURL>
<modelNumber>105</modelNumber>
-->
<!-- Uncomment the line below if you have a Telegent TG100 -->
<!--
<upnp-string-limit>101</upnp-string-limit>
-->
<!--
<custom-http-headers>
<add header="transferMode.dlna.org: Streaming"/>
<add header="contentFeatures.dlna.org: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000"/>
</custom-http-headers>
-->
</server>
<import hidden-files="no">
<filesystem-charset>UTF-8</filesystem-charset>
<metadata-charset>UTF-8</metadata-charset>
<playlist-charset>UTF-8</playlist-charset>
<scripting script-charset="UTF-8">
<common-script>%%DATADIR%%/js/common.js</common-script>
<playlist-script>%%DATADIR%%/js/playlists.js</playlist-script>
<virtual-layout type="builtin">
<import-script>%%DATADIR%%/js/import.js</import-script>
</virtual-layout>
</scripting>
<mappings>
<extension-mimetype ignore-unknown="no">
<map from="mp3" to="audio/mpeg"/>
<map from="ogg" to="application/ogg"/>
<map from="mpg" to="video/mpeg"/>
<map from="mpeg" to="video/mpeg"/>
<map from="vob" to="video/mpeg"/>
<map from="vro" to="video/mpeg"/>
<map from="m2ts" to="video/avc"/>
<map from="mts" to="video/avc"/>
<map from="asf" to="video/x-ms-asf"/>
<map from="asx" to="video/x-ms-asf"/>
<map from="wma" to="audio/x-ms-wma"/>
<map from="wax" to="audio/x-ms-wax"/>
<map from="wmv" to="video/x-ms-wmv"/>
<map from="wvx" to="video/x-ms-wvx"/>
<map from="wm" to="video/x-ms-wm"/>
<map from="wmx" to="video/x-ms-wmx"/>
<map from="m3u" to="audio/x-mpegurl"/>
<map from="pls" to="audio/x-scpls"/>
<map from="flv" to="video/x-flv"/>
<map from="mkv" to="video/x-mkv"/>
<map from="avi" to="video/x-msvideo"/>
<!-- Uncomment the line below for PS3 divx support -->
<!-- <map from="avi" to="video/divx"/> -->
<!-- Uncomment the line below for D-Link DSM / ZyXEL DMA-1000 -->
<!-- <map from="avi" to="video/avi"/> -->
</extension-mimetype>
<mimetype-upnpclass>
<map from="audio/*" to="object.item.audioItem.musicTrack"/>
<map from="video/*" to="object.item.videoItem"/>
<map from="image/*" to="object.item.imageItem"/>
</mimetype-upnpclass>
<mimetype-contenttype>
<treat mimetype="audio/mpeg" as="mp3"/>
<treat mimetype="application/ogg" as="ogg"/>
<treat mimetype="audio/x-flac" as="flac"/>
<treat mimetype="image/jpeg" as="jpg"/>
<treat mimetype="audio/x-mpegurl" as="playlist"/>
<treat mimetype="audio/x-scpls" as="playlist"/>
<treat mimetype="audio/x-wav" as="pcm"/>
<treat mimetype="video/x-msvideo" as="avi"/>
</mimetype-contenttype>
</mappings>
</import>
<transcoding enabled="no">
<mimetype-profile-mappings>
<transcode mimetype="video/x-flv" using="video-common"/>
<transcode mimetype="application/ogg" using="video-common"/>
<transcode mimetype="application/ogg" using="audio-ffmpeg-wav"/>
<transcode mimetype="audio/x-flac" using="audio-ffmpeg-wav"/>
</mimetype-profile-mappings>
<profiles>
<profile name="audio-mod-xmp" enabled="no" type="external">
<mimetype>audio/x-wav</mimetype>
<accept-url>no</accept-url>
<first-resource>no</first-resource>
<hide-original-resource>yes</hide-original-resource>
<agent command="/usr/local/bin/xmp" arguments="-d wav -o %out %in"/>
<buffer size="1048576" chunk-size="131072" fill-size="262144"/>
</profile>
<profile name="audio-ffmpeg-wav" enabled="yes" type="external">
<mimetype>audio/x-wav</mimetype>
<accept-url>no</accept-url>
<first-resource>no</first-resource>
<hide-original-resource>yes</hide-original-resource>
<agent command="/usr/local/bin/ffmpeg" arguments="-i %in -f wav -y %out"/>
<buffer size="1048576" chunk-size="131072" fill-size="262144"/>
</profile>
<profile name="audio-ffmpeg-raw" enabled="no" type="external">
<mimetype>audio/L16</mimetype>
<first-resource>yes</first-resource>
<accept-url>no</accept-url>
<sample-frequency>44100</sample-frequency>
<audio-channels>2</audio-channels>
<hide-original-resource>yes</hide-original-resource>
<agent command="/usr/local/bin/ffmpeg" arguments="-i %in -ac 2 -ar 44100 -y -f s16be %out"/>
<buffer size="1048576" chunk-size="131072" fill-size="262144"/>
</profile>
<profile name="video-common" enabled="yes" type="external">
<mimetype>video/mpeg</mimetype>
<accept-url>no</accept-url>
<first-resource>yes</first-resource>
<hide-original-resource>yes</hide-original-resource>
<accept-ogg-theora>yes</accept-ogg-theora>
<agent command="/usr/local/bin/ffmpeg" arguments="-i %in -f mpegts -sameq -vb 4096k -r 25 -ac 2 -ar 48000 -ab 192k -async 2 -threads 2 -y %out"/>
<buffer size="10485760" chunk-size="262144" fill-size="524288"/>
</profile>
</profiles>
</transcoding>
</config>

View File

@ -1,43 +0,0 @@
#!/bin/sh
# $FreeBSD$
# PROVIDE: mediatomb
# REQUIRE: DAEMON
# KEYWORD: shutdown
# Define these mediatomb_* variables in one of these files:
# /etc/rc.conf
# /etc/rc.conf.local
# /etc/rc.conf.d/mediatomb
#
# DO NOT CHANGE THESE DEFAULT VALUES HERE
#
. /etc/rc.subr
mediatomb_enable=${mediatomb_enable-"NO"}
# mediatomb_flags="<set as needed>"
# mediatomb_interface="<set as needed>"
mediatomb_mtuser=${mediatomb_mtuser-"mediatomb"}
mediatomb_mtgroup=${mediatomb_mtgroup-"mediatomb"}
mediatomb_config=${mediatomb_config-"%%PREFIX%%/etc/mediatomb/config.xml"}
mediatomb_logfile=${mediatomb_logfile-"/var/log/mediatomb/mediatomb.log"}
mediatomb_pidfile=${mediatomb_pidfile-"/var/run/mediatomb.pid"}
name="mediatomb"
rcvar=mediatomb_enable
load_rc_config $name
if [ "xx" != "x${mediatomb_interface}x" ]; then
mediatomb_interface_command="-e ${mediatomb_interface}"
else
mediatomb_interface_command=""
fi
command="%%PREFIX%%/bin/mediatomb"
command_args="-d -c ${mediatomb_config} -l ${mediatomb_logfile} -u ${mediatomb_mtuser} -g ${mediatomb_mtgroup} -P ${mediatomb_pidfile} ${mediatomb_interface_command}"
pidfile="${mediatomb_pidfile}"
run_rc_command "$1"

View File

@ -1,134 +0,0 @@
--- src/hash/dbr_hash.h.orig 2013-09-21 09:16:26.000000000 +0000
+++ src/hash/dbr_hash.h 2013-09-21 09:20:41.000000000 +0000
@@ -124,7 +124,7 @@
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 @@
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 @@
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 @@
inline bool exists(KT key)
{
struct dbr_hash_slot<KT> *slot;
- return search(key, &slot);
+ return this->search(key, &slot);
}
/*
@@ -202,7 +202,7 @@
inline bool exists(KT key, hash_slot_t *destSlot)
{
- return search(key, (KT **)destSlot);
+ return this->search(key, (KT **)destSlot);
}
*/
};
--- src/hash/dbo_hash.h.orig 2013-09-21 09:23:08.000000000 +0000
+++ src/hash/dbo_hash.h 2013-09-21 09:23:26.000000000 +0000
@@ -106,7 +106,7 @@
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 @@
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 @@
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 @@
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
--- src/hash/dso_hash.h.orig 2013-09-21 09:25:09.000000000 +0000
+++ src/hash/dso_hash.h 2013-09-21 09:25:27.000000000 +0000
@@ -100,7 +100,7 @@
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 @@
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 @@
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 @@
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
--- tombupnp/upnp/src/genlib/net/http/webserver.c.orig 2013-09-30 04:20:49.000000000 +0000
+++ tombupnp/upnp/src/genlib/net/http/webserver.c 2013-09-30 04:21:45.000000000 +0000
@@ -310,7 +310,7 @@
* 0 - On Sucess
* UPNP_E_OUTOF_MEMORY - on memory allocation failures
************************************************************************/
-XINLINE int
+static XINLINE int
get_content_type( IN const char *filename,
OUT DOMString * content_type )
{

View File

@ -1,64 +0,0 @@
=== modified file 'src/metadata/ffmpeg_handler.cc'
--- src/metadata/ffmpeg_handler.cc.orig 2010-08-25 17:07:03 +0000
+++ src/metadata/ffmpeg_handler.cc 2011-05-19 04:33:32 +0000
@@ -89,6 +89,33 @@
Ref<StringConverter> sc = StringConverter::m2i();
+ /* Tabs are 4 characters here */
+ typedef struct {const char *avname; metadata_fields_t field;} mapping_t;
+ static const mapping_t mapping[] =
+ {
+ {"title", M_TITLE},
+ {"artist", M_ARTIST},
+ {"album", M_ALBUM},
+ {"date", M_DATE},
+ {"genre", M_GENRE},
+ {"comment", M_DESCRIPTION},
+ {"track", M_TRACKNUMBER},
+ {NULL, M_MAX},
+ };
+
+ if (!pFormatCtx->metadata)
+ return;
+ for (const mapping_t *m = mapping; m->avname != NULL; m++)
+ {
+ AVMetadataTag *tag = NULL;
+ tag = av_metadata_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);
+ item->setMetadata(MT_KEYS[m->field].upnp, sc->convert(tag->value));
+ }
+ }
+ /* Old algorithm (doesn't work with libav >= 0.7)
if (strlen(pFormatCtx->title) > 0)
{
log_debug("Added metadata title: %s\n", pFormatCtx->title);
@@ -131,6 +158,7 @@
item->setMetadata(MT_KEYS[M_TRACKNUMBER].upnp,
sc->convert(String::from(pFormatCtx->track)));
}
+ */
}
// ffmpeg library calls
@@ -178,7 +206,7 @@
for(i=0; i<pFormatCtx->nb_streams; i++)
{
AVStream *st = pFormatCtx->streams[i];
- if((st != NULL) && (videoset == false) && (st->codec->codec_type == CODEC_TYPE_VIDEO))
+ if((st != NULL) && (videoset == false) && (st->codec->codec_type == AVMEDIA_TYPE_VIDEO))
{
if (st->codec->codec_tag > 0)
{
@@ -209,7 +237,7 @@
*y = st->codec->height;
}
}
- if(st->codec->codec_type == CODEC_TYPE_AUDIO)
+ if(st->codec->codec_type == AVMEDIA_TYPE_AUDIO)
{
// Increase number of audiochannels
audioch++;

View File

@ -1,51 +0,0 @@
diff -burN mediatomb-0.12.1.old//src/metadata/ffmpeg_handler.cc mediatomb-0.12.1/src/metadata/ffmpeg_handler.cc
--- src/metadata/ffmpeg_handler.cc.orig 2012-11-25 14:55:05.335753129 +0100
+++ src/metadata/ffmpeg_handler.cc 2012-11-25 15:29:42.840677486 +0100
@@ -110,8 +110,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);
@@ -281,7 +281,7 @@
int x = 0;
int y = 0;
- AVFormatContext *pFormatCtx;
+ AVFormatContext *pFormatCtx = 0;
// Suppress all log messages
av_log_set_callback(FfmpegNoOutputStub);
@@ -290,14 +290,14 @@
av_register_all();
// Open video file
- if (av_open_input_file(&pFormatCtx,
- item->getLocation().c_str(), NULL, 0, NULL) != 0)
+ 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
@@ -306,7 +306,7 @@
addFfmpegResourceFields(item, pFormatCtx, &x, &y);
// Close the video file
- av_close_input_file(pFormatCtx);
+ avformat_close_input(&pFormatCtx);
}
static bool _mkdir(const char *path)

View File

@ -1,20 +0,0 @@
--- src/timer.cc.orig 2010-03-25 15:58:11.000000000 +0100
+++ src/timer.cc 2015-03-08 22:18:05.760740000 +0100
@@ -33,12 +33,15 @@
#include "autoconfig.h"
#endif
+#include "singleton.h"
+
+class Timer;
+SINGLETON_MUTEX(Timer, true);
+
#include "timer.h"
using namespace zmm;
-SINGLETON_MUTEX(Timer, true);
-
template <>
Ref<Array<Timer::TimerSubscriberElement<TimerSubscriberSingleton<Object> > > > Timer::getAppropriateSubscribers<TimerSubscriberSingleton<Object> >()
{

View File

@ -1,11 +0,0 @@
--- src/youtube_video_url.cc.org 2010-04-04 05:23:31.000000000 +0900
+++ src/youtube_video_url.cc 2010-11-06 20:38:26.296613788 +0900
@@ -47,7 +47,7 @@
#define YOUTUBE_URL_PARAMS_REGEXP "var swfHTML.*\\;"
#define YOUTUBE_URL_LOCATION_REGEXP "\nLocation: (http://[^\n]+)\n"
#define YOUTUBE_URL_WATCH "http://www.youtube.com/watch?v="
-#define YOUTUBE_URL_GET "http://www.youtube.com/get_video?"
+#define YOUTUBE_URL_GET "http://www.youtube.com/get_video?asv=3&"
#define YOUTUBE_URL_PARAM_VIDEO_ID "video_id"
#define YOUTUBE_URL_PARAM_T_REGEXP ".*&t=([^&]+)&"
#define YOUTUBE_URL_PARAM_T "t"

View File

@ -1,50 +0,0 @@
#!/bin/sh
# $FreeBSD$
if [ "$2" != "POST-DEINSTALL" ]; then
exit 0
fi
if [ -d %%PREFIX%%/etc/mediatomb ]; then
ETC_EXISTS=yes
else
ETC_EXISTS=
fi
if [ -d %%MEDIATOMB_DIR%% ]; then
HOME_EXISTS=yes
else
HOME_EXISTS=
fi
if pw usershow "%%MEDIATOMB_USER%%" 2>/dev/null 1>&2; then
USER_EXISTS=yes
else
USER_EXISTS=
fi
if pw groupshow "%%MEDIATOMB_GROUP%%" 2>/dev/null 1>&2; then
GROUP_EXISTS=yes
else
GROUP_EXISTS=
fi
if [ "$ETC_EXISTS" = "yes" -o "$HOME_EXISTS" = "yes" -o "$USER_EXISTS" = "yes" -o "$GROUP_EXISTS" = "yes" ]; then
echo
echo "===================================================="
echo
echo "If you want remove MediaTomb permanently from your"
echo "system execute following commands as root:"
echo
[ "$ETC_EXISTS" = "yes" ] && echo " # rm -rf %%PREFIX%%/etc/mediatomb"
[ "$HOME_EXISTS" = "yes" ] && echo " # rm -rf %%MEDIATOMB_DIR%%"
[ "$USER_EXISTS" = "yes" ] && echo " # pw userdel %%MEDIATOMB_USER%%"
[ "$GROUP_EXISTS" = "yes" ] && echo " # pw groupdel %%MEDIATOMB_GROUP%%"
echo
echo "===================================================="
echo
fi
exit 0

View File

@ -1,39 +0,0 @@
#!/bin/sh
# $FreeBSD$
#
if [ "$2" != "PRE-INSTALL" ]; then
exit 0
fi
#PREFIX=${PKG_PREFIX:-%%PREFIX%%}
#USER=%%MEDIATOMB_USER%%
#GROUP=%%MEDIATOMB_GROUP%%
#INSTALL=%%INSTALL%%
#DIR=%%MEDIATOMB_DIR%%
#MASK=%%MEDIATOMB_MASK%%
#if ! ${PW} groupshow "${GROUP}" 2>/dev/null 1>&2; then
# if ${PW} groupadd ${GROUP}; then
# echo "Added group \"${GROUP}\"."
# else
# echo "Adding group \"${GROUP}\" failed..."
# exit 1
# fi
#fi
#if ! ${PW} usershow "${USER}" 2>/dev/null 1>&2; then
# if ${PW} useradd ${USER} -g ${GROUP} -h - \
# -s "/sbin/nologin" -d "/nonexistent" \
# -c "MediaTomb"; \
# then
# echo "Added user \"${USER}\"."
# else
# echo "Adding user \"${USER}\" failed..."
# exit 1
# fi
#fi
exit 0

View File

@ -1,14 +0,0 @@
UPnP media server
MediaTomb is an open source (GPL) UPnP MediaServer with a nice web
user interface, it allows you to stream your digital media through
your home network and listen to/watch it on a variety of UPnP
compatible devices.
MediaTomb implements the UPnP MediaServer V 1.0 specification that can
be found on http://www.upnp.org/. The current implementation focuses
on parts that are required by the specification, however we look into
extending the functionality to cover the optional parts of the spec as
well.
WWW: http://mediatomb.cc/

View File

@ -1,100 +0,0 @@
bin/mediatomb
man/man1/mediatomb.1.gz
%%DATADIR%%/js/import.js
%%DATADIR%%/js/playlists.js
%%DATADIR%%/js/common.js
%%DATADIR%%/mappings.xml
%%DATADIR%%/mysql.sql
%%DATADIR%%/sqlite3.sql
%%DATADIR%%/web/cds.xml
%%DATADIR%%/web/cm.xml
%%DATADIR%%/web/disabled.html
%%DATADIR%%/web/favicon.ico
%%DATADIR%%/web/icons/add_as_autoscan.png
%%DATADIR%%/web/icons/autoscan_inotify_config_folder_open.png
%%DATADIR%%/web/icons/autoscan_inotify_folder_open.png
%%DATADIR%%/web/icons/autoscan_timed_config_folder_open.png
%%DATADIR%%/web/icons/autoscan_timed_folder_open.png
%%DATADIR%%/web/icons/blank.gif
%%DATADIR%%/web/icons/blank.png
%%DATADIR%%/web/icons/document-new.png
%%DATADIR%%/web/icons/film.png
%%DATADIR%%/web/icons/folder_new.png
%%DATADIR%%/web/icons/folder_open.png
%%DATADIR%%/web/icons/go-first.png
%%DATADIR%%/web/icons/go-last.png
%%DATADIR%%/web/icons/go-next.png
%%DATADIR%%/web/icons/go-previous.png
%%DATADIR%%/web/icons/mediatomb.png
%%DATADIR%%/web/icons/mt-icon120.bmp
%%DATADIR%%/web/icons/mt-icon120.jpg
%%DATADIR%%/web/icons/mt-icon120.png
%%DATADIR%%/web/icons/mt-icon32.bmp
%%DATADIR%%/web/icons/mt-icon32.jpg
%%DATADIR%%/web/icons/mt-icon32.png
%%DATADIR%%/web/icons/mt-icon48.bmp
%%DATADIR%%/web/icons/mt-icon48.jpg
%%DATADIR%%/web/icons/mt-icon48.png
%%DATADIR%%/web/icons/nanotree/images/autoscan_inotify_config_folder_closed.png
%%DATADIR%%/web/icons/nanotree/images/autoscan_inotify_config_folder_open.png
%%DATADIR%%/web/icons/nanotree/images/autoscan_inotify_folder_closed.png
%%DATADIR%%/web/icons/nanotree/images/autoscan_inotify_folder_open.png
%%DATADIR%%/web/icons/nanotree/images/autoscan_timed_config_folder_closed.png
%%DATADIR%%/web/icons/nanotree/images/autoscan_timed_config_folder_open.png
%%DATADIR%%/web/icons/nanotree/images/autoscan_timed_folder_closed.png
%%DATADIR%%/web/icons/nanotree/images/autoscan_timed_folder_open.png
%%DATADIR%%/web/icons/nanotree/images/folder_closed.png
%%DATADIR%%/web/icons/nanotree/images/folder_open.png
%%DATADIR%%/web/icons/nanotree/images/lastnode.png
%%DATADIR%%/web/icons/nanotree/images/line.png
%%DATADIR%%/web/icons/nanotree/images/minus.png
%%DATADIR%%/web/icons/nanotree/images/minus_last.png
%%DATADIR%%/web/icons/nanotree/images/minus_last_no_root.png
%%DATADIR%%/web/icons/nanotree/images/minus_no_root.png
%%DATADIR%%/web/icons/nanotree/images/plus.png
%%DATADIR%%/web/icons/nanotree/images/plus_last.png
%%DATADIR%%/web/icons/nanotree/images/plus_last_no_root.png
%%DATADIR%%/web/icons/nanotree/images/plus_no_root.png
%%DATADIR%%/web/icons/nanotree/images/t.png
%%DATADIR%%/web/icons/nanotree/images/t_no_root.png
%%DATADIR%%/web/icons/nanotree/images/white.png
%%DATADIR%%/web/icons/remove_all.png
%%DATADIR%%/web/icons/remove_autoscan.png
%%DATADIR%%/web/icons/remove_this.png
%%DATADIR%%/web/icons/status.png
%%DATADIR%%/web/icons/status_loading.png
%%DATADIR%%/web/icons/status_updates_pending.png
%%DATADIR%%/web/icons/stock-add.png
%%DATADIR%%/web/icons/stock_edit.png
%%DATADIR%%/web/icons/stock_exit.png
%%DATADIR%%/web/index.html
%%DATADIR%%/web/js/auth.js
%%DATADIR%%/web/js/autoscan.js
%%DATADIR%%/web/js/icons.js
%%DATADIR%%/web/js/items.js
%%DATADIR%%/web/js/md5.js
%%DATADIR%%/web/js/nanotree.js
%%DATADIR%%/web/js/iepngfix.htc
%%DATADIR%%/web/js/prototype.js
%%DATADIR%%/web/js/tasks.js
%%DATADIR%%/web/js/tools.js
%%DATADIR%%/web/js/tree.js
%%DATADIR%%/web/left.html
%%DATADIR%%/web/main.css
%%DATADIR%%/web/mr_reg.xml
%%DATADIR%%/web/right.html
%%DATADIR%%/web/std_treelook.css
%%DATADIR%%/web/top.html
%%DATADIR%%/web/topleft.html
%%DATADIR%%/web/topright.html
@dir(mediatomb,mediatomb,750) etc/mediatomb
@sample etc/mediatomb/config.xml.dist etc/mediatomb/config.xml
@dir %%DATADIR%%/js
@dir %%DATADIR%%/web/icons/nanotree/images
@dir %%DATADIR%%/web/icons/nanotree
@dir %%DATADIR%%/web/icons
@dir %%DATADIR%%/web/js
@dir %%DATADIR%%/web
@dir %%DATADIR%%
@dir(mediatomb,mediatomb,750) /var/log/mediatomb
@dir(mediatomb,mediatomb,750) /var/db/mediatomb