Re: How to retrieve the final data being played by HW

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

 



On 4/29/2010 5:19 PM, Mark Brown wrote:
> On Thu, Apr 29, 2010 at 05:15:38PM +0800, Yu Hang wrote:
>
>    
>> For example, the 1st instance had mixes the data into destination
>> buffer, but 2nd instance haven't complete the mix operation. Would the
>> data in destination buffer be playing by HW?
>> Or there is some mechanism to guarantee the data will be played after
>> all mix operation is done.
>>      
> You need to ensure that the user configures the plugin stack
> appropriately to ensure that your plugin is the last one that's run, you
> can't do this purely from within your plugin.  Even if that's done you'd
> also need to rely on them not configuring any DSP in the hardware which
> would disrupt things.
>
>    
 From the pcm_dmix.c, dmix plugin must be followed by HW plugin. Which 
means I cannot insert my own plugin below dmix. Unless I patch 
pcm_dmix.c, I cannot retrieve the final data. Or I can patch pcm_hw.c in 
order to achieve my goal.
Even if I patch pcm_hw.c, how can I know when the data is actually sent 
to HW?
I have totally no idea about ALSA driver mechanism. A biggest question 
is, how alsa lib (in user space) knows the HW needs new data (it must 
happen by interrupt) and feed HW with new data.
_______________________________________________
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