2010/7/10 Takashi Iwai tiwai@suse.de
At Fri, 9 Jul 2010 21:13:52 +0800, Raymond Yau wrote:
Other subsystem, other behavior. The detection of underrun is even unreliable on ALSA native, so user can't expect it'll get underrun.
_From my testing , only hda_intel can run the alsa-lib/test/latency with -m512 -M512 , au8830 always fail because of xrun and pulse cannot start the test
Did the latency test require the driver to support SNDRV_PCM_INFO_SYNC_START ?
latency.c seem using a very large value for the start_threshold
err = snd_pcm_sw_params_set_start_threshold(handle, swparams, 0x7fffffff);
./latency -r 44100 -Phw:1 -Chw:1 -m 512 -M 512 !!!Scheduler set to Round Robin with priority 99 FAILED!!! Playback device is hw:1 Capture device is hw:1 Parameters are 44100Hz, S16_LE, 2 channels, non-blocking mode Poll mode: no Loop limit is 1323000 frames, minimum latency = 512, maximum latency = 512 buffer_size :0 252 Hardware PCM card 1 'HDA Intel' device 0 subdevice 0 Its setup is: stream : PLAYBACK access : RW_INTERLEAVED format : S16_LE subformat : STD channels : 2 rate : 44100 exact rate : 44100 (44100/1) msbits : 16 buffer_size : 512 period_size : 256 period_time : 5804 tstamp_mode : NONE period_step : 1 avail_min : 256 period_event : 0 start_threshold : 2147483647 stop_threshold : 512 silence_threshold: 0 silence_size : 0 boundary : 1073741824 appl_ptr : 0 hw_ptr : 0 Hardware PCM card 1 'HDA Intel' device 0 subdevice 0 Its setup is: stream : CAPTURE access : RW_INTERLEAVED format : S16_LE subformat : STD channels : 2 rate : 44100 exact rate : 44100 (44100/1) msbits : 16 buffer_size : 512 period_size : 256 period_time : 5804 tstamp_mode : NONE period_step : 1 avail_min : 256 period_event : 0 start_threshold : 2147483647 stop_threshold : 512 silence_threshold: 0 silence_size : 0 boundary : 1073741824 appl_ptr : 0 hw_ptr : 0 Trying latency 512 frames, 11609.977us, 11.609977ms (86.1328Hz) Success Playback: *** frames = 1323512 *** state : RUNNING trigger_time: 18306.838476235 tstamp : 18336.838630238 delay : 464 avail : 48 avail_max : 80 Capture: *** frames = 1323000 *** state : RUNNING trigger_time: 18306.838476235 tstamp : 18336.838668663 delay : 0 avail : 0 avail_max : 32 Maximum read: 32 frames Maximum read latency: 725.624us, 0.725624ms (1378.1250Hz) Hardware sync Playback time = 18306.838476, Record time = 18306.838476, diff = 0