Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - io-audio: (3 Items)
   
io-audio  
I am developing an audio driver for our platform. the DMA is configured to execute in a looping mode with 2 descriptors.
The DMA is giving interrupts at the end of each fragment this interrupt is passed on to the driver to fill in the 
already serviced fragment.  

question :

if the dma executes faster than io-audio and generates an interrupt and moves on to the fragment that io-audio currently
 is filling in, how will io-audio synchronize the audio ??
Re: io-audio  
Is your concern that the DMA might read from a memory address that io-audio is currently filling?  If your DMA is 
feeding a system that is clocking audio data out at real-time (e.g. 48khz), then io-audio should be able to write 
fragments faster than that rate (on average), and then it should not be possible for DMA (read pointer) to "pass" io-
audio (write pointer).

Are you using the SW mixer plugin as well?  It pre-mixes 2 fragments worth before deva is actually started.  

Thanks,
Dave
RE: io-audio  
I am missing so many samples while playback and a 3 min file gets played over within ~1.6 mins with missed samples. I am
 using software mixer plugins to develop the wave application. I know my audio system is not having an overflow or 
underflow from DMA. So the audio system receives data without any loss as pumped from DMA.


Any hints will be greatly appreciated.

-----Original Message-----
From: David Mak-Fan [mailto:community-noreply@qnx.com] 
Sent: Friday, October 07, 2011 9:16 AM
To: development-multimedia
Subject: Re: io-audio

Is your concern that the DMA might read from a memory address that io-audio is currently filling?  If your DMA is 
feeding a system that is clocking audio data out at real-time (e.g. 48khz), then io-audio should be able to write 
fragments faster than that rate (on average), and then it should not be possible for DMA (read pointer) to "pass" io-
audio (write pointer).

Are you using the SW mixer plugin as well?  It pre-mixes 2 fragments worth before deva is actually started.  

Thanks,
Dave



_______________________________________________

Development
http://community.qnx.com/sf/go/post89261