Re: Accessing alsa user space buffer from external io type plugin

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 24, 2008 at 4:13 PM, sandeep lahane <sandeep.lahane@xxxxxxxxx>
wrote:

> Hello,
>
> I am debugging an userspace external io type plugin, written for an ARM
> based board where the plugin
> interacts with DSP directly using shared memory.
>
> Every time I have to send period_size data to the DSP, I have my own
> write/read methods to do so.
>
> I am having a problem accessing the alsa ring buffer, my transfer function
> looks like following.
>
>
> static   char * temp;
> static snd_pcm_sframes_t alsa_transfer(snd_pcm_ioplug_t *io,
>                   const snd_pcm_channel_area_t *areas,
>                   snd_pcm_uframes_t offset,
>                   snd_pcm_uframes_t size)
> {
>
>           ......
>
>         temp = malloc(period_size);
>         memcpy(temp,  unsigned char *)areas->addr + (areas->first +
> areas->step * offset) / 8, period_size);
>          write_to_dsp(temp, period_size);
>          .......
> }
>
> All the book keeping is done properly, the first chunk of data is sent
> properly to DSP and pointer() returns correct value,
> next time when transfer is called, the memcpy gives segfault. ALSA buffer
> is
> an interleaved buffer and I am not using mmap
> mode. Any idea what might be wrong?
>
> When I do something like this:
>        memcpy(temp,  "test data test data", period_size);
> the data is sent properly to DSP, but alsa buffer data is not getting
> accessed properly.
>
>
>
>
>
>
> Regards,
> Sandeep.
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@xxxxxxxxxxxxxxxx
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>



temp is actually malloc'd in hw_params and freed properly, so please ignore
the details like whether it is freed etc or not.
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux