当前位置:编程学习 > wap >>

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 SurfaceView 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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,