Hi everyone. I am trying to make ALSA work on Cupcake for TI OMAP which has the TWL4030 sound.
I tried to use the main branch alsa_sound and alsa-lib but keep getting an error:
hardware/alsa_sound/AudioHardwareALSA.cpp: In function 'android::AudioHardwareInterface* createAudioHardware()':
hardware/alsa_sound/AudioHardwareALSA.cpp:66: error: cannot allocate an object of abstract type 'android::AudioHardwareALSA'
hardware/alsa_sound/AudioHardwareALSA.h:246: note: because the following virtual functions are pure within 'android::AudioHardwareALSA':
the function is:
extern int snd_pcm_null_open(snd_pcm_t **pcmp,
const char *name,
snd_pcm_stream_t stream,
int mode);
//
// Function for dlsym() to look up for creating a new AudioHardwareInterface.
//
android::AudioHardwareInterface *createAudioHardware(void) {
return new android::AudioHardwareALSA();
}
If anyone managed to make ALSA work on OMAP for Cupcake please help out.
Any Git repository I can use would be appreciated.
I have all the permissions correct in the init.rc and /dev/snd is filled and everything is loading fine in the Kernel:
ALSA device list:
#0: overo (twl4030)
So it’s just Android.
Any help would be appreciated. The error I’m getting now from Android is this:
I/DEBUG ( 824): be820ab0 ab71d1e8 /system/lib/libaudio.so
I/DEBUG ( 824): be820ab4 ab71cce4 /system/lib/libaudio.so
I/ServiceManager( 931): Waiting for sevice media.audio_flinger...
I/ServiceManager( 931): Waiting for sevice media.audio_flinger...
I/ServiceManager( 931): Waiting for sevice media.audio_flinger...
W/AudioSystem( 931): AudioFlinger not published, waiting...
I/ServiceManager( 931): Waiting for sevice media.audio_flinger...
I/ServiceManager( 931): Waiting for sevice media.audio_flinger...
I/ ( 1199): ServiceManager: 0xac38
E/ALSALib ( 1199): external/alsa-lib/src/control/control.c:909:(snd_ctl_open_noupdate) Invalid CTL AndroidPlayback
E/AudioHardwareALSA( 1199): Unable to attach mixer to device AndroidPlayback: No such file or directory
E/AudioHardwareALSA( 1199): Unable to attach mixer to device default: No such file or directory
E/ALSALib ( 1199): external/alsa-lib/src/control/control.c:909:(snd_ctl_open_noupdate) Invalid CTL AndroidRecord
E/AudioHardwareALSA( 1199): Unable to attach mixer to device AndroidRecord: No such file or directory
E/AudioHardwareALSA( 1199): Unable to attach mixer to device default: No such file or directory
I/DEBUG ( 824): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 824): Build fingerprint: 'generic/generic/generic/:1.5/CUPCAKE/eng.dima.20090824.190441:eng/test-keys'
I/DEBUG ( 824): pid: 1199, tid: 1199 >>> /system/bin/mediaserver <<<
I/DEBUG ( 824): signal 11 (SIGSEGV), fault addr 00000010
I/DEBUG ( 824): r0 00000000 r1 ab78782c r2 00000000 r3 00000000
I/DEBUG ( 824): r4 ab798004 r5 0000ad68 r6 be976a10 r7 ab01acd8
I/DEBUG ( 824): r8 0000b268 r9 00000000 10 ab797c68 fp be976ab4
I/DEBUG ( 824): ip 0000ad90 sp be976a08 lr ab71cdec pc ab74486c cpsr 00000010
I/DEBUG ( 824): #00 pc 0004486c /system/lib/libaudio.so
I/DEBUG ( 824): #01 pc 0001cde8 /system/lib/libaudio.so
I/DEBUG ( 824): #02 pc 0001d1e4 /system/lib/libaudio.so
I/DEBUG ( 824): #03 pc 0001d214 /system/lib/libaudio.so
I/DEBUG ( 824): #04 pc 00085fa8 /system/lib/libaudio.so
I/DEBUG ( 824): #05 pc 00016d92 /system/lib/libaudioflinger.so
I/DEBUG ( 824): #06 pc 00016f34 /system/lib/libaudioflinger.so
I/DEBUG ( 824): #07 pc 00008768 /system/bin/mediaserver
I/DEBUG ( 824): #08 pc 0001fd6a /system/lib/libc.so
I/DEBUG ( 824): #09 pc 0000bcb2 /system/lib/libc.so
I/DEBUG ( 824): #10 pc b000157e /system/bin/linker
I/DEBUG ( 824): stack:
I/DEBUG ( 824): be9769c8 00000001
I/DEBUG ( 824): be9769cc afe22689 /system/lib/libc.so
I/DEBUG ( 824): be9769d0 ab787828 /system/lib/libaudio.so
I/DEBUG ( 824): be9769d4 0000b279 [heap]
I/DEBUG ( 824): be9769d8 ab01acd8 /system/lib/libaudioflinger.so
I/DEBUG ( 824): be9769dc 0000b268 [heap]
I/DEBUG ( 824): be9769e0 00000000
I/DEBUG ( 824): be9769e4 ab797c68 /system/lib/libaudio.so
I/DEBUG ( 824): be9769e8 be976ab4 [stack]
I/DEBUG ( 824): be9769ec 0000b279 [heap]
I/DEBUG ( 824): be9769f0 00000003
I/DEBUG ( 824): be9769f4 afb05bcf /system/lib/libcutils.so
I/DEBUG ( 824): be9769f8 ab798004 /system/lib/libaudio.so
I/DEBUG ( 824): be9769fc 0000ad68 [heap]
I/DEBUG ( 824): be976a00 df002777
I/DEBUG ( 824): be976a04 e3a070ad
I/DEBUG ( 824): #01 be976a08 00000034
I/DEBUG ( 824): be976a0c 0000ada0 [heap]
I/DEBUG ( 824): be976a10 00000000
I/DEBUG ( 824): be976a14 00000000
I/DEBUG ( 824): be976a18 00000000
I/DEBUG ( 824): be976a1c 00000000
I/DEBUG ( 824): be976a20 00000000
I/DEBUG ( 824): be976a24 00000000
I/DEBUG ( 824): be976a28 00000000
I/DEBUG ( 824): be976a2c 00000000
I/DEBUG ( 824): be976a30 00000000
I/DEBUG ( 824): be976a34 00000000
I/DEBUG ( 824): be976a38 00000000
I/DEBUG ( 824): be976a3c 00000000
I/DEBUG ( 824): be976a40 00000000
I/DEBUG ( 824): be976a44 00000000
I/DEBUG ( 824): be976a48 00000000
I/DEBUG ( 824): be976a4c 00000000
I/DEBUG ( 824): be976a50 0000ab30 [heap]
I/DEBUG ( 824): be976a54 afe0ecf8 /system/lib/libc.so
I/DEBUG ( 824): be976a58 0000ab30 [heap]
I/DEBUG ( 824): be976a5c 000002dc
I/DEBUG ( 824): be976a60 fffef968
I/DEBUG ( 824): be976a64 00000230
I/DEBUG ( 824): be976a68 fffef258
I/DEBUG ( 824): be976a6c 0000ad90 [heap]
I/DEBUG ( 824): be976a70 0000b279 [heap]
I/DEBUG ( 824): be976a74 00000000
I/DEBUG ( 824): be976a78 ab798004 /system/lib/libaudio.so
I/DEBUG ( 824): be976a7c 0000ad90 [heap]
I/DEBUG ( 824): be976a80 000000dc
I/DEBUG ( 824): be976a84 3e4a2535
I/DEBUG ( 824): be976a88 00000000
I/DEBUG ( 824): be976a8c 0000ad90 [heap]
I/DEBUG ( 824): be976a90 0000ad68 [heap]
I/DEBUG ( 824): be976a94 0000acb0 [heap]
I/DEBUG ( 824): be976a98 ab01acd8 /system/lib/libaudioflinger.so
I/DEBUG ( 824): be976a9c 00000000
I/DEBUG ( 824): be976aa0 00000000
I/DEBUG ( 824): be976aa4 00000000
I/DEBUG ( 824): be976aa8 00000000
I/DEBUG ( 824): be976aac be976ab8 [stack]
I/DEBUG ( 824): be976ab0 ab71d1e8 /system/lib/libaudio.so
I/DEBUG ( 824): be976ab4 ab71cce4 /system/lib/libaudio.so
I/ServiceManager( 931): Waiting for sevice media.audio_flinger...
I/ServiceManager( 931): Waiting for sevice media.audio_flinger...
This is with the Cupcake ALSA files.