I am getting to know all the internals (although I didn't really want to)...
the ops->pointer() is called only from snd_pcm_update_hw_ptr(), which updates
the runtime->status->hw_ptr. But it doesn't:
playback_copy() on sound dev0, hwoff:0 pos:0 ->160
playback_pointer() on sound dev0, last:160 pos:160
ptr:160 {hw:0, appl:160}
hw_ptr_base:0 min_align:1 avail_min:160 avail_max:0
So far, so good. In snd_pcm_update_hw_ptr(), new_hw_ptr = runtime->hw_ptr_base
+ pos = 160, so the next time around it should read "hw:160"...
playback_prepare() on sound dev0, bsize:320 boundary:1342177280
Is it normal that boundary is so high?
playback_copy() on sound dev0, hwoff:0 pos:160 ->320
playback_pointer() on sound dev0, last:160 pos:320 ptr:160
{hw:0, appl:160}
hw_ptr_base:0 min_align:1 avail_min:160 avail_max:320
Ouch! "hw:0"... Why didn't change? And runtime->control->appl_ptr hasn't
changed either?
playback_copy() on sound dev0, hwoff:160 pos:0 ->160
Keep copying to the buffer in runtime->dma_area...
playback_prepare() on sound dev0, bsize:320 boundary:1342177280
playback_copy() on sound dev0, hwoff:0 pos:160 ->320
Ouch! This one hasn't been sent to the card yet.
Looks like I am having serious trouble here. Any hint very welcome.
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