These all sound like symptoms of the same problem. We don't have anything internally using the ALSA drivers and I haven't looked at them myself. Maybe somebody from WindRiver can lend a hand.
On Jan 10, 12:05 am, Neo <naveenkrishna...@gmail.com> wrote: > On Jan 9, 11:31 pm, Dave Sparks <davidspa...@android.com> wrote: > > > /dev/eac is only necessary if you are using the generic user space > > audio driver. If you are using ALSA driver, /dev/eac should not come > > into play at all unless you are running your code in emulation. > > Yeah, > We are using the Windrivers Audio ALSA integration in Android. > And i have the ObtainBuffer timedOut message from AudioFlinger. > Where i should look for a promissing solution. > I have a couple of other issues regarding Audio on Android. > > 1. AudioRecord: BufferOverflow > Error message when trying to record with asimple record applciation. > This message follows a condition of getting a nextBuffer in the > queue. > It arives after 2 or 4 seconds of recording and nothing records after > this message. > But, there is no crash or any other prints. > > 2. Underrun Occured > Message comes from alsa lib. > when trying to change the medio volume with some other applications > too. > But, this dosent seems to cause any problem to any applications > progress. > > Any kind of help is appreciable. > > > > > On Jan 9, 2:24 am, "Anil Sasidharan" <anil...@gmail.com> wrote: > > > > Hi leemgs, > > > > I guess the question was about ALSA integration into > > > Android, hence the point regarding the presence of /dev/eac is a > > > little confusing. From the descriptions given by Naveen about their > > > implementation, its clearly evident that the initial integration with > > > ALSA driver is complete and they have issues only in terms of buffer > > > management (obtainBuffer timing out) in certain use cases. It would be > > > nice if you could just give a brief idea on the reason why there is > > > suspicion on /dev/eac. > > > > Warm Regards, > > > anil > > > > On Thu, Jan 8, 2009 at 8:18 PM, leemgs <lee...@gmail.com> wrote: > > > > > Hi, > > > > > I have one opinion about your question. > > > > > Maybe, /dev/eac device node file didn't made by default.... > > > > > About audio probelm, see ./system/core/init/devices.c file, > > > > If audio is subsystem audio, this is consist of /dev/snd/ sub directory. > > > > If audio is generic audio , AudioHardwareInterface.cpp consist > > > > that open audio with /dev/eac device node file. > > > > So, after all, .... you will meet audio fail problem. > > > > stop to protect that consist audio subsystem in devices.c file, > > > > and then, modify code with pattern that /dev/eac can open . > > > > Good lucks... > > > > > 2009/1/8 naveenkrishna. ch <naveenkrishna...@gmail.com>: > > > >> Hello, > > > > >> I usually see thisd problem when i try playing a playlist in the music > > > >> application of android. > > > >> It happens when the track is getting changed and it is not consistent > > > >> some times it changes track after 3 or 4 times it fails passing this > > > > >> W/AudioFlinger( 1067): write blocked for 205 msecs > > > >> W/AudioTrack( 1067): obtainBuffer timed out (is the CPU pegged?) > > > >> user=00000100, server=00000000 > > > > >> Sean, I dont see any issue with suspend and resume functionality. > > > >> You were saying that it may be bug in the kernel. > > > > >> I am using omap3 and TWL4030 ASoC stuff with mcbsp-2 as a DIA and DMA > > > >> Can you suggest me some commons to start looking at. > > > > >> On Wed, Jan 7, 2009 at 1:15 PM, Sean McNeil <seanmcne...@gmail.com> > > > >> wrote: > > > > >>> naveenkrishna.ch wrote: > > > > >>> > On Wed, Jan 7, 2009 at 12:35 PM, Sean McNeil <seanmcne...@gmail.com > > > >>> > <mailto:seanmcne...@gmail.com>> wrote: > > > > >>> > naveenkrishna.ch wrote: > > > > >>> > > On Wed, Jan 7, 2009 at 12:18 PM, Sean McNeil > > > >>> > <seanmcne...@gmail.com <mailto:seanmcne...@gmail.com> > > > >>> > > <mailto:seanmcne...@gmail.com <mailto:seanmcne...@gmail.com>>> > > > >>> > wrote: > > > > >>> > > There is a version of the WindRiver ALSA audio that uses > > > >>> > unblocked I/O > > > >>> > > and will kick-start the audio if this happens. The real > > > >>> > problem is > > > >>> > > that > > > >>> > > the ALSA driver usually doesn't survive well over a > > > >>> > > suspend/resume. The > > > >>> > > way to reproduce the problem is if: > > > > >>> > > 1) Play something. > > > >>> > > 2) Stop play. > > > >>> > > 3) Suspend. > > > >>> > > 4) Resume. > > > >>> > > 5) Play something. > > > > >>> > > It shouldn't allow the platform to sleep when playing, so > > > >>> > if > > > >>> > it is a > > > >>> > > suspend/resume issue you are seeing then this is the only > > > >>> > way > > > >>> > to > > > >>> > > reproduce it. > > > > >>> > > Yeah i was able to reproduce the problem. But, the basic > > > >>> > underlying > > > >>> > > reason of the problem is what i dont understand. > > > >>> > > Is this because of the buffer size it takes or DSP bridge not > > > >>> > being > > > >>> > > implemented. > > > > >>> > It is the audio driver in the kernel not resetting properly. > > > >>> > This > > > >>> > causes > > > >>> > the write to the device to block indefinitely and then buffers > > > >>> > never get > > > >>> > freed. > > > > >>> > I am using ASoC omap framwork with twl4030 ASoC driver. > > > >>> > The buffer/period sizes are defined only in > > > >>> > sound/soc/omap/omap-pcm.c > > > >>> > We have not yet implemented the suspend and resume yet. > > > >>> > I usually see the above issue when i try changing the media volume > > > >>> > or > > > >>> > trying to > > > >>> > use the music player applications drastically. > > > >>> > I dont see any chance of suspend and resume activity in my case. In > > > >>> > this case > > > >>> > how the audio driver gets reset. > > > > >>> > Could you please consider to explain this scenario. > > > > >>> I've explained the major issue here - it is your audio drivers fault. > > > >>> It > > > >>> isn't returning from a write. > > > > >>> This could be for any number of reasons. In your case, I'd look at how > > > >>> you've MUXd the interface between the OMAP and the TWL. Then, if you > > > >>> are > > > >>> using mcBSP1 or 2 with DMA, I'd consider perhaps you are losing an > > > >>> interrupt somewhere. Then there is the ALSA layer implementation on > > > >>> top > > > >>> of the low level stuff. Wind River has had no issues with audio on > > > >>> Zoom > > > >>> reference platforms and customer hardware, so it isn't really the ALSA > > > >>> layer in Android. Maybe your kernel version is too old (missing bug > > > >>> fixes) or too new (recently introduced bug)? > > > > >> -- > > > >> Thanks, > > > > >> (: Naveen Krishna Ch :)- Hide quoted text - > > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ unsubscribe: android-porting+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-porting -~----------~----~----~----~------~----~------~--~---