Bug#595252: vlc: Says "Please update alsa-lib"

Reinhard Tartler siretart at tauware.de
Wed Sep 8 05:33:07 UTC 2010


On Di, Sep 07, 2010 at 21:41:35 (CEST), Christophe Mutricy wrote:

> Le Tue 07 Sep 10 à 16:56 +0200, Fabian Greffrath a écrit :
>> Am 07.09.2010 16:45, schrieb Nigel Horne:
>>> Wouldn't it be less confusing if it said "Please update libasound2..."?
> Well "alsa-lib" is the name upstream and the name of the source package
>
>> Regardless of what it says, do I understand it right that vlc in squeeze 
>> does not work with alsa-lib from squeeze?
>
> rmadison alsa-lib 
>   alsa-lib |   1.0.16-2 |        stable | source
>   alsa-lib |   1.0.23-1 |       testing | source
>   alsa-lib |   1.0.23-1 |      unstable | source
>
> If problem there is, it is the same in Sid.

indeed.

> Does it happen every time ? On every media ? Do you use PulseAudio ?
> If it's reproducable, can I have the logs (vlc -vvv ...)

This error message can only occur when using the alsa output module, as
the error message is in modules/audio_output/alsa.c. This exact error
message is part of the following upstream change:

From: Rémi Denis-Courmont <remi at remlab.net>
Date: Wed, 21 Apr 2010 17:37:07 +0000 (+0300)
Subject: ALSA: give a clue that VLC might fail with alsa-lib <= 1.0.23...
X-Git-Tag: 1.1.0-test3~62
X-Git-Url: http://git.videolan.org/?p=vlc%2Fvlc-1.1.git;a=commitdiff_plain;h=e2552af97ab56adfd3090bf840d1860da5c0d128

ALSA: give a clue that VLC might fail with alsa-lib <= 1.0.23...

...as reported earlier on vlc-devel (not reproducible by me).
(cherry picked from commit 05c3c71df21fe5aca59f631b3841e70dbd2bd8db)
---

diff --git a/modules/audio_output/alsa.c b/modules/audio_output/alsa.c
index ac19bd9..185c56d 100644
--- a/modules/audio_output/alsa.c
+++ b/modules/audio_output/alsa.c
@@ -283,6 +283,18 @@ static void Probe( aout_instance_t * p_aout,
     if( val.i_int <= 0 )
     {
         /* Probe() has failed. */
+#if (SND_LIB_VERSION <= 0x010017)
+# warning Please update alsa-lib to version > 1.0.23.
+        var_Create( p_aout->p_libvlc, "alsa-broken", VLC_VAR_BOOL );
+        if( !var_GetBool( p_aout->p_libvlc, "alsa-broken" ) )
+        {
+            var_SetBool( p_aout->p_libvlc, "alsa-broken", true );
+            dialog_FatalWait( p_aout, "Potential ALSA version problem",
+                "VLC failed to initialize your sound output device (if any).\n"
+                "Please update alsa-lib to version 1.0.24 or higher "
+                "to try to fix this issue." );
+        }
+#endif
         msg_Dbg( p_aout, "failed to find a usable ALSA configuration" );
         var_Destroy( p_aout, "audio-device" );
         GetDevices( VLC_OBJECT(p_aout), NULL );


(a later commit then changes the suggested alsa version to
1.0.23-2-g8d80d5f, which we see in the original report)


> Reading from the Changelog, this has to do with the probing of the sound
> card to see how many channel it supports or rather n reprobing for a
> second media. It has also to do with thread-safety so it might not be
> easy to reproduce

While I don't see that in the Changelog, it seems clear to me that this
issue needs an alsa expert to examine further. I very well imagine that
this happens only on specific hardware and vlc upstream claims it to be
fixed in current alsa-lib development and can be easily avoided by using
pulse instead. I consider this good advice!

I propose to reassign this issue to the libasound2 package and ask its
maintainers to have a look at it.

-- 
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4





More information about the pkg-multimedia-maintainers mailing list