Author: kwizart
Update of /cvs/free/rpms/vlc/F-14
In directory se02.es.rpmfusion.net:/tmp/cvs-serv9676/F-14
Modified Files:
vlc.spec
Added Files:
vlc-1.1.0-pending-taglib-not-tread_safe.patch
Log Message:
Workaround for taglib not been tread safe
vlc-1.1.0-pending-taglib-not-tread_safe.patch:
taglib.cpp | 4 ++++
1 file changed, 4 insertions(+)
--- NEW FILE vlc-1.1.0-pending-taglib-not-tread_safe.patch ---
From: Rafaël Carré <rafael.carre(a)gmail.com>
Date: Sun, 24 Oct 2010 16:14:33 +0000 (+0200)
Subject: taglib is not thread-safe
X-Git-Url:
http://git.videolan.org/?p=vlc.git;a=commitdiff_plain;h=8675d26cea713ca9e...
taglib is not thread-safe
Fix ticket #3958
---
diff --git a/modules/meta_engine/taglib.cpp b/modules/meta_engine/taglib.cpp
index 33866d0..f67dbda 100644
--- a/modules/meta_engine/taglib.cpp
+++ b/modules/meta_engine/taglib.cpp
@@ -77,6 +77,8 @@
#include <textidentificationframe.h>
#include <uniquefileidentifierframe.h>
+// taglib is not thread safe
+static vlc_mutex_t taglib_lock = VLC_STATIC_MUTEX;
// Local functions
static int ReadMeta ( vlc_object_t * );
@@ -363,6 +365,7 @@ static void ReadMetaFromMP4( MP4::Tag* tag, demux_t *p_demux,
demux_meta_t *p_de
*/
static int ReadMeta( vlc_object_t* p_this)
{
+ vlc_mutex_locker locker (&taglib_lock);
demux_meta_t* p_demux_meta = (demux_meta_t *)p_this;
demux_t* p_demux = p_demux_meta->p_demux;
vlc_meta_t* p_meta;
@@ -585,6 +588,7 @@ static void WriteMetaToXiph( Ogg::XiphComment* tag, input_item_t*
p_item )
static int WriteMeta( vlc_object_t *p_this )
{
+ vlc_mutex_locker locker (&taglib_lock);
meta_export_t *p_export = (meta_export_t *)p_this;
input_item_t *p_item = p_export->p_item;
FileRef f;
Index: vlc.spec
===================================================================
RCS file: /cvs/free/rpms/vlc/F-14/vlc.spec,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -r1.94 -r1.95
--- vlc.spec 17 Oct 2010 16:09:51 -0000 1.94
+++ vlc.spec 24 Oct 2010 17:01:53 -0000 1.95
@@ -21,7 +21,7 @@
Summary: The cross-platform open-source multimedia framework, player and server
Name: vlc
Version: 1.1.4
-Release: 3%{?dist}
+Release: 4%{?dist}
License: GPLv2+
Group: Applications/Multimedia
URL:
http://www.videolan.org
@@ -31,6 +31,7 @@
%endif
Patch0: vlc-1.1.0-vlc-cache-gen_noerror.patch
Patch1: 0001-Libnotify-depends-on-a-gtk.patch
+Patch2: vlc-1.1.0-pending-taglib-not-tread_safe.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: desktop-file-utils
@@ -228,6 +229,7 @@
%endif
%patch0 -p1 -b .noerror
%patch1 -p1 -b .gtk23
+%patch2 -p1 -b .taglib_ts
sed -i.dmo_pic -e 's/fno-PIC/fPIC/' libs/loader/Makefile.in
rm modules/access/videodev2.h
@@ -521,6 +523,9 @@
%changelog
+* Sun Oct 24 2010 Nicolas Chauvet <kwizart(a)gmail.com> - 1.1.4-4
+- Workaround for taglib not been tread safe
+
* Sun Oct 17 2010 Nicolas Chauvet <kwizart(a)gmail.com> - 1.1.4-3
- Explicitely use -fPIC compilation even for dmo plugin
- Silence post scriptlet