done from the avail_update call invoked from an application. >> >> ok, so I re-implemented all the points found in the reviews except for >> this thread. There's already some code to see if we go beyond the >> buffer boundaries, so I am not sure what the 'linear position' means. > > Linear means that new hw_ptr must be always behind the previous hw_ptr. I got that. But there are already some checks in pcm_lib.c, /* new_hw_ptr might be lower than old_hw_ptr in case when */ /* pointer crosses the end of the ring buffer */ if (new_hw_ptr < old_hw_ptr) { hw_base += runtime->buffer_size; if (hw_base >= runtime->boundary) hw_base = 0; new_hw_ptr = hw_base + pos; } So do I need to add any additional checks? Or did I miss something in your discussion with Takashi? -Pierre _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel