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

Reply via email to