Hi Takashi,
How to enable log from ALSA lib core or ALSA core , so that I will come to know why trigger stop call back is getting called back by itself.
ring bufffer size is 57600 and minimum bytes device generates per period is 3200(bytes). I have read one frame is 4 bytes from below link. https://www.alsa-project.org/main/index.php/FramesPeriods So is it correct to give below values to snd_pcm_hardware .period_bytes_min = 3200 /* per interrupt device provides minimum 3200 bytes of data*/ .periods_min = 72 /* 3200/4 /* 4 is because of (2 (channel )* (16 bits/2)) */
Regards, Chakravarthi On Tue, Aug 7, 2018 at 7:13 PM Takashi Iwai tiwai@suse.de wrote:
On Tue, 07 Aug 2018 15:36:22 +0200, Chakravarthi Pradeep wrote:
In the case above it's in frames. But it can be defined in bytes depending on the hardware spec. Some hardware defines in the time unit (like msec), too.
Can you please tell me how to define in bytes ?
Read the source before asking like this. If not found, read the source again. If still it's not fulfilled, ask more specific questions.
The driver doesn't define it. Rather the driver lets ALSA PCM core choose the parameters given from user-space. But some parameters might not fit with the requirement of your hardware. For satisfying it, the driver may give hw constraints to PCM core beforehand, typically set in the open callback.
Now you know it. And remember that PA is often die-hard.
So it means that I can not do rmmod until pulseaudio is removed , is it correct ?
Yes. You cannot rmmod during any program is accessing to the sound device, not only PA.
Takashi
Regards, Chakravarthi On Tue, Aug 7, 2018 at 6:45 PM Takashi Iwai tiwai@suse.de wrote:
On Tue, 07 Aug 2018 15:12:08 +0200, Chakravarthi Pradeep wrote:
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 ?
In the case above it's in frames. But it can be defined in bytes depending on the hardware spec. Some hardware defines in the time unit (like msec), too.
fuser -v /dev/snd/* output is USER PID ACCESS COMMAND /dev/snd/controlC0 Dell 1815 F..... pulseaudio
Now you know it. And remember that PA is often die-hard.
Takashi
-- Thanks and Regards Chakravarthi Pradeep.K Ph: 91 9980434900