Thanks again. Sorry, I missed to ask you another question. How does the ring buffer full detected in the core? > > hw_ptr and appl_ptr are from range 0..boundary to detect xruns. The driver > should not write to these values and should track own pointers. The driver does not update the pointers. It has its own pointers wherever required. > >> Moreover our driver uses the batch mode and updates the hardware >> pointer for every period. Is it the right way to do? > > >> Moreover our driver uses the batch mode and updates the hardware >> pointer for every period. Is it the right way to do? > > I'm not sure about what pointers you're talking. If it's hw_ptr and > appl_ptr, then driver shouldn't write to these pointers. The > snd_pcm_period_elapsed() function should be called to synchronize hw_ptr > when playback of period is finished. > The driver does not update the appl_ptr and hw_ptr. .pointer function just returns the pos returned by the snd_pcm_indirect_playback_pointer function. This function is called with the pointer returned from the audio engine. > Maybe you can put your code to a public place so we can check it. > Sure, can I send the complete code to this ml? > > Jaroslav > > ----- > Jaroslav Kysela <perex@xxxxxxxx> > Linux Kernel Sound Maintainer > ALSA Project, Red Hat, Inc. > > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel