
noreply at mythtv
Oct 10, 2011, 7:43 PM
Post #1 of 5
(76 views)
Permalink
|
|
Ticket #10086: 2->6 channel upmix results in buffer underruns
|
|
#10086: 2->6 channel upmix results in buffer underruns ---------------------------------------+----------------------------------- Reporter: jpoet | Owner: jyavenard Type: Bug Report - General | Status: new Priority: minor | Milestone: unknown Component: MythTV - Audio Output | Version: Unspecified Severity: medium | Keywords: audio upmixer Ticket locked: 0 | underrun ---------------------------------------+----------------------------------- Watching a show with DD2.0 and timestretch enabled results in a log full of {{{ AudioOutputBase audio/audiooutputalsa.cpp:546 (WriteAudio) - ALSA: WriteAudio: buffer underrun }}} Shows with native DD5.1 do not have this problem. Turning off the 2.0 -> 5.1 upmixer fixes the problem. I am ''guessing'' the problem is with the ALSA parameters being chosen, but I don't know what needs tweaked. With a 2.0 -> 5.1 upmixer enabled, I see {{{ CoreContext audio/audiooutputbase.cpp:744 (Reconfigure) - AO: Opening audio device 'hdmi:CARD=NVidia,DEV=3' ch 6(2) sr 48000 sf signed 32 bit reenc 1 CoreContext audio/audiooutputalsa.cpp:139 (TryOpenDevice) - ALSA: OpenDevice hdmi:CARD=NVidia,DEV=3 CoreContext audio/audiooutputalsa.cpp:634 (SetParameters) - ALSA: SetParameters(format=10, channels=6, rate=48000, buffer_time=500000, period_time=4) CoreContext audio/audiooutputalsa.cpp:692 (SetParameters) - ALSA: Buffer size range from 32 to 1398096 CoreContext audio/audiooutputalsa.cpp:695 (SetParameters) - ALSA: Period size range from 16 to 699040 CoreContext audio/audiooutputalsa.cpp:712 (SetParameters) - ALSA: Buffer time = 500000 us CoreContext audio/audiooutputalsa.cpp:718 (SetParameters) - ALSA: Period time = 4 periods CoreContext audio/audiooutputalsa.cpp:727 (SetParameters) - ALSA: Buffer size = 24000 | Period size = 6000 CoreContext audio/audiooutputbase.cpp:761 (Reconfigure) - AO: Audio fragment size: 72000 }}} With 2.0 audio, but the upmixer disabled, I see: {{{ CoreContext audio/audiooutputbase.cpp:744 (Reconfigure) - AO: Opening audio device 'hdmi:CARD=NVidia,DEV=3' ch 2(2) sr 48000 sf signed 16 bit reenc 1 CoreContext audio/audiooutputalsa.cpp:139 (TryOpenDevice) - ALSA: OpenDevice hdmi:CARD=NVidia,DEV=3 CoreContext audio/audiooutputalsa.cpp:634 (SetParameters) - ALSA: SetParameters(format=2, channels=2, rate=48000, buffer_time=500000, period_time=4) CoreContext audio/audiooutputalsa.cpp:692 (SetParameters) - ALSA: Buffer size range from 64 to 8388608 CoreContext audio/audiooutputalsa.cpp:695 (SetParameters) - ALSA: Period size range from 32 to 4194304 CoreContext audio/audiooutputalsa.cpp:712 (SetParameters) - ALSA: Buffer time = 500000 us CoreContext audio/audiooutputalsa.cpp:718 (SetParameters) - ALSA: Period time = 5 periods CoreContext audio/audiooutputalsa.cpp:727 (SetParameters) - ALSA: Buffer size = 24000 | Period size = 4800 CoreContext audio/audiooutputbase.cpp:761 (Reconfigure) - AO: Audio fragment size: 9600 }}} With native DD5.1, I see: {{{ CoreContext audio/audiooutputbase.cpp:744 (Reconfigure) - AO: Opening audio device 'hdmi:CARD=NVidia,DEV=3' ch 6(6) sr 48000 sf signed 16 bit reenc 1 CoreContext audio/audiooutputalsa.cpp:139 (TryOpenDevice) - ALSA: OpenDevice hdmi:CARD=NVidia,DEV=3 CoreContext audio/audiooutputalsa.cpp:634 (SetParameters) - ALSA: SetParameters(format=2, channels=6, rate=48000, buffer_time=500000, period_time=4) CoreContext audio/audiooutputalsa.cpp:692 (SetParameters) - ALSA: Buffer size range from 64 to 2796192 CoreContext audio/audiooutputalsa.cpp:695 (SetParameters) - ALSA: Period size range from 32 to 1398080 CoreContext audio/audiooutputalsa.cpp:712 (SetParameters) - ALSA: Buffer time = 500000 us CoreContext audio/audiooutputalsa.cpp:718 (SetParameters) - ALSA: Period time = 5 periods CoreContext audio/audiooutputalsa.cpp:727 (SetParameters) - ALSA: Buffer size = 24000 | Period size = 4800 CoreContext audio/audiooutputbase.cpp:761 (Reconfigure) - AO: Audio fragment size: 28800 }}} Another thing I noticed -- When the upmixer is turned off, or the show is native DD5.1, it looks like timestretch is invoking a "Reconfigure", which I don't see when upmix is enabled. I am attaching three logs -- one with upmixer enabled, another with it disabled, and one for a native DD5.1 show. -- Ticket URL: <http://code.mythtv.org/trac/ticket/10086> MythTV <http://code.mythtv.org/trac> MythTV Media Center _______________________________________________ mythtv-commits mailing list mythtv-commits [at] mythtv http://www.mythtv.org/mailman/listinfo/mythtv-commits
|