[mythtv] prebuffer audio related?

Ed Wildgoose lists at wildgooses.com
Thu Oct 28 09:41:29 UTC 2004


> I have a Sony receiver connected with spdif and it says PCM 48 on the 
> display when playback starts.


Hmm, this will be an interesting scenario...  I think the ATI chipset 
must be resampling in hardware, and possibly this is tickling a bug in 
the driver causing it to report free space incorrectly.

Basically in myth video is clocked to audio.  So you play the audio and 
examine the timestamps periodically to see if anything is due to be 
displayed.  However, if the chipset is converting from 32K to 48K, then 
it might well mess up from time to time (if it's badly written).

There is no resampler in Myth (unless you are on a very recent cvs), so 
this must be happening in the chipset.

> I was indeed recording at 32Khz (wich is the default MPEG2 settings I 
> believe?) so I changed to 48Mhz and now the skips are less frequent 
> and also less noticable.
>
...

> Using /dev/dsp Av sync is perfect. Using ALSA:spdif or ALSA:pcm.front 
> audio is a little behind but no prebuffering pause at all.
>

Hang on, you said less noticable and then you said perfect?  Which is it?

We already discussed why the lag exists.  Hang on a while and I will be 
implementing custom delays in the audio real soon.


> But playing back the recordings with 32Khz audio in them with mplayer 
> also gives me PCM 48 on my receivers display but the file plays fine.


Yes, but mplayer HAS got a resampler built into it.  Can you check to 
see if it's using it (examine the startup verbose output)

By the way, I might have missed something important here.  Does this 
only happen when you watch livetv?  Is it still there on playback of 
recorded programs?  If only on livetv, then there is another issue where 
the livetv could be catching up with the end of he ringbuffer if we are 
playing back audio *slightly* faster than we are recording it (can 
easily happen if there is some resampling to spdif happening in the 
chain).  Even 1 sample per sec difference will quickly add up to a 
couple of seconds and hence running out of buffered tv to watch.

Ed W


More information about the mythtv-dev mailing list