ffmpeg 0.11.1解码,在android2.0到4.0之间一查找解码器程序就挂了。在4.0以上正常运行,这是为啥?
郁闷的是我用4.0以上的系统来打开网络流都正常。用android2.3.6,和android3.0 、android3.2来测试打开摄像机传过来的H264程序就挂了。这低版本系统是不是需要什么设置吗?
日志报错:
08-21 08:40:38.875: INFO/DEBUG(30): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-21 08:40:38.875: INFO/DEBUG(30): Build fingerprint: 'generic/sdk/generic:3.2/HTJ85B/140714:eng/test-keys'
08-21 08:40:38.875: INFO/DEBUG(30): pid: 383, tid: 403 >>> com.shy <<<
08-21 08:40:38.875: INFO/DEBUG(30): signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 813720ec
08-21 08:40:38.875: INFO/DEBUG(30): r0 00000001 r1 474ffae4 r2 f286e2fe r3 00003022
08-21 08:40:38.875: INFO/DEBUG(30): r4 816277a4 r5 0000001c r6 00000000 r7 46e98f94
08-21 08:40:38.875: INFO/DEBUG(30): r8 474ffb18 r9 46e98f8c 10 46e98f78 fp 00000001
08-21 08:40:38.875: INFO/DEBUG(30): ip 807020f4 sp 474ffaf8 lr 813720d4 pc 813720ec cpsr 60000010
08-21 08:40:39.404: INFO/System.out(383): 开始解码 ————GetWidth
08-21 08:40:39.414: INFO/ActivityManager(72): Displayed com.shy/.activity.Video: +1s197ms
08-21 08:40:39.834: INFO/DEBUG(30): #00 pc 003720ec /data/data/com.shy/lib/libffmpeg.so (avcodec_find_decoder)
08-21 08:40:39.834: INFO/DEBUG(30): #01 lr 813720d4 /data/data/com.shy/lib/libffmpeg.so
08-21 08:40:39.834: INFO/DEBUG(30): libc base address: aff00000
08-21 08:40:39.844: INFO/DEBUG(30): code around pc:
08-21 08:40:39.844: INFO/DEBUG(30): 813720cc e1a00004 ebfffea1 e3500000 0afffff8
08-21 08:40:39.844: INFO/DEBUG(30): 813720dc e594300c e1550003 1afffff5 e5943010
08-21 08:40:39.844: INFO/DEBUG(30): 813720ec e7e034d3 e3560000 13a03000 02033001
08-21 08:40:39.844: INFO/DEBUG(30): 813720fc e1a06004 e3530000 1affffed e1a00004
08-21 08:40:39.844: INFO/DEBUG(30): 8137210c e8bd8070 e1a04006 e1a00004 e8bd8070
08-21 08:40:39.844: INFO/DEBUG(30): code around lr:
08-21 08:40:39.844: INFO/DEBUG(30): 813720b4 0a000013 e3a06000 ea000002 e5944038
08-21 08:40:39.844: INFO/DEBUG(30): 813720c4 e3540000 0a000010 e1a00004 ebfffea1
08-21 08:40:39.844: INFO/DEBUG(30): 813720d4 e3500000 0afffff8 e594300c e1550003
08-21 08:40:39.844: INFO/DEBUG(30): 813720e4 1afffff5 e5943010 e7e034d3 e3560000
08-21 08:40:39.844: INFO/DEBUG(30): 813720f4 13a03000 02033001 e1a06004 e3530000
08-21 08:40:39.844: INFO/DEBUG(30): stack:
08-21 08:40:39.844: INFO/DEBUG(30): 474ffab8 46e98f78
08-21 08:40:39.844: INFO/DEBUG(30): 474ffabc aff13383 /system/lib/libc.so
08-21 08:40:39.844: INFO/DEBUG(30): 474ffac0 ffffffff
08-21 08:40:39.856: INFO/DEBUG(30): 474ffac4 00000000
08-21 08:40:39.856: INFO/DEBUG(30): 474ffac8 00000000
08-21 08:40:39.856: INFO/DEBUG(30): 474ffacc 00000000
08-21 08:40:39.856: INFO/DEBUG(30): 474ffad0 00195a58 [heap]
08-21 08:40:39.856: INFO/DEBUG(30): 474ffad4 aff143ff /system/lib/libc.so
08-21 08:40:39.856: INFO/DEBUG(30): 474ffad8 00000012
08-21 08:40:39.864: INFO/DEBUG(30): 474ffadc aca4687b /system/lib/libdvm.so
08-21 08:40:39.864: INFO/DEBUG(30): 474ffae0 aca9a618 /system/lib/libdvm.so
08-21 08:40:39.864: INFO/DEBUG(30): 474ffae4 f286e2fe
08-21 08:40:39.864: INFO/DEBUG(30): 474ffae8 0017d318 [heap]
08-21 08:40:39.864: INFO/DEBUG(30): 474ffaec 807020d0 /data/data/com.shy/lib/libH264Android.so
08-21 08:40:39.864: INFO/DEBUG(30): 474ffaf0 df002777
08-21 08:40:39.864: INFO/DEBUG(30): 474ffaf4 e3a070ad
08-21 08:40:39.864: INFO/DEBUG(30): #00 474ffaf8 807020d0 /data/data/com.shy/lib/libH264Android.so
08-21 08:40:39.864: INFO/DEBUG(30): 474ffafc 00000004
08-21 08:40:39.864: INFO/DEBUG(30): 474ffb00 40b2fa68 /dev/ashmem/dalvik-heap (deleted)
08-21 08:40:39.864: INFO/DEBUG(30): 474ffb04 8070148b /data/data/com.shy/lib/libH264Android.so
08-21 08:40:39.864: INFO/DEBUG(30): 474ffb08 40b2fa68 /dev/ashmem/dalvik-heap (deleted)
08-21 08:40:39.864: INFO/DEBUG(30): 474ffb0c 0019d070 [heap]
08-21 08:40:39.864: INFO/DEBUG(30): 474ffb10 474ffb38
08-21 08:40:39.864: INFO/DEBUG(30): 474ffb14 aca11c38 /system/lib/libdvm.so
08-21 08:40:39.874: INFO/DEBUG(30): 474ffb18 4440847c /dev/ashmem/dalvik-LinearAlloc (deleted)
08-21 08:40:39.874: INFO/DEBUG(30): 474ffb1c 0019ff98 [heap]
08-21 08:40:39.874: INFO/DEBUG(30): 474ffb20 40b2fa68 /dev/ashmem/dalvik-heap (deleted)
08-21 08:40:39.874: INFO/DEBUG(30): 474ffb24 8070137d /data/data/com.shy/lib/libH264Android.so
08-21 08:40:39.874: INFO/DEBUG(30): 474ffb28 aca11e00 /system/lib/libdvm.so
08-21 08:40:39.874: INFO/DEBUG(30): 474ffb2c 0019ff98 [heap]
08-21 08:40:39.874: INFO/DEBUG(30): 474ffb30 474ffb38
08-21 08:40:39.874: INFO/DEBUG(30): 474ffb34 aca413d7 /system/lib/libdvm.so
08-21 08:40:39.874: INFO/DEBUG(30): 474ffb38 46e98f8c
08-21 08:40:39.874: INFO/DEBUG(30): 474ffb3c 46d6f39b /data/dalvik-cache/data@app@com.shy-2.apk@classes.dex
08-21 08:40:45.084: DEBUG/Zygote(32): Process 383 terminated by signal (4)
08-21 08:40:45.094: INFO/ActivityManager(72): Process com.shy (pid 383) has died.
08-21 08:40:45.115: ERROR/InputDispatcher(72): channel '409d97e0 com.shy/com.shy.activity.Video (server)' ~ Consumer closed input channel or an error occurred. events=0x8
08-21 08:40:45.115: ERROR/InputDispatcher(72): channel '409d97e0 com.shy/com.shy.activity.Video (server)' ~ Channel is unrecoverably broken and will be disposed!
08-21 08:40:45.115: INFO/BootReceiver(72): Copying /data/tombstones/tombstone_01 to DropBox (SYSTEM_TOMBSTONE)
08-21 08:40:45.275: DEBUG/dalvikvm(72): GC_FOR_ALLOC freed 475K, 31% free 8986K/12999K, paused 87ms
08-21 08:40:45.364: INFO/WindowManager(72): WIN DEATH: Window{40990b80 com.shy/com.shy.activity.Main paused=false}
08-21 08:40:45.374: INFO/WindowManager(72): WIN DEATH: Window{408e6bd8 Su易做图ceView paused=false}
08-21 08:40:45.384: INFO/WindowManager(72): WIN DEATH: Window{409d97e0 com.shy/com.shy.activity.Video paused=false}
08-21 08:40:45.417: INFO/WindowManager(72): WINDOW DIED Window{409d97e0 com.shy/com.shy.activity.Video paused=false}
08-21 08:40:45.445: INFO/ActivityManager(72): Start proc com.shy for activity com.shy/.activity.Main: pid=406 uid=10036 gids={3003, 1006, 1015}
08-21 08:40:45.445: ERROR/InputDispatcher(72): Received spurious receive callback for unknown input channel. fd=202, events=0x8
我在jni里面打印日志死在pCodec = avcodec_find_decoder(CODEC_ID_H264);
av_register_all();函数运行完还底层jni还没挂,一运行到avcodec_find_decoder这个函数就挂了。测试android4.0以上系统全正常显示,不知道为啥?求大神们帮看下! --------------------编程问答-------------------- 楼主解决了么 我也遇到这个问题了 --------------------编程问答-------------------- 解决请说说怎么解决的 灰常感谢 --------------------编程问答-------------------- 楼主 ... 救命啊!!!!!! --------------------编程问答-------------------- 楼主 在不在, 上面问题解决了么, 我也遇到一样的问题, 能告诉下怎么解决的么.
补充:移动开发 , Android