[vlc-devel] Issue with libVLC and pulse

Colin Guthrie gmane at colin.guthr.ie
Sat May 29 16:44:57 CEST 2010

'Twas brillig, and Rémi Denis-Courmont at 29/05/10 12:55 did gyre and
> Le vendredi 28 mai 2010 17:31:19 Colin Guthrie, vous avez écrit :
>> If there was a libvlc_set_user_agent() API call then this could be
>> filled in automatically in the backend just as is done in GStreamer
>> currently:
>> http://gitorious.org/phonon/phonon/blobs/master/gstreamer/backend.cpp#line6
>> 3
>> That said, this API call would have to be called prior to libvlc opening
>> the pulse context. I'm not sure of the internals in VLC but I'm sure
>> this can be arranged/documented appropriately.
> It's not particularly difficult to add. But given the very dismissive attitude 
> of anything not gstreamer from PulseAudio upstream, I couldn't bother.

I wouldn't say that. I've tried very hard to integrate pulse into many
things and I put a lot of effort into answering the questions or find
out the answers I don't yet know for people when they approach me on
either the mailing list or the IRC channel.

> Not to mention that I am getting quite annoyed with PulseAudio bug #799 on the 
> one hand, and the Gentoo guys complaining about the VLC workaround for it on 
> the other side.

I've not yet come across bug #799 (I must have missed it on the bugs
mailing list) but since noticing it a couple days ago, I've made moves
to specifically find out about it and ask some questions. So sorry for
not being able to act sooner.

I have to say that I happened to notice the fix in vlc there myself the
other day and it jumped out at me as being a potential problem. After
all the bug report itself states that calling this in a libpulse is not
recommended and the same logic would say that calling it in libvlc would
be equally not recommended.

I'll try and take a look and see if I can patch libpulse to use XCB
rather than XLIB which should work around the issue (according to the
bug report). I doubt it will be too much effort, although I don't
currently know much about either XLIB or XCB so I'll have to get into
that zone first.

> So in my opinion, I have to say, use ALSA.

Not really practical considering pretty much every mobile environment is
using PA due to it's power savings and all the major desktops are now
using it by default.

Anything that really wants to deal with sound output on Linux these days
needs to be very serious about PA support. I'll try and help as best I
can as there are still several problems I spotted while reviewing the
current VLC code (things that immediately spring to mind are the
assumption that one loop wait will result in the state changes needed
and also the writing of zeros when starved of buffer input, both of
which I think *could* result in problems although I need to think about
it a bit more carefully.



Colin Guthrie

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mandriva Linux Contributor [http://www.mandriva.com/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]

More information about the vlc-devel mailing list