1 |
commit: 6ffd3e6806dc84eabb4ca910038a4628304b8db2 |
2 |
Author: Andreas Sturmlechner <andreas.sturmlechner <AT> gmail <DOT> com> |
3 |
AuthorDate: Sat Nov 26 15:34:39 2016 +0000 |
4 |
Commit: Michael Palimaka <kensington <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Nov 26 18:00:09 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ffd3e68 |
7 |
|
8 |
media-video/vlc: Drop USE=media-library, fix some ALSA issues |
9 |
|
10 |
Upstream seems unwilling to fix it in 2.2 branch. |
11 |
|
12 |
Gentoo-bug: 594126, 592784 |
13 |
|
14 |
Package-Manager: portage-2.3.0 |
15 |
|
16 |
.../vlc/files/vlc-2.2.4-alsa-large-buffers.patch | 47 ++++++++++++++++++++++ |
17 |
.../vlc/files/vlc-2.2.4-decoder-lock-scope.patch | 47 ++++++++++++++++++++++ |
18 |
media-video/vlc/metadata.xml | 1 - |
19 |
media-video/vlc/vlc-2.2.1-r1.ebuild | 2 +- |
20 |
media-video/vlc/vlc-2.2.4.ebuild | 2 +- |
21 |
media-video/vlc/vlc-2.2.9999.ebuild | 6 ++- |
22 |
6 files changed, 101 insertions(+), 4 deletions(-) |
23 |
|
24 |
diff --git a/media-video/vlc/files/vlc-2.2.4-alsa-large-buffers.patch b/media-video/vlc/files/vlc-2.2.4-alsa-large-buffers.patch |
25 |
new file mode 100644 |
26 |
index 00000000..b5a9ff7 |
27 |
--- /dev/null |
28 |
+++ b/media-video/vlc/files/vlc-2.2.4-alsa-large-buffers.patch |
29 |
@@ -0,0 +1,47 @@ |
30 |
+X-Git-Url: https://git.videolan.org/?p=vlc.git;a=blobdiff_plain;f=modules%2Faudio_output%2Falsa.c;h=4e9fd53592d048baa8b57f30df15ab5806139d07;hp=2d1f99e9cb743bca12c6bdf32cc84a92d07fda8b;hb=47f74a83c161173b0d15e95dab8ceb7c97de51b4;hpb=6ae2905ef7fbc7de3a3a4a1bdf8ad6df46ce570a |
31 |
+ |
32 |
+diff --git a/modules/audio_output/alsa.c b/modules/audio_output/alsa.c |
33 |
+index 2d1f99e..4e9fd53 100644 |
34 |
+--- a/modules/audio_output/alsa.c |
35 |
++++ b/modules/audio_output/alsa.c |
36 |
+@@ -495,6 +495,15 @@ static int Start (audio_output_t *aout, audio_sample_format_t *restrict fmt) |
37 |
+ } |
38 |
+ sys->rate = fmt->i_rate; |
39 |
+ |
40 |
++#if 1 /* work-around for period-long latency outputs (e.g. PulseAudio): */ |
41 |
++ param = AOUT_MIN_PREPARE_TIME; |
42 |
++ val = snd_pcm_hw_params_set_period_time_near (pcm, hw, ¶m, NULL); |
43 |
++ if (val) |
44 |
++ { |
45 |
++ msg_Err (aout, "cannot set period: %s", snd_strerror (val)); |
46 |
++ goto error; |
47 |
++ } |
48 |
++#endif |
49 |
+ /* Set buffer size */ |
50 |
+ param = AOUT_MAX_ADVANCE_TIME; |
51 |
+ val = snd_pcm_hw_params_set_buffer_time_near (pcm, hw, ¶m, NULL); |
52 |
+@@ -503,14 +512,22 @@ static int Start (audio_output_t *aout, audio_sample_format_t *restrict fmt) |
53 |
+ msg_Err (aout, "cannot set buffer duration: %s", snd_strerror (val)); |
54 |
+ goto error; |
55 |
+ } |
56 |
+- |
57 |
+- param = AOUT_MIN_PREPARE_TIME; |
58 |
++#if 0 |
59 |
++ val = snd_pcm_hw_params_get_buffer_time (hw, ¶m, NULL); |
60 |
++ if (val) |
61 |
++ { |
62 |
++ msg_Warn (aout, "cannot get buffer time: %s", snd_strerror(val)); |
63 |
++ param = AOUT_MIN_PREPARE_TIME; |
64 |
++ } |
65 |
++ else |
66 |
++ param /= 2; |
67 |
+ val = snd_pcm_hw_params_set_period_time_near (pcm, hw, ¶m, NULL); |
68 |
+ if (val) |
69 |
+ { |
70 |
+ msg_Err (aout, "cannot set period: %s", snd_strerror (val)); |
71 |
+ goto error; |
72 |
+ } |
73 |
++#endif |
74 |
+ |
75 |
+ /* Commit hardware parameters */ |
76 |
+ val = snd_pcm_hw_params (pcm, hw); |
77 |
|
78 |
diff --git a/media-video/vlc/files/vlc-2.2.4-decoder-lock-scope.patch b/media-video/vlc/files/vlc-2.2.4-decoder-lock-scope.patch |
79 |
new file mode 100644 |
80 |
index 00000000..51a2cdc |
81 |
--- /dev/null |
82 |
+++ b/media-video/vlc/files/vlc-2.2.4-decoder-lock-scope.patch |
83 |
@@ -0,0 +1,47 @@ |
84 |
+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 |
85 |
+ |
86 |
+--- a/src/input/decoder.c |
87 |
++++ b/src/input/decoder.c |
88 |
+@@ -1162,7 +1162,10 @@ |
89 |
+ b_paused = p_owner->b_paused; |
90 |
+ |
91 |
+ if (!p_audio) |
92 |
++ { |
93 |
++ vlc_mutex_unlock( &p_owner->lock ); |
94 |
+ break; |
95 |
++ } |
96 |
+ |
97 |
+ /* */ |
98 |
+ int i_rate = INPUT_RATE_DEFAULT; |
99 |
+@@ -1180,6 +1183,9 @@ |
100 |
+ |
101 |
+ if( unlikely(p_owner->b_paused != b_paused) ) |
102 |
+ continue; /* race with input thread? retry... */ |
103 |
++ |
104 |
++ vlc_mutex_unlock( &p_owner->lock ); |
105 |
++ |
106 |
+ if( p_aout == NULL ) |
107 |
+ b_reject = true; |
108 |
+ |
109 |
+@@ -1199,7 +1205,6 @@ |
110 |
+ |
111 |
+ break; |
112 |
+ } |
113 |
+- vlc_mutex_unlock( &p_owner->lock ); |
114 |
+ } |
115 |
+ |
116 |
+ static void DecoderDecodeAudio( decoder_t *p_dec, block_t *p_block ) |
117 |
+@@ -1961,11 +1966,10 @@ |
118 |
+ |
119 |
+ /* Parameters changed, restart the aout */ |
120 |
+ vlc_mutex_lock( &p_owner->lock ); |
121 |
+- |
122 |
+- aout_DecDelete( p_owner->p_aout ); |
123 |
+ p_owner->p_aout = NULL; |
124 |
+- |
125 |
+ vlc_mutex_unlock( &p_owner->lock ); |
126 |
++ aout_DecDelete( p_owner->p_aout ); |
127 |
++ |
128 |
+ input_resource_PutAout( p_owner->p_resource, p_aout ); |
129 |
+ } |
130 |
+ |
131 |
|
132 |
diff --git a/media-video/vlc/metadata.xml b/media-video/vlc/metadata.xml |
133 |
index ec1f07d..a1e4706 100644 |
134 |
--- a/media-video/vlc/metadata.xml |
135 |
+++ b/media-video/vlc/metadata.xml |
136 |
@@ -47,7 +47,6 @@ |
137 |
<flag name="macosx-quartztext">Enables Mac OS X quartz text module.</flag> |
138 |
<flag name="macosx-qtkit">Enables Mac OS X qtkit module: qtcapture (video) and qtsound (audio) module.</flag> |
139 |
<flag name="matroska">Enables matroska support using reference libraries (fallback on other existing matroska support if disabled, i.e., matroska enabled FFmpeg)</flag> |
140 |
- <flag name="media-library">Build the (sqlite based) media library.</flag> |
141 |
<flag name="mpeg">Add libmpeg2 support for mpeg-1 and mpeg-2 video streams</flag> |
142 |
<flag name="omxil">Enables OpenMAX Integration Layer codec module.</flag> |
143 |
<flag name="optimisememory">Enable optimisation for memory rather than performance.</flag> |
144 |
|
145 |
diff --git a/media-video/vlc/vlc-2.2.1-r1.ebuild b/media-video/vlc/vlc-2.2.1-r1.ebuild |
146 |
index 59b277c..1d3bc72 100644 |
147 |
--- a/media-video/vlc/vlc-2.2.1-r1.ebuild |
148 |
+++ b/media-video/vlc/vlc-2.2.1-r1.ebuild |
149 |
@@ -45,7 +45,7 @@ IUSE="a52 aalib alsa altivec atmo +audioqueue +avcodec |
150 |
growl httpd ieee1394 jack jpeg kate kde libass libav libcaca libnotify |
151 |
+libsamplerate libtiger linsys libtar lirc live lua |
152 |
macosx-dialog-provider macosx-eyetv macosx-quartztext macosx-qtkit |
153 |
- matroska media-library cpu_flags_x86_mmx modplug mp3 mpeg |
154 |
+ matroska cpu_flags_x86_mmx modplug mp3 mpeg |
155 |
mtp musepack ncurses neon ogg omxil opencv opengl optimisememory opus |
156 |
png postproc projectm pulseaudio +qt4 qt5 rdp rtsp run-as-root samba |
157 |
schroedinger sdl sdl-image sftp shout sid skins speex cpu_flags_x86_sse svg +swscale |
158 |
|
159 |
diff --git a/media-video/vlc/vlc-2.2.4.ebuild b/media-video/vlc/vlc-2.2.4.ebuild |
160 |
index a165e1d..f5ab6f9 100644 |
161 |
--- a/media-video/vlc/vlc-2.2.4.ebuild |
162 |
+++ b/media-video/vlc/vlc-2.2.4.ebuild |
163 |
@@ -45,7 +45,7 @@ IUSE="a52 aalib alsa altivec atmo +audioqueue +avcodec |
164 |
growl httpd ieee1394 jack jpeg kate kde libass libav libcaca libnotify |
165 |
+libsamplerate libtiger linsys libtar lirc live lua |
166 |
macosx-dialog-provider macosx-eyetv macosx-quartztext macosx-qtkit |
167 |
- matroska media-library cpu_flags_x86_mmx modplug mp3 mpeg |
168 |
+ matroska cpu_flags_x86_mmx modplug mp3 mpeg |
169 |
mtp musepack ncurses neon ogg omxil opencv opengl optimisememory opus |
170 |
png postproc projectm pulseaudio +qt4 qt5 rdp rtsp run-as-root samba |
171 |
schroedinger sdl sdl-image sftp shout sid skins speex cpu_flags_x86_sse svg +swscale |
172 |
|
173 |
diff --git a/media-video/vlc/vlc-2.2.9999.ebuild b/media-video/vlc/vlc-2.2.9999.ebuild |
174 |
index 7047721..8c5988f 100644 |
175 |
--- a/media-video/vlc/vlc-2.2.9999.ebuild |
176 |
+++ b/media-video/vlc/vlc-2.2.9999.ebuild |
177 |
@@ -45,7 +45,7 @@ IUSE="a52 aalib alsa altivec atmo +audioqueue +avcodec |
178 |
growl gstreamer httpd ieee1394 jack jpeg kate kde libass libav libcaca libnotify |
179 |
+libsamplerate libtiger linsys libtar lirc live lua |
180 |
macosx-dialog-provider macosx-eyetv macosx-quartztext macosx-qtkit |
181 |
- matroska media-library cpu_flags_x86_mmx modplug mp3 mpeg |
182 |
+ matroska cpu_flags_x86_mmx modplug mp3 mpeg |
183 |
mtp musepack ncurses neon ogg omxil opencv opengl optimisememory opus |
184 |
png +postproc projectm pulseaudio +qt4 qt5 rdp rtsp run-as-root samba |
185 |
schroedinger sdl sdl-image sftp shout sid skins speex cpu_flags_x86_sse svg +swscale |
186 |
@@ -224,6 +224,10 @@ PATCHES=( |
187 |
|
188 |
# Bug #589396 |
189 |
"${FILESDIR}"/${PN}-2.2.4-cxx0x.patch |
190 |
+ |
191 |
+ # Bug #594126 |
192 |
+ "${FILESDIR}"/${PN}-2.2.4-decoder-lock-scope.patch |
193 |
+ "${FILESDIR}"/${PN}-2.2.4-alsa-large-buffers.patch |
194 |
) |
195 |
|
196 |
DOCS=( AUTHORS THANKS NEWS README doc/fortunes.txt doc/intf-vcd.txt ) |