Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

低端机(里程碑1等等)有声音无图像,请问怎么解决? #17

Closed
boluomeng opened this issue May 5, 2014 · 7 comments
Closed

Comments

@boluomeng
Copy link

05-05 14:59:28.356: E/IJKMEDIA(3449): sdl_native_window_display_l: ANativeWindow_lock: failed -1
05-05 14:59:28.395: E/Surface(3449): Surface (identity=43) requestBuffer(0, 320, 240, 2, 00000033) returned a buffer with a null handle
05-05 14:59:28.395: E/Surface(3449): getBufferLocked(0, 320, 240, 2, 00000033) failed (Out of memory)
05-05 14:59:28.395: E/Surface(3449): dequeueBuffer failed (Out of memory)
05-05 14:59:28.395: E/IJKMEDIA(3449): sdl_native_window_display_l: ANativeWindow_lock: failed -1
05-05 14:59:28.434: E/Surface(3449): Surface (identity=43) requestBuffer(0, 320, 240, 2, 00000033) returned a buffer with a null handle
05-05 14:59:28.434: E/Surface(3449): getBufferLocked(0, 320, 240, 2, 00000033) failed (Out of memory)
05-05 14:59:28.434: E/Surface(3449): dequeueBuffer failed (Out of memory)
05-05 14:59:28.434: E/IJKMEDIA(3449): sdl_native_window_display_l: ANativeWindow_lock: failed -1
05-05 14:59:28.481: E/Surface(3449): Surface (identity=43) requestBuffer(0, 320, 240, 2, 00000033) returned a buffer with a null handle
05-05 14:59:28.481: E/Surface(3449): getBufferLocked(0, 320, 240, 2, 00000033) failed (Out of memory)
05-05 14:59:28.481: E/Surface(3449): dequeueBuffer failed (Out of memory)
05-05 14:59:28.481: E/IJKMEDIA(3449): sdl_native_window_display_l: ANativeWindow_lock: failed -1

@bbcallen
Copy link
Contributor

bbcallen commented May 5, 2014

  1. 系统版本多少? 用的stable还是master?
  2. 搜索下面的代码,看看使用的是否是RV32 (之前某个版本错误的使用了YV12)
    // ffp->overlay_format = SDL_FCC_YV12;
    ffp->overlay_format = SDL_FCC_RV32;
    // ffp->overlay_format = SDL_FCC_RV16;
  3. 还不行的话,请多贴一些日志

@boluomeng
Copy link
Author

2.3.7,master版.测试发现很多2.3的机器都报这个问题,是用的RV32

05-05 14:59:46.309: W/IJKMEDIA(3614): IjkMediaPlayer_setVideoSurface
05-05 14:59:46.309: W/IJKMEDIA(3614): ijkmp_set_android_surface(surface=0x40523748)
05-05 14:59:46.309: W/IJKMEDIA(3614): ijkmp_set_android_surface(surface=0x40523748)=void
05-05 14:59:46.309: W/IJKMEDIA(3614): IjkMediaPlayer_prepareAsync
05-05 14:59:46.309: W/IJKMEDIA(3614): ijkmp_prepare_async()
05-05 14:59:46.309: I/IJKMEDIA(3614): SDL_RunThread: [3630] ff_msg_loop
05-05 14:59:46.309: W/IJKMEDIA(3614): message_loop
05-05 14:59:46.317: W/IJKMEDIA(3614): FFP_MSG_FLUSH:
05-05 14:59:46.317: W/IJKMEDIA(3614): ijkmp_prepare_async()=0
05-05 14:59:46.340: I/IJKMEDIA(3614): SDL_RunThread: [3632] ff_read
05-05 14:59:46.340: I/IJKMEDIA(3614): SDL_RunThread: [3631] ff_vout
05-05 14:59:46.387: D/dalvikvm(3614): GC_EXTERNAL_ALLOC freed 90K, 50% free 2727K/5379K, external 0K/0K, paused 48ms
05-05 14:59:46.411: W/IJKMEDIA(3614): IjkMediaPlayer_setVideoSurface
05-05 14:59:46.411: W/IJKMEDIA(3614): ijkmp_set_android_surface(surface=0x40523748)
05-05 14:59:46.411: W/IJKMEDIA(3614): ijkmp_set_android_surface(surface=0x40523748)=void
05-05 14:59:46.528: E/IJKMEDIA(3614): detect_range_support: 0
05-05 14:59:47.153: W/IJKMEDIA(3614): Estimating duration from bitrate, this may be inaccurate
05-05 14:59:47.153: I/IJKMEDIA(3614): max_frame_duration: 10.000
05-05 14:59:47.153: I/IJKMEDIA(3614): Input #0, hls,applehttp, from 'http://3glivehntv.doplive.com.cn/video1/index_128k.m3u8?date=20140505204447&uid=&rnd=2014050520444710445&client=imgo&key=21073c25639a1de4ed0fcd5ad016cad4&cip=222.247.56.11&cck=5DF45BE785B86A4C3F2E0231547F14A7':
05-05 14:59:47.153: I/IJKMEDIA(3614): Duration:
05-05 14:59:47.153: I/IJKMEDIA(3614): 00:00:00.60
05-05 14:59:47.153: I/IJKMEDIA(3614): , start:
05-05 14:59:47.153: I/IJKMEDIA(3614): 39358.684000
05-05 14:59:47.153: I/IJKMEDIA(3614): , bitrate:
05-05 14:59:47.153: I/IJKMEDIA(3614): 3 kb/s
05-05 14:59:47.153: I/IJKMEDIA(3614): Program 0
05-05 14:59:47.153: I/IJKMEDIA(3614): Metadata:
05-05 14:59:47.153: I/IJKMEDIA(3614): variant_bitrate :
05-05 14:59:47.153: I/IJKMEDIA(3614): 0
05-05 14:59:47.153: I/IJKMEDIA(3614): Stream #0:0
05-05 14:59:47.153: I/IJKMEDIA(3614): : Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p, 320x240 [SAR 1:1 DAR 4:3]
05-05 14:59:47.153: I/IJKMEDIA(3614): , 25 fps
05-05 14:59:47.153: I/IJKMEDIA(3614): , 25 tbr
05-05 14:59:47.153: I/IJKMEDIA(3614): , 90k tbn
05-05 14:59:47.153: I/IJKMEDIA(3614): , 50 tbc
05-05 14:59:47.153: I/IJKMEDIA(3614): Stream #0:1
05-05 14:59:47.153: I/IJKMEDIA(3614): : Audio: aac ([15][0][0][0] / 0x000F), 32000 Hz, mono, fltp, 33 kb/s
05-05 14:59:47.176: I/IJKMEDIA(3614): SDL_AndroidAudioTrack: CHANNEL_OUT_MONO
05-05 14:59:47.176: I/IJKMEDIA(3614): SDL_AndroidAudioTrack: ENCODING_PCM_16BIT
05-05 14:59:47.262: I/IJKMEDIA(3614): sdl_audiotrack_new: init volume as 1.000000/(0.000000,1.000000)
05-05 14:59:47.270: I/IJKMEDIA(3614): fps: 25.000000 (normal)
05-05 14:59:47.270: I/IJKMEDIA(3614): fps: 25.000000 (normal)
05-05 14:59:47.270: W/IJKMEDIA(3614): ijkmp_get_msg: FFP_MSG_PREPARED
05-05 14:59:47.270: W/IJKMEDIA(3614): FFP_MSG_PREPARED:
05-05 14:59:47.270: E/IJKMEDIA(3614): unknown FFP_MSG_xxx(700)
05-05 14:59:47.270: D/tv.danmaku.ijk.media.widget.VideoView(3614): onPrepared
05-05 14:59:47.270: W/IJKMEDIA(3614): IjkMediaPlayer_start
05-05 14:59:47.270: W/IJKMEDIA(3614): ijkmp_start()
05-05 14:59:47.270: W/IJKMEDIA(3614): ijkmp_start()=0
05-05 14:59:47.270: W/IJKMEDIA(3614): ijkmp_get_msg: FFP_REQ_START
05-05 14:59:47.270: D/IJKMEDIA(3614): ijkmp_get_msg: FFP_REQ_START: start on fly
05-05 14:59:47.270: E/IJKMEDIA(3614): unknown FFP_MSG_xxx(700)
05-05 14:59:47.270: I/IJKMEDIA(3614): SDL_RunThread: [3662] ff_aout_android
05-05 14:59:47.278: D/IJKMEDIA(3614): ffp_toggle_buffering_l: start
05-05 14:59:47.278: W/IJKMEDIA(3614): FFP_MSG_BUFFERING_START:
05-05 14:59:47.294: I/IJKMEDIA(3614): SDL_RunThread: [3663] ff_video
05-05 14:59:47.294: W/IJKMEDIA(3614): FFP_MSG_VIDEO_SIZE_CHANGED: 320, 240
05-05 14:59:47.294: W/IJKMEDIA(3614): FFP_MSG_SAR_CHANGED: 1, 1
05-05 14:59:47.294: W/IJKMEDIA(3614): ijkmp_get_msg: FFP_REQ_START
05-05 14:59:47.294: D/IJKMEDIA(3614): ijkmp_get_msg: FFP_REQ_START: start on fly
05-05 14:59:47.294: E/IJKMEDIA(3614): unknown FFP_MSG_xxx(700)
05-05 14:59:47.294: D/IJKMEDIA(3614): ffp_toggle_buffering_l: end
05-05 14:59:47.294: W/IJKMEDIA(3614): FFP_MSG_BUFFERING_END:
05-05 14:59:47.301: I/tv.danmaku.ijk.media.player.IjkMediaPlayer(3614): Info (701,0)
05-05 14:59:47.356: W/IJKMEDIA(3614): FFP_MSG_VIDEO_SIZE_CHANGED: 320, 240
05-05 14:59:47.356: W/IJKMEDIA(3614): SDL_VoutFFmpeg_CreateOverlay(w=320, h=240, fmt=RV32(0x32335652, dp=0x13e998)
05-05 14:59:47.528: D/IJKMEDIA(3614): ANativeWindow_setBuffersGeometry: w=854, h=480, f=�(0x4) => w=320, h=240, f=RV32(0x32335652)
05-05 14:59:47.551: W/IJKMEDIA(3614): FFP_MSG_VIDEO_SIZE_CHANGED: 320, 240
05-05 14:59:47.692: E/Surface(3614): Surface (identity=48) requestBuffer(0, 320, 240, 2, 00000033) returned a buffer with a null handle
05-05 14:59:47.692: E/Surface(3614): getBufferLocked(0, 320, 240, 2, 00000033) failed (Out of memory)
05-05 14:59:47.692: E/Surface(3614): dequeueBuffer failed (Out of memory)
05-05 14:59:47.692: E/IJKMEDIA(3614): sdl_native_window_display_l: ANativeWindow_lock: failed -1
05-05 14:59:47.692: W/IJKMEDIA(3614): SDL_VoutFFmpeg_CreateOverlay(w=320, h=240, fmt=RV32(0x32335652, dp=0x13e998)
05-05 14:59:47.825: D/tv.danmaku.ijk.media.widget.VideoView(3614): onInfo: (701, 0)
05-05 14:59:47.825: D/tv.danmaku.ijk.media.widget.VideoView(3614): onInfo: (MEDIA_INFO_BUFFERING_START)
05-05 14:59:47.825: D/tv.danmaku.ijk.media.widget.VideoView(3614): onVideoSizeChanged: (320x240)
05-05 14:59:47.840: W/IJKMEDIA(3614): FFP_MSG_VIDEO_SIZE_CHANGED: 320, 240
05-05 14:59:47.856: D/tv.danmaku.ijk.media.widget.VideoView(3614): VIDEO: 320x240x1.333333[SAR:0:0], Surface: 320x240, LP: 640x480, Window: 854x480x1.779167
05-05 14:59:47.856: D/tv.danmaku.ijk.media.widget.VideoView(3614): onVideoSizeChanged: (1x1)
05-05 14:59:47.872: D/tv.danmaku.ijk.media.widget.VideoView(3614): VIDEO: 320x240x1.333333[SAR:1:1], Surface: 320x240, LP: 640x480, Window: 854x480x1.779167
05-05 14:59:47.872: I/tv.danmaku.ijk.media.player.IjkMediaPlayer(3614): Info (702,0)
05-05 14:59:47.872: D/tv.danmaku.ijk.media.widget.VideoView(3614): onInfo: (702, 0)
05-05 14:59:47.872: D/tv.danmaku.ijk.media.widget.VideoView(3614): onInfo: (MEDIA_INFO_BUFFERING_END)
05-05 14:59:47.879: D/tv.danmaku.ijk.media.widget.VideoView(3614): onVideoSizeChanged: (320x240)
05-05 14:59:47.887: D/tv.danmaku.ijk.media.widget.VideoView(3614): VIDEO: 320x240x1.333333[SAR:1:1], Surface: 320x240, LP: 640x480, Window: 854x480x1.779167
05-05 14:59:47.895: D/tv.danmaku.ijk.media.widget.VideoView(3614): onVideoSizeChanged: (320x240)
05-05 14:59:47.903: D/tv.danmaku.ijk.media.widget.VideoView(3614): VIDEO: 320x240x1.333333[SAR:1:1], Surface: 320x240, LP: 640x480, Window: 854x480x1.779167
05-05 14:59:47.934: E/Surface(3614): Surface (identity=48) requestBuffer(0, 320, 240, 2, 00000033) returned a buffer with a null handle
05-05 14:59:47.934: E/Surface(3614): getBufferLocked(0, 320, 240, 2, 00000033) failed (Out of memory)
05-05 14:59:47.934: E/Surface(3614): dequeueBuffer failed (Out of memory)
05-05 14:59:47.934: E/IJKMEDIA(3614): sdl_native_window_display_l: ANativeWindow_lock: failed -1
05-05 14:59:47.934: W/IJKMEDIA(3614): SDL_VoutFFmpeg_CreateOverlay(w=320, h=240, fmt=RV32(0x32335652, dp=0x13e998)
05-05 14:59:47.950: E/Surface(3614): Surface (identity=48) requestBuffer(0, 320, 240, 2, 00000033) returned a buffer with a null handle
05-05 14:59:47.950: E/Surface(3614): getBufferLocked(0, 320, 240, 2, 00000033) failed (Out of memory)
05-05 14:59:47.950: E/Surface(3614): dequeueBuffer failed (Out of memory)
05-05 14:59:47.950: E/IJKMEDIA(3614): sdl_native_window_display_l: ANativeWindow_lock: failed -1
05-05 14:59:47.965: E/Surface(3614): Surface (identity=48) requestBuffer(0, 320, 240, 2, 00000033) returned a buffer with a null handle
05-05 14:59:47.965: E/Surface(3614): getBufferLocked(0, 320, 240, 2, 00000033) failed (Out of memory)
05-05 14:59:47.965: E/Surface(3614): dequeueBuffer failed (Out of memory)
05-05 14:59:47.965: E/IJKMEDIA(3614): sdl_native_window_display_l: ANativeWindow_lock: failed -1
05-05 14:59:47.965: W/IJKMEDIA(3614): IjkMediaPlayer_setVideoSurface
05-05 14:59:47.965: W/IJKMEDIA(3614): ijkmp_set_android_surface(surface=0x40523748)
05-05 14:59:47.965: W/IJKMEDIA(3614): ijkmp_set_android_surface(surface=0x40523748)=void
05-05 14:59:47.965: W/IJKMEDIA(3614): IjkMediaPlayer_start
05-05 14:59:47.965: W/IJKMEDIA(3614): ijkmp_start()
05-05 14:59:47.965: W/IJKMEDIA(3614): ijkmp_start()=0
05-05 14:59:47.965: W/IJKMEDIA(3614): ijkmp_get_msg: FFP_REQ_START
05-05 14:59:47.965: D/IJKMEDIA(3614): ijkmp_get_msg: FFP_REQ_START: start on fly
05-05 14:59:47.965: E/IJKMEDIA(3614): unknown FFP_MSG_xxx(700)
05-05 14:59:48.005: E/Surface(3614): Surface (identity=48) requestBuffer(0, 320, 240, 2, 00000033) returned a buffer with a null handle
05-05 14:59:48.005: E/Surface(3614): getBufferLocked(0, 320, 240, 2, 00000033) failed (Out of memory)
05-05 14:59:48.005: E/Surface(3614): dequeueBuffer failed (Out of memory)
05-05 14:59:48.005: E/IJKMEDIA(3614): sdl_native_window_display_l: ANativeWindow_lock: failed -1
05-05 14:59:48.036: E/Surface(3614): Surface (identity=48) requestBuffer(0, 320, 240, 2, 00000033) returned a buffer with a null handle
05-05 14:59:48.036: E/Surface(3614): getBufferLocked(0, 320, 240, 2, 00000033) failed (Out of memory)
05-05 14:59:48.036: E/Surface(3614): dequeueBuffer failed (Out of memory)
05-05 14:59:48.036: E/IJKMEDIA(3614): sdl_native_window_display_l: ANativeWindow_lock: failed -1
05-05 14:59:48.075: E/Surface(3614): Surface (identity=48) requestBuffer(0, 320, 240, 2, 00000033) returned a buffer with a null handle
05-05 14:59:48.075: E/Surface(3614): getBufferLocked(0, 320, 240, 2, 00000033) failed (Out of memory)
05-05 14:59:48.075: E/Surface(3614): dequeueBuffer failed (Out of memory)
05-05 14:59:48.075: E/IJKMEDIA(3614): sdl_native_window_display_l: ANativeWindow_lock: failed -1
05-05 14:59:48.114: E/Surface(3614): Surface (identity=48) requestBuffer(0, 320, 240, 2, 00000033) returned a buffer with a null handle
05-05 14:59:48.114: E/Surface(3614): getBufferLocked(0, 320, 240, 2, 00000033) failed (Out of memory)
05-05 14:59:48.114: E/Surface(3614): dequeueBuffer failed (Out of memory)
05-05 14:59:48.114: E/IJKMEDIA(3614): sdl_native_window_display_l: ANativeWindow_lock: failed -1
05-05 14:59:48.137: D/tv.danmaku.ijk.media.widget.VideoView(3614): onVideoSizeChanged: (320x240)
05-05 14:59:48.145: E/Surface(3614): Surface (identity=48) requestBuffer(0, 320, 240, 2, 00000033) returned a buffer with a null handle
05-05 14:59:48.145: E/Surface(3614): getBufferLocked(0, 320, 240, 2, 00000033) failed (Out of memory)
05-05 14:59:48.145: E/Surface(3614): dequeueBuffer failed (Out of memory)
05-05 14:59:48.145: E/IJKMEDIA(3614): sdl_native_window_display_l: ANativeWindow_lock: failed -1
05-05 14:59:48.153: D/tv.danmaku.ijk.media.widget.VideoView(3614): VIDEO: 320x240x1.333333[SAR:1:1], Surface: 320x240, LP: 640x480, Window: 854x480x1.779167
05-05 14:59:48.169: E/Surface(3614): Surface (identity=48) requestBuffer(0, 320, 240, 2, 00000033) returned a buffer with a null handle
05-05 14:59:48.169: E/Surface(3614): getBufferLocked(0, 320, 240, 2, 00000033) failed (Out of memory)
05-05 14:59:48.169: E/Surface(3614): dequeueBuffer failed (Out of memory)
05-05 14:59:48.169: E/IJKMEDIA(3614): sdl_native_window_display_l: ANativeWindow_lock: failed -1
05-05 14:59:48.208: E/Surface(3614): Surface (identity=48) requestBuffer(0, 320, 240, 2, 00000033) returned a buffer with a null handle
05-05 14:59:48.208: E/Surface(3614): getBufferLocked(0, 320, 240, 2, 00000033) failed (Out of memory)
05-05 14:59:48.208: E/Surface(3614): dequeueBuffer failed (Out of memory)
05-05 14:59:48.208: E/IJKMEDIA(3614): sdl_native_window_display_l: ANativeWindow_lock: failed -1
05-05 14:59:48.223: E/Surface(3614): Surface (identity=48) requestBuffer(0, 320, 240, 2, 00000033) returned a buffer with a null handle
05-05 14:59:48.223: E/Surface(3614): getBufferLocked(0, 320, 240, 2, 00000033) failed (Out of memory)
05-05 14:59:48.223: E/Surface(3614): dequeueBuffer failed (Out of memory)
05-05 14:59:48.223: E/IJKMEDIA(3614): sdl_native_window_display_l: ANativeWindow_lock: failed -1
05-05 14:59:48.294: E/Surface(3614): Surface (identity=48) requestBuffer(0, 320, 240, 2, 00000033) returned a buffer with a null handle
05-05 14:59:48.294: E/Surface(3614): getBufferLocked(0, 320, 240, 2, 00000033) failed (Out of memory)
05-05 14:59:48.294: E/Surface(3614): dequeueBuffer failed (Out of memory)

@bbcallen
Copy link
Contributor

bbcallen commented May 5, 2014

手头没有这么老的设备,把输出换成RV16试试看?

@boluomeng
Copy link
Author

换成RV16也是不行。
这个项目很棒,在主流机器上的兼容性不错,只是对于一些2.3的低端机型兼容还有些问题,希望大神能帮忙处理下。
还有安卓采用ffmpeg硬解这块,大神有什么方案没?

@bbcallen
Copy link
Contributor

bbcallen commented May 9, 2014

没头绪了,看我能不能碰巧弄到一个这种类型的机器吧。

硬解建议参考VLC或者xbmc的实现。我暂时没时间做。

@boluomeng
Copy link
Author

还遇到一个问题,播放flv mp4这类文件的时候载入速度特别慢,而且经常缓冲;对HLS载入很快,也没有缓冲。

@bbcallen
Copy link
Contributor

能提供载入比较慢的视频源么?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants