[alsa-devel] Fwd: ALSA queries

Chakravarthi Pradeep doubleq7 at gmail.com
Tue Aug 7 15:12:08 CEST 2018


Dear Takashi,

Thanks for your reply.

> The "period" in ALSA PCM definition represents the interval time (or
> frames) of the periodical interrupts on the ring buffer.  If the irq
> is issued for each 256 frames while the ring buffer size is 1024
> frames, periods = 1024/256 = 4.  The periods_min defines the minimal
> number of periods the hardware may accept.

Is it  256 frames or  256 bytes ?


fuser -v /dev/snd/* output is
                                         USER
  PID   ACCESS    COMMAND
/dev/snd/controlC0         Dell                                   1815
F.....           pulseaudio

Regards,
Chakravarthi
On Tue, Aug 7, 2018 at 5:48 PM Takashi Iwai <tiwai at suse.de> wrote:
>
> On Tue, 07 Aug 2018 14:14:35 +0200,
> Chakravarthi Pradeep wrote:
> >
> > Dear Takashi,
> >
> > I would like you to review my driver, kindly tell me whether is it
> > possible to review it. If yes, can you please share me git link where
> > I can upload my driver for review .
>
> Chakravarthi, this is no "review" but an action called "debug".
> I can't waste my time for that, and you need to figure out the issue
> in your side.
>
> Track the code and the PCM stream state.  There are no many places
> that call the stop.  Use the source, Luke.
>
>
> Takashi
>
> >
> > Regards,
> > Chakravarthi
> > On Tue, Aug 7, 2018 at 5:41 PM Takashi Iwai <tiwai at suse.de> wrote:
> > >
> > > On Tue, 07 Aug 2018 14:08:05 +0200,
> > > Chakravarthi Pradeep wrote:
> > > >
> > > > Dear Takashi,
> > > >
> > > > In previous mail you have mentioned
> > > > > So, either the measurement is wrong, or the stream is already screwed
> > > > > up at the time you call snd_pcm_period_elapsed().
> > > >
> > > > what it means "measurement is wrong"  and how to make that measurement
> > > > is correct ?
> > >
> > > See what I wrote: "either".  I can't exclude the possibility that you
> > > are measuring the code calls incorrectly, of course.  This is one
> > > case.  Another case would be the incorrect state that is already
> > > screwed up at the time of snd_pcm_period_elapsed() call.
> > >
> > >
> > > Takashi
> > >
> > >
> > > > Regards,
> > > > Chakravarthi
> > > > On Tue, Aug 7, 2018 at 5:33 PM Takashi Iwai <tiwai at suse.de> wrote:
> > > > >
> > > > > On Tue, 07 Aug 2018 13:59:46 +0200,
> > > > > Chakravarthi Pradeep wrote:
> > > > > >
> > > > > > Dear Takashi,
> > > > > >
> > > > > > Trigger stop is getting called , because of this hwptr is zero and
> > > > > > pointer call back is not getting called. Below is my log from driver.
> > > > > >
> > > > > > [  838.491681] Trigger:Start
> > > > > > [  839.522233] hwptr=0 buf_pos:3456
> > > > > > [  839.522244] buf_pos :3456 bytes_to_frames:864 uhdc_audio_pcm_pointer_253
> > > > > > [  839.522249] Trigger:Stop
> > > > >
> > > > > Then you need to figure out the code path of the trigger stop.
> > > > >
> > > > > > In normal scenario, Trigger stop is not getting called and audio was
> > > > > > able to render in the VLC application. Below log for normal scenario,
> > > > > > [  802.785893] Trigger:Start
> > > > > > [  814.288309] hwptr=0 buf_pos:6272
> > > > > > [  814.288323] buf_pos :6272 bytes_to_frames:1568 uhdc_audio_pcm_pointer_253
> > > > > > [  814.288362] buf_pos :6272 bytes_to_frames:1568 uhdc_audio_pcm_pointer_253
> > > > > > [  814.288378] buf_pos :6272 bytes_to_frames:1568 uhdc_audio_pcm_pointer_253
> > > > > > [  814.305079] hwptr=6272 buf_pos:9472
> > > > > > [  814.305091] buf_pos :9472 bytes_to_frames:2368 uhdc_audio_pcm_pointer_253
> > > > > > [  814.321741] hwptr=9472 buf_pos:12672
> > > > > > [  814.321748] buf_pos :12672 bytes_to_frames:3168 uhdc_audio_pcm_pointer_253
> > > > > > [  814.321777] buf_pos :12672 bytes_to_frames:3168 uhdc_audio_pcm_pointer_253
> > > > > > [  814.321785] buf_pos :12672 bytes_to_frames:3168 uhdc_audio_pcm_pointer_253
> > > > > > [  814.338452] hwptr=12672 buf_pos:15872
> > > > > > [  814.338459] buf_pos :15872 bytes_to_frames:3968 uhdc_audio_pcm_pointer_253
> > > > > > [  814.355242] hwptr=15872 buf_pos:19072
> > > > > > [  814.355248] buf_pos :19072 bytes_to_frames:4768 uhdc_audio_pcm_pointer_253
> > > > > > [  814.355288] buf_pos :19072 bytes_to_frames:4768 uhdc_audio_pcm_pointer_253
> > > > > > [  814.355294] buf_pos :19072 bytes_to_frames:4768 uhdc_audio_pcm_pointer_253
> > > > > > [  814.371822] hwptr=19072 buf_pos:22272
> > > > > > ...
> > > > > > ...
> > > > > > [  830.739031] Trigger:Stop
> > > > > >
> > > > > >
> > > > > > I can not do rmmod for ALSA driver. If I do sudo rmmod mydriver then it says
> > > > > > "rmmod: ERROR: Module mydriver is in use"
> > > > > >
> > > > > > How can I remove mydriver module from linux kernel ?
> > > > >
> > > > > Likely some program is using the sound device.  For example, a mixer
> > > > > applet or PulseAudio keeps opening the control device.
> > > > > Check it via "fuser -v /dev/snd/*"
> > > > >
> > > > >
> > > > > Takashi
> > > >
> > > >
> > > >
> > > > --
> > > > Thanks and Regards
> > > > Chakravarthi Pradeep.K
> > > > Ph: 91 9980434900
> > > >
> >
> >
> >
> > --
> > Thanks and Regards
> > Chakravarthi Pradeep.K
> > Ph: 91 9980434900
> >



-- 
Thanks and Regards
Chakravarthi Pradeep.K
Ph: 91 9980434900


More information about the Alsa-devel mailing list