Illegitimi non carborundum


Update on KDE+PulseAudio

Just a small note to update on the progress.

The Test button now selects the right device. The way of achieving this is a little convoluted, but it seems to work well. We now generate a UUID for every phonon stream and push this into the PulseAudio stream proplist via an environment variable. We then look for all the streams in pulse and match up our UUID such that we can match up the pulse stream index to our phonon stream. We can then use this to move the stream to the appropriate device. Due to the async nature of PulseAudio, phonon sometimes requests the move before the stream is actually setup, so we have to queue up the move requests and process them when a stream appears. This approach also has the effect of causing the specific sink to be saved in module-stream-restore database, but this shouldn't matter in practice as phonon will always move it, so if the priority list changes, then we will always set the right device one way or the other even if the whole rigmarole could be avoided. But like I say, the practical outcome is fine, so let's just leave that for now.

The category is also passed through to PulseAudio now, so the the only thing that is not handled is when PulseAudio disconnects/restarts. Thankfully this is now getting less and less often as stability improves 🙂

Share and Enjoy:
  • Digg
  • StumbleUpon
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • Slashdot
  • Pingback: Akari (akari) 's status on Saturday, 10-Oct-09 15:15:46 UTC -

  • JZA

    I am still experimenting great pain with Pulse and Skype, specially when is a static installation of skype (all deps in one folder). I don’t really how to go about it so I end up what every consious user would do and disable pulse and put an older version of skype on ALSA. I really never had issues with Alsa, so I dont get the point of Pulse.

    • Colin

      Well this article is nothing to do with Skype, so not sure why you mention it. While Skype is a proprietary app that we really cannot fix ourselves if it’s broken (and thus should not be used as a yard stick), I have to say that the current Skype beta is working rather well for me. I can use it automatically without any issue, and when I open the flip on my bluetooth headset and the call automatically moves across to it. It’s all working rather flawlessly to be honest (bug which I’ve help the upstream Skype guys fix since the beta not withstanding).

  • Pingback: So how does the KDE PulseAudio support work anyway? «