I have the following problem with ALSA on Slackware 13.0.
When I am watching a Flash video from a web site, sometimes
I start hearing a clicking sound while the video freezes,
and I have to close firefox to stop that clicking sound.
After that, the sound card (ATI IXP 400) seems to be in a strange state. Trying to play a .au file or a .wav file with aplay
produces a periodic noise, with a period of about 1/10th of a second.
Attempting to play the same .au file with cat file.au > /dev/audio
also gives a cyclic sound, but the period is about 2s. Sometimes
the playback jumps to a later part of the sound file, and start looping there, again with a 2s period.
with xmms file.mp3 no sound is played. If I seek to a different position, I hear sound for less than 1s then playback stops again.
Quote:
The output of speaker-test:
speaker-test 1.0.18
Playback device is default
Stream parameters are 48000Hz, S16_LE, 1 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 2048 to 8192
Period size range from 1024 to 1024
Using max buffer size 8192
Periods = 4
was set period_size = 1024
was set buffer_size = 8192
0 - Front Left
|
Quote:
When doing cat file.au >/dev/audio,
/proc/asound/card0/pcm0p/sub0/*params
access: RW_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 8000 (8000/1)
period_size: 4096
buffer_size: 16384
OSS format: MU_LAW
OSS channels: 1
OSS rate: 8000
OSS period bytes: 4096
OSS periods: 4
OSS period frames: 4096
tstamp_mode: NONE
period_step: 1
avail_min: 1
start_threshold: 1
stop_threshold: 16384
silence_threshold: 4112
silence_size: 4112
boundary: 1073741824
|
It is still possible to adjust sound level using alsamixer, but this
does not help, and neither does using alsactl. Also using modprobe to
remove snd_atiixp and reinserting snd_atiixp does not solve the problem. I know that rebooting the computer solves the problem,
but is there a way to reinitialize the sound driver by echo 'something' into a special file under /proc or /sys ?
For now, I am trying to collect data from /sys/ that might help to
identify the problem.