summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2017-08-29 21:37:03 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2017-08-29 21:40:17 +0200
commiteff19da8e22050be19180b57c3df1984db7bd23f (patch)
tree03ad5d08890ec358c1cb9c297db13a036b021189 /media-video/vlc/files
parentmedia-gfx/gimp: Add missing dependency (bug #629168) (diff)
downloadgentoo-eff19da8e22050be19180b57c3df1984db7bd23f.tar.gz
gentoo-eff19da8e22050be19180b57c3df1984db7bd23f.tar.bz2
gentoo-eff19da8e22050be19180b57c3df1984db7bd23f.zip
media-video/vlc: Fix segfault
Reported-by: dekbertu <sparks71@gmx.de> Thanks-to: Joakim Tjernlund <joakim.tjernlund@infinera.com> Gentoo-bug: 629294 Package-Manager: Portage-2.3.8, Repoman-2.3.3
Diffstat (limited to 'media-video/vlc/files')
-rw-r--r--media-video/vlc/files/vlc-2.2.6-decoder-lock-scope.patch34
1 files changed, 34 insertions, 0 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 000000000000..2e8064446d05
--- /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 )
+