Hi,
I think that I got around understanding snd_pcm_update_hw_ptr_interrupt() now.
The reason of my enquiries is that I get a very strange behaviour while playing
back audio on a sound card: the playback_copy() function is called too many
times before audio is actually played out, thus overwriting the buffer. For
instance, with 2 periods of 160 bytes (buffer_size = 320):
playback_prepare() on sound dev0
snd_pci2103_mode() on sound dev0, bsize:320 psize:160 pnsam:160
playback_prepare() on sound dev0
playback_copy() on sound dev0, pos:0 ->160
from d0865000 to c19e0000: � � � � � � � �
card 0: Sending Audio_Data fmt:1 cnt:160 (160 bytes) last:0 pos:160
tasklet: send 24 bytes of dataPayload (including 0 bytes of mmTags)
tasklet: send 160 bytes of extPayload from c19e0000 to 800020a0
� � � � � � � �
playback_pointer() on sound dev0, last:160 pos:160 ptr:160
playback_prepare() on sound dev0
playback_copy() on sound dev0, pos:160 ->320
from d0865000 to c19e00a0: g � � � � � � �
playback_pointer() on sound dev0, last:160 pos:320 ptr:160
playback_copy() on sound dev0, pos:0 ->160
from d0865000 to c19e0000: g g [ [ [ S S S
playback_prepare() on sound dev0
playback_copy() on sound dev0, pos:160 ->320
from d0865000 to c19e00a0: g g [ [ [ S S S
playback_pointer() on sound dev0, last:160 pos:320 ptr:160
playback_copy() on sound dev0, pos:0 ->160
from d0865000 to c19e0000: � � � � � � � g
playback_prepare() on sound dev0
playback_copy() on sound dev0, pos:160 ->320
from d0865000 to c19e00a0: � � � � � � � g
playback_pointer() on sound dev0, last:160 pos:320 ptr:160
playback_copy() on sound dev0, pos:0 ->160
from d0865000 to c19e0000: � � � � � � � �
playback_prepare() on sound dev0
playback_copy() on sound dev0, pos:160 ->320
from d0865000 to c19e00a0: � � � � � � � �
card 0: Sending Audio_Data fmt:1 cnt:160 (160 bytes) last:160 pos:320
tasklet: send 24 bytes of dataPayload (including 0 bytes of mmTags)
tasklet: send 160 bytes of extPayload from c19e00a0 to 80002220
� � � � � � � �
playback_pointer() on sound dev0, last:320 pos:320 ptr:0
This is puzzling, and the fact that I moved from ALSA rc1 to rc2 at the same
time that I was changing some aspects of the driver make it more difficult to
trace where the error comes from. Can any of you make something out of that
log?
Guilhem.
__________________________________________________
Do You Yahoo!?
Yahoo! Health - Feel better, live better
http://health.yahoo.com
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel