[android-porting] Re: why in emulator, /dev/eac is connected with the audio?

2009-05-02 Thread David Turner
On Sat, Apr 18, 2009 at 9:02 AM, max max.xi...@gmail.com wrote:


 Hi David,

 Thanks for your reply.

 When I study the code in frameworks\base\libs\audioflinger
 \AudioHardwareGeneric.cpp, I saw it does open the device node dev/
 eac to get a File descriptor. Therefore , the question is how /dev/
 eac is connected with the host linux's sound system. I have read the
 code in external/qemu/hw/goldfish_audio.c, but I still can not figure
 out how the device node /dev/eac in emulator's linux system is
 connected with host linux's sound system.


the /dev/eac device node is supported by the emulator-specific kernel code
located here:

http://android.git.kernel.org/?p=kernel/common.git;a=blob;f=arch/arm/mach-goldfish/audio.c;h=c7973e70a114a08dcc57af954223acdfaec3b49e;hb=android-goldfish-2.6.29

it is used to send/receive sound samples by reading/writing various i/o
memory registers.

this is emulated/supported by the emulator source file goldfish_audio.c,
see:
http://android.git.kernel.org/?p=platform/external/qemu.git;a=blob;f=hw/goldfish_audio.c;h=d0a44b564c29364a884ffd091088a25933ea2da4;hb=2b8ea29e2bd12f876a4d06647e6077bf72de567e

which itselfs uses the QEMU audio sound-system (located in
external/qemu/audio) which is actually rather complex, but described by the
light documentation I wrote for it here:
http://android.git.kernel.org/?p=platform/external/qemu.git;a=blob;f=docs/AUDIO.TXT;h=71ec288ef950aee341e3469f3a5520fd83b4a8a2;hb=2b8ea29e2bd12f876a4d06647e6077bf72de567e

external/qemu/audio contains several audio backends that communicate with
the host sound system, for example:

coreaudio.c  for OS X
windaudio.c for Win32
esdaudio.c for EsounD on Linux
alsaaudio.c for ALSA on Linux
etc...

so what happens when generating sound output is:

AudioFlinger - /dev/eac - kernel (mach-goldfish/audio.c) - emulator
(external/qemu/goldfish_audio.c - QEMU audio sub-system - system-specific
audio  backend) - system sound API

Hope this helps



 Thanks

 On Apr 17, 5:48 pm, David Turner di...@android.com wrote:
  On Fri, Apr 17, 2009 at 10:51 AM, max max.xi...@gmail.com wrote:
 
   Hi Buddies,
 
   I wanna get understood that why in emulator dev/eac is the device of
   audio,
 
  historical reason, but mostly because that's what the emulator-specific
  kernel supports
 
 
 
   as I know, in external/qemu/audio, there is all kinds audio drivers,
   such as oss, alsa,
 
  these are only used to send audio output to the host sound system, this
 has
  nothing
  to do with what is supported in the emulated system. These are not
 'drivers'
  by the way,
  just usual call to sound libraries / system interfaces
 
  you can have a look at external/qemu/hw/goldfish_audio.c to see the code
  used to
  support sound hardware emulation in Android
 
 
 
 
 
   but I am very curious why in the android linux system, the dev/eac
   is connected with those drivers.
 
   Anybody can give me some light on that?
 
   Max- Hide quoted text -
 
  - Show quoted text -
 


--~--~-~--~~~---~--~~
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting
-~--~~~~--~~--~--~---



[android-porting] Re: why in emulator, /dev/eac is connected with the audio?

2009-04-30 Thread Stephen

hi Max

  have you find the answer?
  how /dev/eac is connected with host linux's sound system?
  I am trying to add my own device driver to android



On Apr 18, 4:02 pm, max max.xi...@gmail.com wrote:
 Hi David,

 Thanks for your reply.

 When I study the code in frameworks\base\libs\audioflinger
 \AudioHardwareGeneric.cpp, I saw it does open the device node dev/
 eac to get a File descriptor. Therefore , the question is how /dev/
 eac is connected with the host linux's sound system. I have read the
 code in external/qemu/hw/goldfish_audio.c, but I still can not figure
 out how the device node /dev/eac in emulator's linux system is
 connected with host linux's sound system.

 Thanks

 On Apr 17, 5:48 pm, David Turner di...@android.com wrote:



  On Fri, Apr 17, 2009 at 10:51 AM, max max.xi...@gmail.com wrote:

   Hi Buddies,

   I wanna get understood that why in emulator dev/eac is the device of
   audio,

  historical reason, but mostly because that's what the emulator-specific
  kernel supports

   as I know, in external/qemu/audio, there is all kinds audio drivers,
   such as oss, alsa,

  these are only used to send audio output to the host sound system, this has
  nothing
  to do with what is supported in the emulated system. These are not 'drivers'
  by the way,
  just usual call to sound libraries / system interfaces

  you can have a look at external/qemu/hw/goldfish_audio.c to see the code
  used to
  support sound hardware emulation in Android

   but I am very curious why in the android linux system, the dev/eac
   is connected with those drivers.

   Anybody can give me some light on that?

   Max- Hide quoted text -

  - Show quoted text -- Hide quoted text -

 - Show quoted text -
--~--~-~--~~~---~--~~
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting
-~--~~~~--~~--~--~---



[android-porting] Re: why in emulator, /dev/eac is connected with the audio?

2009-04-17 Thread David Turner
On Fri, Apr 17, 2009 at 10:51 AM, max max.xi...@gmail.com wrote:


 Hi Buddies,

 I wanna get understood that why in emulator dev/eac is the device of
 audio,


historical reason, but mostly because that's what the emulator-specific
kernel supports



 as I know, in external/qemu/audio, there is all kinds audio drivers,
 such as oss, alsa,


these are only used to send audio output to the host sound system, this has
nothing
to do with what is supported in the emulated system. These are not 'drivers'
by the way,
just usual call to sound libraries / system interfaces

you can have a look at external/qemu/hw/goldfish_audio.c to see the code
used to
support sound hardware emulation in Android



 but I am very curious why in the android linux system, the dev/eac
 is connected with those drivers.

 Anybody can give me some light on that?

 Max
 


--~--~-~--~~~---~--~~
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting
-~--~~~~--~~--~--~---