[mythtv] ALSA sound patch

James Y. Knight foom at fuhm.net
Thu Aug 28 21:56:18 EDT 2003


On Thursday, August 28, 2003, at 06:19  PM, John Knottenbelt wrote:
> Hello everyone
>
> Attached is a patch (again mythtv cvs 28/08/2003) which adds ALSA as a
> possible sound device to the configuration menus in the front-end. 
> This is
> different to using ALSA's OSS emulation API.
>
> Additionally some tweaks to the ALSA sound module, which make it work 
> (at
> least on my machine) when it was stuttering badly before.

Hi, thanks a lot for looking at the ALSA code! I've been meaning to get 
back to it for a while but various things (work, hardware failure of my 
myth box after being struck by lightning) have been conspiring against 
me. Anyhow, a few comments:
1) The changes to the 'audiodevice = "/dev/dsp";' lines shouldn't be 
necessary, since I'm pretty sure it gets set somewhere else.
2) If you're getting stuttering, there's certainly some problem, but it 
seems unlikely that snd_pcm_wait is the right solution, since 
AddSamples is supposed to be (usually) non-blocking. I'm surprised that 
putting in code that can cause it to block for up to 1/10th of a second 
actually works. Do you have some reason to believe that's the right 
thing to do, or did you just randomly try it and it worked?
3) "ALSA:default" should probably only be added to the menu if ALSA is 
compiled in.


While I'm at it, here's a status report of where things stand with me.

- ALSA sound output from mythtv works right for me, hopefully works for 
some other people too.

- Mythmusic is half converted to use the AudioOutput interface (not its 
own audio code). What's remaining (and has been remaining for a while) 
is to change the mythmusic code that requires feedback events from the 
audio output layer back to the GUI (OutputEvent::*). I got tired of 
working on this code and stalled.

- I'm also and about halfway through reworking NuppelVideoRecorder to 
use an AudioInput interface (and thus support ALSA input). I'm actually 
actively working on this part now, so it may yet be finished. I just 
gotta be careful since if I break my mythtv backend when it's supposed 
to be recording an important TV show I risk being banned from touching 
it. :)

- I haven't started looking at how to do configuration in myth to 
autodetect if ALSA is installed and what devices you have and add them 
to the sound device menu.

- Another thing that might be cool to do at some point is enable raw 
AC3 SPDIF output through the ALSA audio output. This doesn't look to be 
too hard, as there are other projects the code can mostly be 
copy/pasted from. However, I have no way of testing any such support as 
I have nothing that supports SPDIF other than my myth box, so I'm 
reluctant to even try coding this.

James



More information about the mythtv-dev mailing list