commit:     eff19da8e22050be19180b57c3df1984db7bd23f
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 29 19:37:03 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Aug 29 19:40:17 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eff19da8

media-video/vlc: Fix segfault

Reported-by: dekbertu <sparks71 <AT> gmx.de>
Thanks-to: Joakim Tjernlund <joakim.tjernlund <AT> infinera.com>
Gentoo-bug: 629294
Package-Manager: Portage-2.3.8, Repoman-2.3.3

 .../vlc/files/vlc-2.2.6-decoder-lock-scope.patch   | 34 ++++++++++++++++++++++
 .../{vlc-2.2.9999.ebuild => vlc-2.2.6-r2.ebuild}   |  8 ++---
 media-video/vlc/vlc-2.2.9999.ebuild                |  4 +--
 3 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/media-video/vlc/files/vlc-2.2.6-decoder-lock-scope.patch 
b/media-video/vlc/files/vlc-2.2.6-decoder-lock-scope.patch
new file mode 100644
index 00000000000..2e8064446d0
--- /dev/null
+++ b/media-video/vlc/files/vlc-2.2.6-decoder-lock-scope.patch
@@ -0,0 +1,34 @@
+X-Git-Url: 
https://git.videolan.org/?p=vlc.git;a=blobdiff_plain;f=src%2Finput%2Fdecoder.c;h=fe3cd428c65c18bfbdadb55baf11521afdc2bfc7;hp=83aa5bf54e2c29ad93fae803117558e4fcd0f658;hb=6ae2905ef7fbc7de3a3a4a1bdf8ad6df46ce570a;hpb=5b2de76965ee8b1ab5e3257f8b6d71bbb4e9e3f9
+
+--- a/src/input/decoder.c
++++ b/src/input/decoder.c
+@@ -1162,7 +1162,10 @@
+         b_paused = p_owner->b_paused;
+ 
+         if (!p_audio)
++        {
++            vlc_mutex_unlock( &p_owner->lock );
+             break;
++        }
+ 
+         /* */
+         int i_rate = INPUT_RATE_DEFAULT;
+@@ -1180,6 +1183,9 @@
+ 
+         if( unlikely(p_owner->b_paused != b_paused) )
+             continue; /* race with input thread? retry... */
++
++        vlc_mutex_unlock( &p_owner->lock );
++
+         if( p_aout == NULL )
+             b_reject = true;
+ 
+@@ -1199,7 +1205,6 @@
+ 
+         break;
+     }
+-    vlc_mutex_unlock( &p_owner->lock );
+ }
+ 
+ static void DecoderDecodeAudio( decoder_t *p_dec, block_t *p_block )
+ 

diff --git a/media-video/vlc/vlc-2.2.9999.ebuild 
b/media-video/vlc/vlc-2.2.6-r2.ebuild
similarity index 98%
copy from media-video/vlc/vlc-2.2.9999.ebuild
copy to media-video/vlc/vlc-2.2.6-r2.ebuild
index ea1b3f17fea..62e7d7e9ef2 100644
--- a/media-video/vlc/vlc-2.2.9999.ebuild
+++ b/media-video/vlc/vlc-2.2.6-r2.ebuild
@@ -196,10 +196,10 @@ PATCHES=(
        "${FILESDIR}"/${PN}-2.1.0-fix-libtremor-libs.patch
 
        # Patch up incompatibilities and reconfigure autotools.
-       "${FILESDIR}"/${PN}-9999-libva-1.2.1-compat.patch
+#      "${FILESDIR}"/${PN}-9999-libva-1.2.1-compat.patch
 
        # Fix up broken audio when skipping using a fixed reversed bisected 
commit.
-       "${FILESDIR}"/${PN}-2.1.0-TomWij-bisected-PA-broken-underflow.patch
+#      "${FILESDIR}"/${PN}-2.1.0-TomWij-bisected-PA-broken-underflow.patch
 
        # Bug #541678
        "${FILESDIR}"/qt4-select.patch
@@ -214,8 +214,8 @@ PATCHES=(
        # Bug #589396
        "${FILESDIR}"/${PN}-2.2.4-cxx0x.patch
 
-       # Bug #594126
-       "${FILESDIR}"/${PN}-2.2.4-decoder-lock-scope.patch
+       # Bug #594126, #629294
+       "${FILESDIR}"/${PN}-2.2.6-decoder-lock-scope.patch
        "${FILESDIR}"/${PN}-2.2.4-alsa-large-buffers.patch
 
        # Bug #593460

diff --git a/media-video/vlc/vlc-2.2.9999.ebuild 
b/media-video/vlc/vlc-2.2.9999.ebuild
index ea1b3f17fea..069a19e151f 100644
--- a/media-video/vlc/vlc-2.2.9999.ebuild
+++ b/media-video/vlc/vlc-2.2.9999.ebuild
@@ -214,8 +214,8 @@ PATCHES=(
        # Bug #589396
        "${FILESDIR}"/${PN}-2.2.4-cxx0x.patch
 
-       # Bug #594126
-       "${FILESDIR}"/${PN}-2.2.4-decoder-lock-scope.patch
+       # Bug #594126, #629294
+       "${FILESDIR}"/${PN}-2.2.6-decoder-lock-scope.patch
        "${FILESDIR}"/${PN}-2.2.4-alsa-large-buffers.patch
 
        # Bug #593460

Reply via email to