Projects
Multimedia
mediatomb
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 22
View file
mediatomb.changes
Changed
@@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Tue Jun 26 20:54:08 UTC 2018 - olaf@aepfle.de + +- Fixes from Heiko Schröder + +------------------------------------------------------------------- Mon Mar 20 07:04:42 UTC 2017 - olaf@aepfle.de - Fix symlink handling in post install scripts
View file
mediatomb.spec
Changed
@@ -41,6 +41,9 @@ Patch6: libavformat_0.11_support.patch # PATCH-FIX-UPSTREAM - build with mp4v2 >= 2.0.0 Patch7: mediatomb-0.12.1-mp4v2_2.0.0.patch +Patch8: mediatomb.patch +Patch9: mediatomb-taglib-readonly.patch +Patch10: mediatomb-taglib-utf8.patch Source90: %{name}-rpmlintrc BuildRequires: autoconf BuildRequires: automake @@ -167,10 +170,12 @@ %patch5 -p1 %patch6 -p1 %patch7 -p1 - -cp %{SOURCE2} . +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 %build +cp %{SOURCE2} . # add subdir-objects option sed '/AM_INIT_AUTOMAKE/s/\(-Wall\)/\1 subdir-objects/' -i configure.ac # we patched configure.ac @@ -192,7 +197,7 @@ --enable-libjs \ --enable-taglib -make %{?_smp_flags} +make %{?_smp_m_flags} %makeinstall \ INSTALL="install -p" mv %{buildroot}%{_bindir}/mediatomb \
View file
mediatomb-taglib-readonly.patch
Added
@@ -0,0 +1,54 @@ +Mediatomb uses the TagLib::FileRef(char*) constructor of taglib. This +will open the file in read-write mode and thus trigger a CLOSE_WRITE +notify event for the file afterwards. This, obviously, makes mediatomb +re-read the file if inotify-support is enabled. This causes unnecessary +load during initial scanning and may even make mediatomb fail to work +for UPNP clients that read the album art while displaying the object +list (as the object ID is unexpectedly changed). This is fixed by the +patch mediatomb-taglib-readonly.patch which uses TagLib::FileStream in +read-only mode. +diff -ur mediatomb-0.12.1.svn2103.orig/src/metadata/taglib_handler.cc mediatomb-0.12.1.svn2103/src/metadata/taglib_handler.cc +--- mediatomb-0.12.1.svn2103.orig/src/metadata/taglib_handler.cc 2012-11-09 03:02:02.306177095 +0100 ++++ mediatomb-0.12.1.svn2103/src/metadata/taglib_handler.cc 2018-04-13 15:32:24.990041623 +0200 +@@ -45,6 +45,7 @@ + #include <attachedpictureframe.h> + #include <textidentificationframe.h> + #include <tstring.h> ++#include <tfilestream.h> + + #include "taglib_handler.h" + #include "string_converter.h" +@@ -135,7 +136,9 @@ + Ref<Array<StringBase> > aux; + Ref<StringConverter> sc = StringConverter::i2i(); + +- TagLib::FileRef f(item->getLocation().c_str()); ++ // use read-only file stream to prevent unnecessary inotify events ++ TagLib::FileStream fs(item->getLocation().c_str(), true); ++ TagLib::FileRef f(&fs, true); + + if (f.isNull() || (!f.tag())) + return; +@@ -192,7 +195,7 @@ + + // did not yet found a way on how to get to the picture from the file + // reference that we already have +- TagLib::MPEG::File mp(item->getLocation().c_str()); ++ TagLib::MPEG::File mp(&fs, TagLib::ID3v2::FrameFactory::instance()); + + if (!mp.isValid() || !mp.ID3v2Tag()) + return; +@@ -274,8 +277,10 @@ + + Ref<IOHandler> TagHandler::serveContent(Ref<CdsItem> item, int resNum, off_t *data_size) + { ++ // use read-only file stream to prevent unnecessary inotify events ++ TagLib::FileStream fs(item->getLocation().c_str(), true); + // we should only get mp3 files here +- TagLib::MPEG::File f(item->getLocation().c_str()); ++ TagLib::MPEG::File f(&fs, TagLib::ID3v2::FrameFactory::instance()); + + if (!f.isValid()) + throw _Exception(_("TagHandler: could not open file: ") + + +
View file
mediatomb-taglib-utf8.patch
Added
@@ -0,0 +1,17 @@ +When converting a UTF-8 TagLib::String to a std::String the size() +function cannot be used to derive the size of the C string. Doing so +might loose (multi-byte) characters in the conversion. +diff -ur mediatomb-0.12.1.svn2103.orig/src/metadata/taglib_handler.cc mediatomb-0.12.1.svn2103/src/metadata/taglib_handler.cc +--- mediatomb-0.12.1.svn2103.orig/src/metadata/taglib_handler.cc 2012-11-09 03:02:02.306177095 +0100 ++++ mediatomb-0.12.1.svn2103/src/metadata/taglib_handler.cc 2012-11-09 03:02:02.306177095 +0100 +@@ -230,7 +230,7 @@ + { + TagLib::String frameContents = textFrame->toString(); + //log_debug("We have a match!!!!: %s\n", frameContents.toCString(true)); +- String value(frameContents.toCString(true), frameContents.size()); ++ String value(frameContents.toCString(true)); + value = sc->convert(value); + log_debug("Adding frame: %s with value %s\n", desiredFrame.c_str(), value.c_str()); + item->setAuxData(desiredFrame, value); + +
View file
mediatomb.patch
Added
@@ -0,0 +1,11 @@ +--- a/src/string_converter.cc ++++ b/src/string_converter.cc +@@ -130,7 +130,7 @@ zmm::String StringConverter::_convert(St + + //log_debug(("iconv: BEFORE: input bytes left: %d output bytes left: %d\n", + // input_bytes, output_bytes)); +-#if defined(ICONV_CONST) || defined(SOLARIS) ++#if 0 + ret = iconv(cd, (const char**)input_ptr, &input_bytes, + output_ptr, &output_bytes); + #else
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.