[mythtv] AC3 playback mangled until timestretch activated

Matt W mwood23 at gmail.com
Thu Feb 11 05:47:08 UTC 2010


I posted a couple times in regard to this on mythtv-users.  It wasn't
until I read this thread:

http://www.gossamer-threads.com/lists/mythtv/dev/332388

...that I realized I'm suffering the same thing, but in reverse.  That
is, I get long audio dropouts on the primary AC3 audio stream -until-
I fiddle with timestretch.  Then suddenly everything sounds fine, and
I can get true DD via AC3 passthrough.  I can even change the
timestretch back to 1.0x and things continue to run fine.


here's the verbose audio output from playback:

2010-02-10 21:36:05.630 TV: Attempting to change from None to Watching
WatchingPreRecorded
2010-02-10 21:36:06.233 AFD: Opened codec 0x6455110, id(MPEG2VIDEO) type(Video)
2010-02-10 21:36:06.233 AFD: codec AC3 has 6 channels
2010-02-10 21:36:06.234 AFD: Opened codec 0x6455550, id(AC3) type(Audio)
2010-02-10 21:36:06.234 AFD: Audio Track #1 is A/V stream #1 and has 6
channels in the English language(6647399).
2010-02-10 21:36:06.234 AFD: codec AC3 has 2 channels
2010-02-10 21:36:06.235 AFD: Opened codec 0x6455990, id(AC3) type(Audio)
2010-02-10 21:36:06.235 AFD: Audio Track #2 is A/V stream #2 and has 2
channels in the French language(6713957).
2010-02-10 21:36:06.235 AFD: codec AC3 has 2 channels
2010-02-10 21:36:06.236 AFD: Opened codec 0x55885f0, id(AC3) type(Audio)
2010-02-10 21:36:06.236 AFD: Audio Track #3 is A/V stream #3 and has 2
channels in the Unknown language(6648684).
2010-02-10 21:36:06.236 AFD: Trying to select audio track (w/lang)
2010-02-10 21:36:06.236 AFD: Selected track 1: English AC3 5.1ch (A/V Stream #1)
2010-02-10 21:36:06.236 AFD: Initializing audio parms from audio track #1
2010-02-10 21:36:06.236 AFD: Audio format changed
                        from id(NONE)    -1Hz -1ch   0bps    to id(
AC3) 48000Hz  6ch  16bps pt
2010-02-10 21:36:06.239 AO: Killing AudioOutputDSP
2010-02-10 21:36:06.239 AO: Original audio codec was AC3
2010-02-10 21:36:06.239 AudioOutputALSA::GetSupportedRates opening
iec958:{ AES0 0x02 }
2010-02-10 21:36:06.241 AO: Sample rate 44100 is supported
2010-02-10 21:36:06.241 AO: Sample rate 48000 is supported
2010-02-10 21:36:06.241 Opening audio device 'spdif'. ch 2(6) sr 48000 (reenc 0)
2010-02-10 21:36:06.241 Setting IEC958 status: non-audio
2010-02-10 21:36:06.242 Opening ALSA audio device 'iec958:{ AES0 0x02 }'.
2010-02-10 21:36:06.243 in SetParameters(format=2, channels=2,
rate=48000, buffer_time=400000, period_time=25000)
2010-02-10 21:36:06.244 get_buffer_size returned 16384
2010-02-10 21:36:06.244 set_period_time_near returned 21333
2010-02-10 21:36:06.244 get_period_size returned 1024
2010-02-10 21:36:06.268 Setting  volume to 100
2010-02-10 21:36:06.269 Setting  volume to 100
2010-02-10 21:36:06.269 AO: Audio fragment size: 6144
2010-02-10 21:36:06.269 AO: Audio Stretch Factor: 1
2010-02-10 21:36:06.269 AO: kickoffOutputAudioLoop: pid = 19759
2010-02-10 21:36:06.269 AO: OutputAudioLoop: Play Event
2010-02-10 21:36:06.269 AO: Ending reconfigure


and this repeats for a bit...

... and then when I go to .9x timestretch..

2010-02-10 21:36:32.259 AFD: Disabling pass through
2010-02-10 21:36:32.259 AFD: Initializing audio parms from audio track #1
2010-02-10 21:36:32.259 AFD: Audio format changed
                        from id( AC3) 48000Hz  6ch  16bps pt to id(
AC3) 48000Hz  6ch  16bps
2010-02-10 21:36:32.259 AO: SetEffDsp: 4800000
2010-02-10 21:36:32.259 AO: Reencoding decoded AC3/DTS to AC3
2010-02-10 21:36:32.259 AO: Killing AudioOutputDSP
2010-02-10 21:36:32.260 AO: OutputAudioLoop: Stop Event
2010-02-10 21:36:32.260 AO: kickoffOutputAudioLoop exiting
2010-02-10 21:36:32.261 AO: Original audio codec was AC3
2010-02-10 21:36:32.261 AudioOutputALSA::GetSupportedRates opening
iec958:{ AES0 0x02 }
2010-02-10 21:36:32.263 AO: Sample rate 44100 is supported
2010-02-10 21:36:32.264 AO: Sample rate 48000 is supported
2010-02-10 21:36:32.264 AO: Creating AC-3 Encoder
2010-02-10 21:36:32.264 DEnc: Init codecid=AC3, br=448000, sr=48000, ch=6
2010-02-10 21:36:32.265 DigitalEncoder::Init fs=1536, bpf=12 ofb=18432
2010-02-10 21:36:32.265 Opening audio device 'spdif'. ch 2(6) sr 48000 (reenc 1)
2010-02-10 21:36:32.265 Setting IEC958 status: non-audio
2010-02-10 21:36:32.265 Opening ALSA audio device 'iec958:{ AES0 0x02 }'.
2010-02-10 21:36:32.267 in SetParameters(format=2, channels=2,
rate=48000, buffer_time=400000, period_time=25000)
2010-02-10 21:36:32.268 get_buffer_size returned 16384
2010-02-10 21:36:32.268 set_period_time_near returned 21333
2010-02-10 21:36:32.268 get_period_size returned 1024
2010-02-10 21:36:32.284 Setting  volume to 100
2010-02-10 21:36:32.284 Setting  volume to 100
2010-02-10 21:36:32.284 AO: Audio fragment size: 6144
2010-02-10 21:36:32.284 AO: Audio Stretch Factor: 1
2010-02-10 21:36:32.284 AO: kickoffOutputAudioLoop: pid = 19759
2010-02-10 21:36:32.285 AO: OutputAudioLoop: Play Event
2010-02-10 21:36:32.285 AO: Ending reconfigure
2010-02-10 21:36:32.287 AO: Using time stretch 0.9


and all runs well, whether I stay at that rate or go back to 1.0x.  So
the hardware, drivers, and app are all capable of managing these
multiple AC3 streams.  That's good to know!  The particular
broadcasts/recordings where these seem to occur have multiple AC3
streams with multiple active channels.   But what causes the initial
playback to drop out?

latest version where this occurs.. trunk Revision: 23531

any guidance appreciated. thanks!


More information about the mythtv-dev mailing list