移植bellagio_omx到opencore时的一个问题

在播放文件时会在函数BOSA_ST_InitComponentLoader中死掉,打印信息如下:

E/PV      (   31): PVLOG:TID(0xdf30):Time=90:BOSA_ST_InitComponentLoader IN
E/PV      (   31): PVLOG:TID(0xdf30):Time=91:open lib:libomx_maddec_sharedlibrary.so
E/PV      (   31): PVLOG:TID(0xdf30):Time=98:open omx_component_library_Setup
E/PV      (   31): PVLOG:TID(0xdf30):Time=99:can not open omx_component_library_Setup
I/DEBUG   (   28): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (   28): Build fingerprint: 'generic/generic/generic/:2.1-update1/ECLAIR/eng.root.20101108.192922:eng/test-keys'
I/DEBUG   (   28): pid: 31, tid: 241  >>> /system/bin/mediaserver <<<
I/DEBUG   (   28): signal 11 (SIGSEGV), fault addr deadbaad
I/DEBUG   (   28):  r0 00000000  r1 afe131cd  r2 00000027  r3 00000000
I/DEBUG   (   28):  r4 00000000  r5 deadbaad  r6 00002eec  r7 40000000
I/DEBUG   (   28):  r8 00100000  r9 a9d1b8e5  10 40507000  fp 0000df08
I/DEBUG   (   28):  ip ffffffff  sp 40606cd8  lr afe14189  pc afe10af8  cpsr 40000030
I/DEBUG   (   28):          #00  pc 00010af8  /system/lib/libc.so
I/DEBUG   (   28):          #01  pc 0000b4e2  /system/lib/libc.so
I/DEBUG   (   28):          #02  pc 00007b72  /system/lib/libomx_bellagio_sharedlibrary.so
I/DEBUG   (   28):          #03  pc 000035fc  /system/lib/libomx_bellagio_sharedlibrary.so
I/DEBUG   (   28):          #04  pc 000024aa  /system/lib/libomx_bellagio_sharedlibrary.so
I/DEBUG   (   28):          #05  pc 00043d28  /system/lib/libopencore_common.so
I/DEBUG   (   28):          #06  pc 00043efc  /system/lib/libopencore_common.so
I/DEBUG   (   28):          #07  pc 00043f6c  /system/lib/libopencore_common.so
I/DEBUG   (   28):          #08  pc 000bfefa  /system/lib/libopencore_player.so
I/DEBUG   (   28):          #09  pc 000c0138  /system/lib/libopencore_player.so
I/DEBUG   (   28):          #10  pc 0001b94a  /system/lib/libutils.so
I/DEBUG   (   28):          #11  pc 0000fda0  /system/lib/libc.so
I/DEBUG   (   28):          #12  pc 0000f874  /system/lib/libc.so

…………………………………

I/DEBUG   (   28):     40606d2c  8070b0f8  /system/lib/libomx_bellagio_sharedlibrary.so
I/DEBUG   (   28):     40606d30  0002dea8  [heap]
I/DEBUG   (   28):     40606d34  80707b76  /system/lib/libomx_bellagio_sharedlibrary.so
E/MediaPlayer(  221): Unable to to create media player
W/MediaPlayer(   53): MediaPlayer server died!
W/AudioSystem(  221): AudioFlinger server died!
W/MediaPlayer(  221): MediaPlayer server died!
I/ServiceManager(   26): service 'media.audio_flinger' died
I/ServiceManager(   26): service 'media.player' died
I/ServiceManager(   26): service 'media.camera' died
I/ServiceManager(   26): service 'media.audio_policy' died
W/AudioSystem(   53): AudioFlinger server died!
W/AudioSystem(   53): AudioPolicyService server died!

看打印信息,貌似跟内存有关系

后来发现:在代码中有这一行:

#define OMX_MAX_STRINGNAME_SIZE  128

char* libname;

libname = malloc(OMX_MAX_STRINGNAME_SIZE * 2);

libname = “libomx_maddec_sharedlibrary.so”;

把malloc屏蔽掉,这个问题就解决了,难不成是malloc分配的太大了。

你可能感兴趣的:(server,service,Build,library,FP,Signal)