Closed qazmoon closed 8 years ago
log如下:
D/IJKMEDIA( 4096): IjkMediaPlayer_reset
D/IJKMEDIA( 4096): IjkMediaPlayer_release
D/IJKMEDIA( 4096): ijkmp_set_android_surface(surface=0x0)
D/IJKMEDIA( 4096): ffpipeline_set_surface()
D/IJKMEDIA( 4096): ijkmp_set_android_surface(surface=0x0)=void
D/IJKMEDIA( 4096): ijkmp_shutdown_l()
D/IJKMEDIA( 4096): message_loop exit
D/IJKMEDIA( 4096): SDL_AMediaCodecJava_stop
E/IJKMEDIA( 4096): SDL_AMediaCodecJava_dequeueInputBuffer: dequeueInputBuffer failed
I/IJKMEDIA( 4096): MediaCodec: enqueue_thread_func: exit: -1
I/IJKMEDIA( 4096): MediaCodec: func_run_sync: exit: 0
E/IJKMEDIA( 4096): SDL_AMediaCodecJava_releaseOutputBuffer: releaseOutputBuffer
E/IJKMEDIA( 4096): SDL_Overlay(ffmpeg): overlay_free_l(0x66ad9e48)
E/IJKMEDIA( 4096): SDL_Overlay(ffmpeg): overlay_free_l(0x66d6f280)
E/IJKMEDIA( 4096): SDL_AMediaCodecJava_releaseOutputBuffer: releaseOutputBuffer
E/IJKMEDIA( 4096): SDL_Overlay(ffmpeg): overlay_free_l(0x5b005db8)
D/IJKMEDIA( 4096): ijkmp_shutdown_l()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_native_setup
D/IJKMEDIA( 4096): ffpipeline_create_from_android()
D/IJKMEDIA( 4096): ijkmp_set_format_callback(0x59856b01, 0x1d30067e)
D/IJKMEDIA( 4096): ijkmp_set_format_callback()=void
D/IJKMEDIA( 4096): ijkmp_android_set_mediacodec_select_callback()
D/IJKMEDIA( 4096): ffpipeline_set_mediacodec_select_callback
D/IJKMEDIA( 4096): ijkmp_android_set_mediacodec_select_callback()=void
D/IJKMEDIA( 4096): ijkmp_dec_ref(): ref=0
D/IJKMEDIA( 4096): ijkmp_shutdown_l()
D/IJKMEDIA( 4096): ijkmp_shutdown_l()=void
I/IJKMEDIA( 4096): SDL_AMediaCodecJava_delete
D/IJKMEDIA( 4096): IjkMediaPlayer_setOptionLong
D/IJKMEDIA( 4096): ijkmp_set_option_int(overlay-format, 842225234)
D/IJKMEDIA( 4096): ijkmp_set_option_int()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setOptionLong
D/IJKMEDIA( 4096): ijkmp_set_option_int(framedrop, 12)
D/IJKMEDIA( 4096): ijkmp_set_option_int()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setOptionLong
D/IJKMEDIA( 4096): ijkmp_set_option_int(mediacodec, 1)
D/IJKMEDIA( 4096): ijkmp_set_option_int()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setOptionLong
D/IJKMEDIA( 4096): ijkmp_set_option_int(max_ts_probe, 5)
D/IJKMEDIA( 4096): ijkmp_set_option_int()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setOptionLong
D/IJKMEDIA( 4096): ijkmp_set_option_int(http-detect-range-support, 0)
D/IJKMEDIA( 4096): ijkmp_set_option_int()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setOption
D/IJKMEDIA( 4096): ijkmp_set_option(user_agent, IJKMEDIAPLAYER)
D/IJKMEDIA( 4096): ijkmp_set_option()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setOptionLong
D/IJKMEDIA( 4096): ijkmp_set_option_int(skip_loop_filter, 48)
D/IJKMEDIA( 4096): ijkmp_set_option_int()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setDataSourceAndHeaders
V/IJKMEDIA( 4096): setDataSource: path http://192.168.1.1/1.m3u8
D/IJKMEDIA( 4096): ijkmp_set_data_source(url="http://192.168.1.1/1.m3u8")
D/IJKMEDIA( 4096): ijkmp_set_data_source(url="http://192.168.1.1/1.m3u8")=0
D/IJKMEDIA( 4096): IjkMediaPlayer_setVideoSurface
D/IJKMEDIA( 4096): ijkmp_set_android_surface(surface=0x32900005)
D/IJKMEDIA( 4096): ffpipeline_set_surface()
D/IJKMEDIA( 4096): ijkmp_set_android_surface(surface=0x32900005)=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setOptionLong
D/IJKMEDIA( 4096): ijkmp_set_option_int(mediacodec, 1)
D/IJKMEDIA( 4096): ijkmp_set_option_int()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_prepareAsync
D/IJKMEDIA( 4096): ijkmp_prepare_async()
I/FFMPEG ( 4096): ===== options =====
I/IJKMEDIA( 4096): SDL_RunThread: [5403] ff_msg_loop
D/IJKMEDIA( 4096): message_loop
D/IJKMEDIA( 4096): FFP_MSG_FLUSH:
I/FFMPEG ( 4096): player-opts : overlay-format = 842225234
I/FFMPEG ( 4096): player-opts : framedrop = 12
I/FFMPEG ( 4096): player-opts : mediacodec = 1
I/FFMPEG ( 4096): format-opts : max_ts_probe = 5
I/FFMPEG ( 4096): format-opts : http-detect-range-support = 0
I/FFMPEG ( 4096): format-opts : user_agent = IJKMEDIAPLAYER
I/FFMPEG ( 4096): codec-opts : skip_loop_filter = 48
I/FFMPEG ( 4096): ===================
I/IJKMEDIA( 4096): SDL_RunThread: [5404] ff_vout
D/IJKMEDIA( 4096): ffpipenode_create_video_output_from_android_mediacodec()
D/IJKMEDIA( 4096): ijkmp_prepare_async()=0
I/IJKMEDIA( 4096): SDL_RunThread: [5405] ff_read
E/FFMPEG ( 4096): Option http-detect-range-support not found.
I/FFMPEG ( 4096): [FFPlayer @ 0x5bf15ed0] max_frame_duration: 10.000
I/FFMPEG ( 4096): Input #0, hls,applehttp, from 'http://192.168.1.1/1.m3u8':
I/FFMPEG ( 4096): Duration:
I/FFMPEG ( 4096): N/A
I/FFMPEG ( 4096): , start:
I/FFMPEG ( 4096): 36.120633
I/FFMPEG ( 4096): , bitrate:
I/FFMPEG ( 4096): N/A
I/FFMPEG ( 4096):
I/FFMPEG ( 4096): Program 0
I/FFMPEG ( 4096): Metadata:
I/FFMPEG ( 4096): variant_bitrate :
I/FFMPEG ( 4096): 0
I/FFMPEG ( 4096):
I/FFMPEG ( 4096): Stream #0:0
I/FFMPEG ( 4096): : Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv), 720x480 [SAR 32:27 DAR 16:9], max. 4800 kb/s
I/FFMPEG ( 4096): ,
I/FFMPEG ( 4096): 29.97 fps,
I/FFMPEG ( 4096): 29.97 tbr,
I/FFMPEG ( 4096): 90k tbn,
I/FFMPEG ( 4096): 59.94 tbc
I/FFMPEG ( 4096):
I/FFMPEG ( 4096): Stream #0:1
I/FFMPEG ( 4096): : Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 384 kb/s
I/FFMPEG ( 4096):
I/IJKMEDIA( 4096): SDL_Android_AudioTrack: CHANNEL_OUT_STEREO
I/IJKMEDIA( 4096): SDL_Android_AudioTrack: ENCODING_PCM_16BIT
I/IJKMEDIA( 4096): SDL_Android_AudioTrack_new: init volume as 1.000000/(0.000000,1.000000)
I/IJKMEDIA( 4096): SDL_RunThread: [5407] ff_aout_android
I/FFMPEG ( 4096): [FFPlayer @ 0x5bf15ed0] AudioCodec: avcodec, mp2
I/IJKMEDIA( 4096): SDL_RunThread: [5408] ff_audio_dec
D/IJKMEDIA( 4096): ffpipenode_create_video_decoder_from_android_mediacodec()
E/IJKMEDIA( 4096): ffpipenode_create_video_decoder_from_android_mediacodec:create: not H264
I/FFMPEG ( 4096): [FFPlayer @ 0x5bf15ed0] VideoCodec: avcodec, mpeg2video
I/IJKMEDIA( 4096): SDL_RunThread: [5414] ff_video_dec
W/FFMPEG ( 4096): [FFPlayer @ 0x5bf15ed0] fps: 29.970030 (normal)
W/FFMPEG ( 4096): [FFPlayer @ 0x5bf15ed0] fps: 29.970030 (normal)
D/IJKMEDIA( 4096): ijkmp_get_msg: FFP_MSG_PREPARED
D/IJKMEDIA( 4096): FFP_MSG_PREPARED:
D/IJKMEDIA( 4096): IjkMediaPlayer_start
D/IJKMEDIA( 4096): ijkmp_start()
D/IJKMEDIA( 4096): ijkmp_start()=0
D/IJKMEDIA( 4096): IjkMediaPlayer_getVideoCodecInfo
D/IJKMEDIA( 4096): ijkmp_get_video_codec_info
D/IJKMEDIA( 4096): ijkmp_get_video_codec_info()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_getAudioCodecInfo
D/IJKMEDIA( 4096): ijkmp_get_audio_codec_info
D/IJKMEDIA( 4096): ijkmp_get_audio_codec_info()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_getMediaMeta
D/IJKMEDIA( 4096): ijkmp_get_meta_l
D/IJKMEDIA( 4096): ijkmp_get_meta_l()=void
D/IJKMEDIA( 4096): FFP_MSG_VIDEO_SIZE_CHANGED: 720, 480
D/IJKMEDIA( 4096): FFP_MSG_SAR_CHANGED: 32, 27
D/IJKMEDIA( 4096): ijkmp_get_msg: FFP_REQ_START
D/IJKMEDIA( 4096): SDL_VoutFFmpeg_CreateOverlay(w=720, h=480, fmt=RV32(0x32335652, dp=0x5bc52970)
D/IJKMEDIA( 4096): FFP_MSG_VIDEO_SIZE_CHANGED: 720, 480
I/System.out( 4096): ijkmediaplayer,onVideoSizeChanged 720 , 480
D/IJKMEDIA( 4096): ANativeWindow_setBuffersGeometry: w=1078, h=598, f=(0x4) => w=720, h=480, f=RV32(0x32335652)
D/IJKMEDIA( 4096): FFP_MSG_VIDEO_SIZE_CHANGED: 720, 480
D/IJKMEDIA( 4096): SDL_VoutFFmpeg_CreateOverlay(w=720, h=480, fmt=RV32(0x32335652, dp=0x5bc52970)
D/IJKMEDIA( 4096): FFP_MSG_VIDEO_SIZE_CHANGED: 720, 480
I/System.out( 4096): ijkmediaplayer,onVideoSizeChanged 720 , 480
D/IJKMEDIA( 4096): SDL_VoutFFmpeg_CreateOverlay(w=720, h=480, fmt=RV32(0x32335652, dp=0x5bc52970)
I/System.out( 4096): ijkmediaplayer,onBufferingUpdate 0
I/System.out( 4096): ijkmediaplayer,onBufferingUpdate 0
I/System.out( 4096): ijkmediaplayer,onBufferingUpdate 0
I/System.out( 4096): ijkmediaplayer,onBufferingUpdate 0
I/System.out( 4096): ijkmediaplayer,onBufferingUpdate 0
I/System.out( 4096): ijkmediaplayer,onBufferingUpdate 0
I/System.out( 4096): ijkmediaplayer,onBufferingUpdate 0
W/FFMPEG ( 4096): [mpegts @ 0x5b0b1560] PES packet size mismatch
I/System.out( 4096): ijkmediaplayer,onBufferingUpdate 0
I/System.out( 4096): ijkmediaplayer,onBufferingUpdate 0
I/System.out( 2695): Alarmreceiver
E/FFMPEG ( 4096): [mp2 @ 0x5b5a9430] Header missing
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] invalid cbp -1 at 35 18
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] 00 motion_type at 25 19
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] 00 motion_type at 22 9
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] slice mismatch
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] 00 motion_type at 10 20
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] 00 motion_type at 17 21
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] invalid cbp -1 at 15 22
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] 00 motion_type at 34 23
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] 00 motion_type at 1 12
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] 00 motion_type at 28 13
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] slice mismatch
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] invalid cbp 0 at 3 8
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] invalid mb type in P Frame at 8 25
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] 00 motion_type at 1 26
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] slice mismatch
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] 00 motion_type at 21 9
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] invalid cbp -1 at 5 15
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] invalid mb type in P Frame at 18 29
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] slice mismatch
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] slice mismatch
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] mb incr damaged
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] 00 motion_type at 33 11
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] 00 motion_type at 21 17
E/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] Warning MVs not available
I/FFMPEG ( 4096): [mpeg2video @ 0x5b591ed0] concealing 990 DC, 990 AC, 990 MV errors in P frame
I/System.out( 4096): ijkmediaplayer,onBufferingUpdate 0
I/System.out( 4096): ijkmediaplayer,onBufferingUpdate 0
I/System.out( 4096): ijkmediaplayer,onBufferingUpdate 0
I/System.out( 4096): ijkmediaplayer,onBufferingUpdate 0
D/IJKMEDIA( 4096): ijkmp_pause()
D/IJKMEDIA( 4096): ijkmp_pause()=0
D/IJKMEDIA( 4096): ijkmp_get_msg: FFP_REQ_PAUSE
E/FFMPEG ( 4096): [http @ 0x581af4a0] Stream ends prematurely at 1430680, should be 1492344
E/FFMPEG ( 4096): failed to open segment, retry...
E/FFMPEG ( 4096): failed to open segment, retry...
E/FFMPEG ( 4096): failed to open segment, retry...
W/FFMPEG ( 4096): Failed to open segment of playlist 0
E/FFMPEG ( 4096): failed to open segment, retry...
E/FFMPEG ( 4096): failed to open segment, retry...
E/FFMPEG ( 4096): failed to open segment, retry...
W/FFMPEG ( 4096): Failed to open segment of playlist 0
D/setDataSource( 4096): -----====setDataSource start============http://192.168.1.1/2.m3u8
D/IJKMEDIA( 4096): IjkMediaPlayer_reset
D/IJKMEDIA( 4096): IjkMediaPlayer_release
D/IJKMEDIA( 4096): ijkmp_set_android_surface(surface=0x0)
D/IJKMEDIA( 4096): ffpipeline_set_surface()
D/IJKMEDIA( 4096): ijkmp_set_android_surface(surface=0x0)=void
D/IJKMEDIA( 4096): ijkmp_shutdown_l()
D/IJKMEDIA( 4096): message_loop exit
D/poll ( 4096): send from ui
D/mini ( 4096): updateMini
W/FFMPEG ( 4096): [hls,applehttp @ 0x5b08cbb0] Failed to reload playlist 0
D/dalvikvm( 4096): threadid=20: thread exiting, not yet detached (count=0)
D/dalvikvm( 4096): threadid=17: thread exiting, not yet detached (count=0)
E/IJKMEDIA( 4096): SDL_Overlay(ffmpeg): overlay_free_l(0x5b0acb18)
E/IJKMEDIA( 4096): SDL_Overlay(ffmpeg): overlay_free_l(0x581a94d0)
E/IJKMEDIA( 4096): SDL_Overlay(ffmpeg): overlay_free_l(0x5ad8d5e0)
D/IJKMEDIA( 4096): ijkmp_shutdown_l()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_native_setup
D/IJKMEDIA( 4096): ffpipeline_create_from_android()
D/IJKMEDIA( 4096): ijkmp_set_format_callback(0x59856b01, 0x1d40068a)
D/IJKMEDIA( 4096): ijkmp_set_format_callback()=void
D/IJKMEDIA( 4096): ijkmp_android_set_mediacodec_select_callback()
D/IJKMEDIA( 4096): ffpipeline_set_mediacodec_select_callback
D/IJKMEDIA( 4096): ijkmp_android_set_mediacodec_select_callback()=void
D/IJKMEDIA( 4096): ijkmp_dec_ref(): ref=0
D/IJKMEDIA( 4096): ijkmp_shutdown_l()
D/IJKMEDIA( 4096): ijkmp_shutdown_l()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setOptionLong
D/IJKMEDIA( 4096): ijkmp_set_option_int(overlay-format, 842225234)
D/IJKMEDIA( 4096): ijkmp_set_option_int()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setOptionLong
D/IJKMEDIA( 4096): ijkmp_set_option_int(framedrop, 12)
D/IJKMEDIA( 4096): ijkmp_set_option_int()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setOptionLong
D/IJKMEDIA( 4096): ijkmp_set_option_int(mediacodec, 1)
D/IJKMEDIA( 4096): ijkmp_set_option_int()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setOptionLong
D/IJKMEDIA( 4096): ijkmp_set_option_int(max_ts_probe, 5)
D/IJKMEDIA( 4096): ijkmp_set_option_int()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setOptionLong
D/IJKMEDIA( 4096): ijkmp_set_option_int(http-detect-range-support, 0)
D/IJKMEDIA( 4096): ijkmp_set_option_int()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setOption
D/IJKMEDIA( 4096): ijkmp_set_option(user_agent, IJKMEDIAPLAYER)
D/IJKMEDIA( 4096): ijkmp_set_option()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setOptionLong
D/IJKMEDIA( 4096): ijkmp_set_option_int(skip_loop_filter, 48)
D/IJKMEDIA( 4096): ijkmp_set_option_int()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setDataSourceAndHeaders
V/IJKMEDIA( 4096): setDataSource: path http://192.168.1.1/2.m3u8
D/IJKMEDIA( 4096): ijkmp_set_data_source(url="http://192.168.1.1/2.m3u8")
D/IJKMEDIA( 4096): ijkmp_set_data_source(url="http://192.168.1.1/2.m3u8")=0
D/IJKMEDIA( 4096): IjkMediaPlayer_setVideoSurface
D/IJKMEDIA( 4096): ijkmp_set_android_surface(surface=0x31900005)
D/IJKMEDIA( 4096): ffpipeline_set_surface()
D/IJKMEDIA( 4096): ijkmp_set_android_surface(surface=0x31900005)=void
D/IJKMEDIA( 4096): IjkMediaPlayer_setOptionLong
D/IJKMEDIA( 4096): ijkmp_set_option_int(mediacodec, 1)
D/IJKMEDIA( 4096): ijkmp_set_option_int()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_prepareAsync
D/IJKMEDIA( 4096): ijkmp_prepare_async()
I/FFMPEG ( 4096): ===== options =====
I/IJKMEDIA( 4096): SDL_RunThread: [5430] ff_msg_loop
D/IJKMEDIA( 4096): message_loop
D/IJKMEDIA( 4096): FFP_MSG_FLUSH:
I/FFMPEG ( 4096): player-opts : overlay-format = 842225234
I/FFMPEG ( 4096): player-opts : framedrop = 12
I/FFMPEG ( 4096): player-opts : mediacodec = 1
I/FFMPEG ( 4096): format-opts : max_ts_probe = 5
I/FFMPEG ( 4096): format-opts : http-detect-range-support = 0
I/FFMPEG ( 4096): format-opts : user_agent = IJKMEDIAPLAYER
I/FFMPEG ( 4096): codec-opts : skip_loop_filter = 48
I/FFMPEG ( 4096): ===================
I/IJKMEDIA( 4096): SDL_RunThread: [5431] ff_vout
D/IJKMEDIA( 4096): ffpipenode_create_video_output_from_android_mediacodec()
D/IJKMEDIA( 4096): ijkmp_prepare_async()=0
I/IJKMEDIA( 4096): SDL_RunThread: [5432] ff_read
D/setDataSource( 4096): -----====setDataSource end============
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] non-existing PPS 0 referenced
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] decode_slice_header error
E/FFMPEG ( 4096): [h264 @ 0x5b591ed0] no frame!
E/FFMPEG ( 4096): Option http-detect-range-support not found.
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 4 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 69 10, bytestream 3487
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 5 8, bytestream 6015
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 18 9, bytestream 6384
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 3 0, bytestream 23935
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 3 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 1 1, bytestream 13316
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 3 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 110 6, bytestream 164
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 32 9, bytestream 6666
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 4 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 3 8, bytestream 7617
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 4 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 21 9, bytestream 509
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 3 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 2 0, bytestream 28167
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 6 1, bytestream 22567
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 19 8, bytestream 6794
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 2 9, bytestream 8357
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 3 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 2 8, bytestream 301
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 2 9, bytestream 4576
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 2 0, bytestream 29044
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 5 1, bytestream 18348
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 33 8, bytestream 5705
D/AudioPolicyManagerBase( 1140): STRATEGY_PHONE ====> device 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 3 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 48 9, bytestream 6989
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 112 6, bytestream 6755
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 20 9, bytestream 6022
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 3 0, bytestream 24208
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 4 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 1 1, bytestream 20649
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 3 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 42 8, bytestream 5587
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 109 7, bytestream 6030
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 4 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 13 8, bytestream 5627
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] Reference 8 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b22d7c0] error while decoding MB 21 9, bytestream 3982
I/FFMPEG ( 4096): [FFPlayer @ 0x5b378950] max_frame_duration: 10.000
I/FFMPEG ( 4096): Input #0, hls,applehttp, from 'http://192.168.1.1/2.m3u8':
I/FFMPEG ( 4096): Duration:
I/FFMPEG ( 4096): N/A
I/FFMPEG ( 4096): , start:
I/FFMPEG ( 4096): 54232.481722
I/FFMPEG ( 4096): , bitrate:
I/FFMPEG ( 4096): N/A
I/FFMPEG ( 4096):
I/FFMPEG ( 4096): Program 0
I/FFMPEG ( 4096): Metadata:
I/FFMPEG ( 4096): variant_bitrate :
I/FFMPEG ( 4096): 0
I/FFMPEG ( 4096):
I/FFMPEG ( 4096): Stream #0:0
I/FFMPEG ( 4096): : Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9]
I/FFMPEG ( 4096): ,
I/FFMPEG ( 4096): 60 fps,
I/FFMPEG ( 4096): 30 tbr,
I/FFMPEG ( 4096): 90k tbn,
I/FFMPEG ( 4096): 60 tbc
I/FFMPEG ( 4096):
I/FFMPEG ( 4096): Stream #0:1
I/FFMPEG ( 4096): : Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 128 kb/s
I/FFMPEG ( 4096):
I/IJKMEDIA( 4096): SDL_Android_AudioTrack: CHANNEL_OUT_STEREO
I/IJKMEDIA( 4096): SDL_Android_AudioTrack: ENCODING_PCM_16BIT
I/IJKMEDIA( 4096): SDL_Android_AudioTrack_new: init volume as 1.000000/(0.000000,1.000000)
I/FFMPEG ( 4096): [FFPlayer @ 0x5b378950] AudioCodec: avcodec, mp2
I/IJKMEDIA( 4096): SDL_RunThread: [5434] ff_aout_android
I/IJKMEDIA( 4096): SDL_RunThread: [5435] ff_audio_dec
D/AudioPolicyManagerBase( 1140): STRATEGY_PHONE ====> device 2
D/IJKMEDIA( 4096): ffpipenode_create_video_decoder_from_android_mediacodec()
I/IJKMEDIA( 4096): AMediaFormat: video/avc, 1920x1080
D/IJKMEDIA( 4096): SDL_AMediaFormatJava_createVideoFormat
E/IJKMEDIA( 4096): csd-0: naked
D/IJKMEDIA( 4096): ffpipeline_set_surface_need_reconfigure(0)
D/IJKMEDIA( 4096): ffpipeline_select_mediacodec
I/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): onSelectCodec: mime=video/avc, profile=100, level=40
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.M4V.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/mp4v-es
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.H263.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/3gpp
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.AVC.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/avc
I/OMXClient( 4096): Using client-side OMX mux.
D/AudioPolicyManagerBase( 1140): STRATEGY_PHONE ====> device 2
I/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): candidate codec: OMX.MS.AVC.Decoder rank=700
I/OMXClient( 4096): Using client-side OMX mux.
I/IjkMediaCodecInfo( 4096): High Profile Level 42 (8,8192)
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.HEVC.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/hevc
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.MVC.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/mvc
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.MPEG2.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/mpeg2
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.VP8.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/x-vnd.on2.vp8
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.DIVX311.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/divx3
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.DIVX412.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/divx4
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.FLV.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/flv
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.VC1.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/vc1
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.VC1.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/wvc1
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.WMV3.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/wmv3
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.MJPG.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/mjpeg
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.AVS.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/avs
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.RV.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/realvideo
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.mstmp3.decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/mpeg-L1
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.MP3.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/mpeg-L1
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.mstmp3.decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/mpeg-L2
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.MP3.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/mpeg-L2
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.mp3.decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/mpeg
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.mstmp3.decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/mpeg
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.MP3.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/mpeg
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.amrnb.decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/3gpp
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.amrwb.decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/amr-wb
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.aac.decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/mp4a-latm
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.AAC.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/mp4a-latm
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.g711.alaw.decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/g711-alaw
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.g711.mlaw.decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/g711-mlaw
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.raw.decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/raw
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.vorbis.decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/vorbis
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.VORBIS.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/vorbis
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.ADPCM.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/adpcm
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.LPCM.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/lpcm
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.RA.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/cook
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.WMA.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/x-ms-wma
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.AC3.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/ac3
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.DTS.Decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/dts
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.mpeg4.decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/mp4v-es
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.h263.decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/3gpp
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.h264.decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/avc
I/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): candidate codec: OMX.google.h264.decoder rank=200
I/OMXClient( 4096): Using client-side OMX mux.
I/IjkMediaCodecInfo( 4096): Baseline Profile Level 51 (1,32768)
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.vpx.decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: video/x-vnd.on2.vp8
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.mpeg4.encoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.h263.encoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.MS.AVC.Encoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.amrnb.encoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.amrwb.encoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.aac.encoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: AACEncoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): found codec: OMX.google.raw.decoder
D/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): mime: audio/raw
I/tv.danmaku.ijk.media.player.IjkMediaPlayer( 4096): selected codec: OMX.MS.AVC.Decoder rank=700
D/IJKMEDIA( 4096): SDL_AMediaCodecJava_createByCodecName
I/OMXClient( 4096): Using client-side OMX mux.
D/IJKMEDIA( 4096): SDL_AMediaCodecJava_init
D/IJKMEDIA( 4096): SDL_AMediaCodecJava_configure_surface
E/IJKMEDIA( 4096): configure 0x1d2006aa 0x1d30069e
E/BufferQueue( 1137): [SurfaceView] connect: already connected (cur=2, req=3)
E/MediaCodec( 4096): native_window_api_connect returned an error: Invalid argument (-22)
W/System.err( 4096): java.lang.IllegalStateException
W/System.err( 4096): at android.media.MediaCodec.native_configure(Native Method)
W/System.err( 4096): at android.media.MediaCodec.configure(MediaCodec.java:259)
W/System.err( 4096): at dalvik.system.NativeStart.run(Native Method)
E/IJKMEDIA( 4096): reconfigure_codec_l:configure_surface: failed
I/IJKMEDIA( 4096): SDL_AMediaCodecJava_delete
I/FFMPEG ( 4096): [FFPlayer @ 0x5b378950] VideoCodec: avcodec, h264
I/IJKMEDIA( 4096): SDL_RunThread: [5450] ff_video_dec
W/FFMPEG ( 4096): [FFPlayer @ 0x5b378950] fps: 60.000000 (too high)
W/FFMPEG ( 4096): [FFPlayer @ 0x5b378950] fps: 30.000000 (normal)
D/IJKMEDIA( 4096): ijkmp_get_msg: FFP_MSG_PREPARED
D/IJKMEDIA( 4096): FFP_MSG_PREPARED:
I/System.out( 4096): ijkmediaplayer,onPrepared
D/IJKMEDIA( 4096): IjkMediaPlayer_start
D/IJKMEDIA( 4096): ijkmp_start()
D/IJKMEDIA( 4096): ijkmp_start()=0
D/IJKMEDIA( 4096): IjkMediaPlayer_getVideoCodecInfo
D/IJKMEDIA( 4096): ijkmp_get_video_codec_info
D/IJKMEDIA( 4096): ijkmp_get_video_codec_info()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_getAudioCodecInfo
D/IJKMEDIA( 4096): ijkmp_get_audio_codec_info
D/IJKMEDIA( 4096): ijkmp_get_audio_codec_info()=void
D/IJKMEDIA( 4096): IjkMediaPlayer_getMediaMeta
D/IJKMEDIA( 4096): ijkmp_get_meta_l
D/IJKMEDIA( 4096): ijkmp_get_meta_l()=void
D/IJKMEDIA( 4096): FFP_MSG_VIDEO_SIZE_CHANGED: 1920, 1080
D/IJKMEDIA( 4096): FFP_MSG_SAR_CHANGED: 1, 1
D/IJKMEDIA( 4096): ijkmp_get_msg: FFP_REQ_START
I/System.out( 4096): ijkmediaplayer,[DefaultPlayer|getVideoWidth]width=0
I/System.out( 4096): ijkmediaplayer,onVideoSizeChanged 1920 , 1080
I/System.out( 4096): ijkmediaplayer,onVideoSizeChanged 1920 , 1080
D/mini ( 4096): updateMini
E/FFMPEG ( 4096): [h264 @ 0x63ea5960] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x63ea5960] error while decoding MB 3 0, bytestream 23935
E/FFMPEG ( 4096): [h264 @ 0x5b584420] Reference 3 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b584420] error while decoding MB 1 1, bytestream 13316
E/FFMPEG ( 4096): [h264 @ 0x5b584420] Reference 3 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b584420] error while decoding MB 2 0, bytestream 28167
E/FFMPEG ( 4096): [h264 @ 0x5af946a0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5af946a0] error while decoding MB 6 1, bytestream 22567
E/FFMPEG ( 4096): [h264 @ 0x5af946a0] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5af946a0] error while decoding MB 2 0, bytestream 29044
E/FFMPEG ( 4096): [h264 @ 0x5b0b3740] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b0b3740] error while decoding MB 5 1, bytestream 18348
E/FFMPEG ( 4096): [h264 @ 0x5b0b3740] Reference 2 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b0b3740] error while decoding MB 3 0, bytestream 24208
E/FFMPEG ( 4096): [h264 @ 0x5b4e2050] Reference 4 >= 2
E/FFMPEG ( 4096): [h264 @ 0x5b4e2050] error while decoding MB 1 1, bytestream 20649
D/IJKMEDIA( 4096): SDL_VoutFFmpeg_CreateOverlay(w=1920, h=1080, fmt=RV32(0x32335652, dp=0x658abcb0)
D/IJKMEDIA( 4096): FFP_MSG_VIDEO_SIZE_CHANGED: 1920, 1080
I/System.out( 4096): ijkmediaplayer,onVideoSizeChanged 1920 , 1080
E/IJKMEDIA( 4096): unexpected native window buffer (0x6666c660)(w:720, h:480, fmt:''0x2), expecting (w:1920, h:1080, fmt:'RV32'0x32335652)
I/System.out( 4096): ijkmediaplayer,onBufferingUpdate 0
D/IJKMEDIA( 4096): FFP_MSG_VIDEO_SIZE_CHANGED: 1920, 1080
D/IJKMEDIA( 4096): SDL_VoutFFmpeg_CreateOverlay(w=1920, h=1080, fmt=RV32(0x32335652, dp=0x658abcb0)
I/System.out( 4096): ijkmediaplayer,onVideoSizeChanged 1920 , 1080
E/MediaCodec( 4096): native_window_api_connect returned an error: Invalid argument (-22) W/System.err( 4096): java.lang.IllegalStateException W/System.err( 4096): at android.media.MediaCodec.native_configure(Native Method) W/System.err( 4096): at android.media.MediaCodec.configure(MediaCodec.java:259) W/System.err( 4096): at dalvik.system.NativeStart.run(Native Method) E/IJKMEDIA( 4096): reconfigure_codec_l:configure_surface: failed 硬解config失败了
请问下 你这是什么设备 型号及版本说下
E/BufferQueue( 1137): [SurfaceView] connect: already connected (cur=2, req=3) E/MediaCodec( 4096): native_window_api_connect returned an error: Invalid argument (-22) W/System.err( 4096): java.lang.IllegalStateException W/System.err( 4096): at android.media.MediaCodec.native_configure(Native Method) W/System.err( 4096): at android.media.MediaCodec.configure(MediaCodec.java:259) W/System.err( 4096): at dalvik.system.NativeStart.run(Native Method)
You didn't release surface from previous player.
只是换个播放文件,在reset后换个url就出现这种情况了
@qazmoon 机型
@Android4MediaPlayer letv S40air
@bbcallen 如果调用mp.setDisplay(null),mp.release() 那么每次换播一个节目都要重新new一个mp了?不能reset后重新set一个新的URL么?
mp.reset() is OK in theory, but I don't test it much.
在设置mediacodec enable的情况下,从硬解播放H264换到软解mpeg2时就是avcodec了, 但是从avcodec播放mpeg2换到播放H264是就不是mediacodec而是avcodec了。 操作如下:
mPlayer.reset();
mPlayer.setDataSource(videoUrl);
mPlayer.setDisplay(mHolder);
mPlayer.prepareAsync();
是不是应该改成下面这个?
mPlayer.reset();
mPlayer.setDataSource(videoUrl);
mPlayer.setDisplay(null);
mPlayer.setDisplay(mHolder);
mPlayer.prepareAsync();
setDisplay(null)放在reset之前或之后都不行。是不是bug?
Not sure I understand the translation, but the NativeWindow is not released by the MediaPlayer when calling release(true); stopPlayback();
09-08 14:14:28.864 7291-7536/com.owlr.tv.debug E/BufferQueueProducer﹕ [unnamed-7291-0] connect(P): already connected (cur=2 req=2)
09-08 14:14:28.864 7291-7536/com.owlr.tv.debug E/IJKMEDIA﹕ SDL_Android_NativeWindow_display_l: ANativeWindow_lock: failed -22
This happens where you would re-use the Texture/SurfaceView for playing.
Calling mMediaPlayer.setDisplay(null);
does not help as it does not seem to release the lock on the View.
貌似stackoverflow提到同样一个问题和解决方法
You must set every option after you reset previous player. You could find what you set in log.
是的,每次reset前后的player的option都是相同的
Better post your full code
my ijkwrapper :
package com.example.mediaplayer.player;
import java.io.IOException;
import tv.danmaku.ijk.media.player.IjkMediaPlayer;
import tv.danmaku.ijk.media.player.MediaInfo;
import android.content.Context;
import android.net.Uri;
import android.view.Surface;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class JkMediaPlayer implements IMyPlayer {
private volatile int mState = STATE_UNDEF;
private IjkMediaPlayer mMediaPlayer = null;
private IjkMediaPlayer.OnBufferingUpdateListener mOnBufferingUpdateListener = null;
private IjkMediaPlayer.OnCompletionListener mOnCompletionListener = null;
private IjkMediaPlayer.OnErrorListener mOnFlagErrorListener = null;
private IjkMediaPlayer.OnInfoListener mOnInfoListener = null;
private IjkMediaPlayer.OnPreparedListener mOnPreparedListener = null;
private IjkMediaPlayer.OnSeekCompleteListener mSeekCompleteListener = null;
private IjkMediaPlayer.OnVideoSizeChangedListener mVideoSizeChangedListener = null;
public JkMediaPlayer() {
mDuration = -1;
mMediaPlayer = new IjkMediaPlayer();
IjkMediaPlayer.native_setLogLevel(IjkMediaPlayer.IJK_LOG_DEBUG);
mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "overlay-format", IjkMediaPlayer.SDL_FCC_RV32);
mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", 12);
mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", 1);//use hard decoder first
mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "max_ts_probe", 5);
mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "http-detect-range-support", 0);
mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_CODEC, "skip_loop_filter", 48);
mState = STATE_IDLE;
}
@Override
public int getCurrentPosition() {
if (isInPlaybackState()) {
long position = mMediaPlayer.getCurrentPosition();
return (int) position;
}else {
System.out.println("ijkmediaplayer,error!call getCurrentPosition() in state " + mState);
}
return 0;
}
private long mDuration;
@Override
public int getDuration() {
if (isInPlaybackState()) {
if (mDuration > 0)
return (int) mDuration;
mDuration = mMediaPlayer.getDuration();
return (int) mDuration;
}
mDuration = -1;
return (int) mDuration;
}
@Override
public int getVideoHeight() {
int height = 0;
if (mState != STATE_ERROR) {
height = mMediaPlayer.getVideoHeight();
}
return height;
}
@Override
public int getVideoWidth() {
int width = 0;
if (mState != STATE_ERROR) {
width = mMediaPlayer.getVideoWidth();
System.out.println("ijkmediaplayer,[DefaultPlayer|getVideoWidth]width="+width);
}
return width;
}
@Override
public boolean isPlaying() {
return isInPlaybackState() && mMediaPlayer.isPlaying();
}
@Override
public void prepare() {
if (mState == STATE_INITIALIZED || mState == STATE_STOPED) {
System.out.println("ijkmediaplayer,call prepare() in state " + mState);
mState = STATE_PREPARED;
} else {
System.out.println("ijkmediaplayer,error!call prepare() in state " + mState);
}
}
@Override
public void prepareAsync() {
if (isInPlaybackState()) {
mMediaPlayer.prepareAsync();
} else {
System.out.println("ijkmediaplayer,error!call prepareAsync() in state " + mState);
}
}
@Override
public void release() {
if (mMediaPlayer != null) {
mMediaPlayer.reset();
mMediaPlayer.release();
mMediaPlayer = null;
mState = STATE_IDLE;
}
}
@Override
public void reset() {
if (mMediaPlayer == null) {
mMediaPlayer = new IjkMediaPlayer();
}
mMediaPlayer.reset();
IjkMediaPlayer.native_setLogLevel(IjkMediaPlayer.IJK_LOG_DEBUG);
mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "overlay-format", IjkMediaPlayer.SDL_FCC_RV32);
mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", 12);
mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec", 1);//use hard decoder first
mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "max_ts_probe", 5);
mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "http-detect-range-support", 0);
mMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_CODEC, "skip_loop_filter", 48);
mState = STATE_IDLE;
}
@Override
public void seekTo(int msec) {
if (isInPlaybackState()) {
mMediaPlayer.seekTo(msec);
} else {
System.out.println("ijkmediaplayer,error!call seekTo() in state " + mState);
}
}
protected boolean isInPlaybackState() {
return (mMediaPlayer != null && mState != STATE_ERROR
&& mState != STATE_IDLE && mState != STATE_PREPARING && mState!=STATE_UNDEF);
}
@Override
public void start() {
if (isInPlaybackState()) {
mMediaPlayer.start();
mState = STATE_STARTED;
} else {
System.out.println("ijkmediaplayer,error!call start() in state " + mState);
}
}
@Override
public void pause() {
if (isInPlaybackState()) {
if (mMediaPlayer.isPlaying()) {
mMediaPlayer.pause();
mState = STATE_PAUSED;
}
} else {
System.out.println("ijkmediaplayer,error!call pause() in state " + mState);
}
}
@Override
public void stop() {
if (mMediaPlayer != null) {
mMediaPlayer.stop();
System.out.println("ijkmediaplayer,mMediaPlayer.stop()");
mState = STATE_STOPED;
} else {
System.out.println("ijkmediaplayer,error!call stop() in state " + mState);
}
}
@Override
public int getCurrentState() {
return mState;
}
@Override
public void setDisplay(SurfaceHolder holder) {
mMediaPlayer.setDisplay(holder);
}
@Override
public void setAudioStreamType(int streamtype) {
mMediaPlayer.setAudioStreamType(streamtype);
}
@Override
public void setDataSource(Context context, Uri uri) {
// TODO Auto-generated method stub
if (mState == STATE_IDLE) {
try {
mMediaPlayer.setDataSource(uri.toString());
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
mState = STATE_INITIALIZED;
} else {
System.out.println("error!call setDataSource() in state " + mState);
}
}
@Override
public void setDataSource(String path) {
if (mState == STATE_IDLE) {
try {
mMediaPlayer.setDataSource(path);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
mState = STATE_INITIALIZED;
} else {
System.out.println("ijkmediaplayer,error!call setDataSource() in state " + mState);
}
}
@Override
public void setOnBufferingUpdateListener(IMyPlayer.OnBufferingUpdateListener l) {
final IMyPlayer.OnBufferingUpdateListener tempListener = l;
mOnBufferingUpdateListener = new IjkMediaPlayer.OnBufferingUpdateListener() {
@Override
public void onBufferingUpdate(
tv.danmaku.ijk.media.player.IMediaPlayer arg0, int arg1) {
// TODO Auto-generated method stub
tempListener.onBufferingUpdate(JkMediaPlayer.this, arg1);
System.out.println("ijkmediaplayer,onBufferingUpdate " + arg1);
}
};
mMediaPlayer.setOnBufferingUpdateListener(mOnBufferingUpdateListener);
}
@Override
public void setOnCompletionListener(IMyPlayer.OnCompletionListener l) {
final IMyPlayer.OnCompletionListener tempListener = l;
mOnCompletionListener = new IjkMediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(
tv.danmaku.ijk.media.player.IMediaPlayer arg0) {
// TODO Auto-generated method stub
tempListener.onCompletion(JkMediaPlayer.this);
System.out.println("ijkmediaplayer,onCompletion ");
mState = STATE_PLAYBACK_COMPLETE;
}
};
mMediaPlayer.setOnCompletionListener(mOnCompletionListener);
}
@Override
public void setOnInfoListener(IMyPlayer.OnInfoListener l) {
final IMyPlayer.OnInfoListener tempListener = l;
mOnInfoListener = new IjkMediaPlayer.OnInfoListener() {
@Override
public boolean onInfo(
tv.danmaku.ijk.media.player.IMediaPlayer arg0, int arg1,
int arg2) {
// TODO Auto-generated method stub
System.out.println("ijkmediaplayer,onInfo " + arg1);
return tempListener.onInfo(JkMediaPlayer.this, arg1, arg2);
}
};
mMediaPlayer.setOnInfoListener(mOnInfoListener);
}
@Override
public void setOnPreparedListener(IMyPlayer.OnPreparedListener l) {
final IMyPlayer.OnPreparedListener tempListener = l;
mOnPreparedListener = new IjkMediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(tv.danmaku.ijk.media.player.IMediaPlayer arg0) {
// TODO Auto-generated method stub
mState = STATE_PREPARED;
System.out.println("ijkmediaplayer,onPrepared ");
tempListener.onPrepared(JkMediaPlayer.this);
}
};
mMediaPlayer.setOnPreparedListener(mOnPreparedListener);
}
@Override
public void setOnSeekCompleteListener(IMyPlayer.OnSeekCompleteListener l) {
final IMyPlayer.OnSeekCompleteListener tempListener = l;
mSeekCompleteListener = new IjkMediaPlayer.OnSeekCompleteListener() {
@Override
public void onSeekComplete(
tv.danmaku.ijk.media.player.IMediaPlayer arg0) {
// TODO Auto-generated method stub
tempListener.onSeekComplete(JkMediaPlayer.this);
System.out.println("ijkmediaplayer,onSeekComplete ");
}
};
mMediaPlayer.setOnSeekCompleteListener(mSeekCompleteListener);
}
@Override
public void setOnVideoSizeChangedListener(IMyPlayer.OnVideoSizeChangedListener l) {
final IMyPlayer.OnVideoSizeChangedListener tempListener = l;
mVideoSizeChangedListener = new IjkMediaPlayer.OnVideoSizeChangedListener() {
@Override
public void onVideoSizeChanged(
tv.danmaku.ijk.media.player.IMediaPlayer arg0, int arg1,
int arg2, int arg3, int arg4) {
// TODO Auto-generated method stub
System.out.println("ijkmediaplayer,onVideoSizeChanged "+arg1+" , " +arg2);
tempListener.onVideoSizeChanged(JkMediaPlayer.this, arg1, arg2);
}
};
mMediaPlayer.setOnVideoSizeChangedListener(mVideoSizeChangedListener);
}
@Override
public void setScreenOnWhilePlaying(boolean screenOn) {
try {
mMediaPlayer.setScreenOnWhilePlaying(screenOn);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
@Override
public void setOnFlagErrorListener(OnFlagErrorListener l) {
// TODO Auto-generated method stub
final IMyPlayer.OnFlagErrorListener tempListener = l;
mOnFlagErrorListener = new IjkMediaPlayer.OnErrorListener() {
@Override
public boolean onError(
tv.danmaku.ijk.media.player.IMediaPlayer arg0, int arg1,
int arg2) {
// TODO Auto-generated method stub
mState = STATE_ERROR;
System.out.println("ijkmediaplayer,onError " + arg1);
return tempListener.onFlagError(JkMediaPlayer.this, arg1, arg2);
}
};
mMediaPlayer.setOnErrorListener(mOnFlagErrorListener);
}
@Override
public void setSurfaceAndPos(Surface surface, int x, int y) {
// TODO Auto-generated method stub
}
@Override
public int getBufferProgress() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void setSurfaceType(SurfaceView surface) {
// TODO Auto-generated method stub
surface.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public MediaInfo getMediaInfo(){
return mMediaPlayer.getMediaInfo();
}
}
然后用之播放代码:
@Override
public void onClick(View arg0) {
switch (arg0.getId()) {
case R.id.play1:
videoUrl = http://192.168.1.102/mpeg2.ts;
System.out.println("url:"+videoUrl);
try {
mMediaPlayer.reset();
mMediaPlayer.setDataSource(videoUrl);
mMediaPlayer.setDisplay(mHolder);
mMediaPlayer.prepareAsync();
}catch (Exception e) {
e.printStackTrace();
System.out.println("Exception:"+ e);
}
break;
case R.id.play2:
videoUrl = http://192.168.1.102/h264.mp4;
System.out.println("url:"+videoUrl);
try {
mMediaPlayer.reset();
mMediaPlayer.setDataSource(videoUrl);
mMediaPlayer.setDisplay(mHolder);
mMediaPlayer.prepareAsync();
}catch (Exception e) {
e.printStackTrace();
System.out.println("Exception:"+ e);
}
break;
case R.id.info:
MediaInfo mediainfo=mMediaPlayer.getMediaInfo();
//String videoInfo =mediainfo.mMediaPlayerName + " - " + mediainfo.mVideoDecoderImpl +" - " + mediainfo.mVideoDecoder;
String videoInfo;
videoInfo = mediainfo.mMediaPlayerName;
videoInfo = "-2- " + videoInfo + " : " + mediainfo.mVideoDecoderImpl +" - " + mediainfo.mVideoDecoder;
videoInfo = videoInfo + " : " + mediainfo.mAudioDecoderImpl +" - " + mediainfo.mAudioDecoder;
mInfoText.setText(videoInfo);
System.out.println("decoderInfo: "+ videoInfo);
break;
default:
break;
}
}
Does it work when you use same code with "new AndroidMediaPlayer();"
用android mediaplayer正常,但是不能播放出MPEG2视频,因为不支持mpeg2.
此问题暂时解决方法是先在reset之前调用surface的setVisibility
mSurfaceView.setVisibility(View.GONE);
mSurfaceView.setVisibility(View.VISIBLE);
mMediaPlayer.reset();
mMediaPlayer.setDataSource(videoUrl);
mMediaPlayer.setDisplay(mHolder);
mMediaPlayer.prepareAsync();
但是每次换datasource时会黑一下屏
Usually, it happens when previous stream was played without MediaCodec support or some error occured. Like this (broken link):
D/IJKMEDIA﹕ ffpipenode_create_video_output_from_android_mediacodec()
D/IJKMEDIA﹕ ijkmp_prepare_async()=0
I/IJKMEDIA﹕ SDL_RunThread: [27832] ff_read
W/IJKMEDIA﹕ HTTP error 404 Not Found
E/IJKMEDIA﹕ http://iptvsite.tv/iptv/100/index.m3u8: Server returned 404 Not Found
D/IJKMEDIA﹕ FFP_MSG_ERROR: 0
E/tv.danmaku.ijk.media.player.IjkMediaPlayer﹕ Error (-10000,0)
D/PlayerIjk﹕ Player releasing
D/IJKMEDIA﹕ IjkMediaPlayer_reset
D/IJKMEDIA﹕ IjkMediaPlayer_release
After this, somethimes, it can't utilize MediaCodec with working stream with such log:
I/tv.danmaku.ijk.media.player.IjkMediaPlayer﹕ selected codec: OMX.amlogic.avc.decoder.awesome rank=800
D/IJKMEDIA﹕ SDL_AMediaCodecJava_createByCodecName
W/ALooperRoster﹕ ALooper::handler_id ALooperRoster::registerHandler 5
W/ALooperRoster﹕ ALooper::handler_id ALooperRoster::registerHandler 6
I/OMXClient﹕ Using client-side OMX mux.
D/IJKMEDIA﹕ SDL_AMediaCodecJava_init
D/IJKMEDIA﹕ SDL_AMediaCodecJava_configure_surface
E/IJKMEDIA﹕ configure 0x206002b2 0x2070037e
E/MediaCodec﹕ native_window_api_connect returned an error: Invalid argument (-22)
W/System.err﹕ java.lang.IllegalStateException
W/System.err﹕ at android.media.MediaCodec.native_configure(Native Method)
W/System.err﹕ at android.media.MediaCodec.configure(MediaCodec.java:262)
W/System.err﹕ at dalvik.system.NativeStart.run(Native Method)
E/IJKMEDIA﹕ reconfigure_codec_l:configure_surface: failed
I/IJKMEDIA﹕ SDL_AMediaCodecJava_delete
I/IJKMEDIA﹕ VideoCodec: avcodec, h264
W/IJKMEDIA﹕ fps: 25.000000 (normal)
W/IJKMEDIA﹕ fps: 25.000000 (normal)
D/IJKMEDIA﹕ FFP_MSG_VIDEO_SIZE_CHANGED: 1920, 1080
D/IJKMEDIA﹕ FFP_MSG_SAR_CHANGED: 1, 1
D/IJKMEDIA﹕ ijkmp_get_msg: FFP_MSG_PREPARED
D/IJKMEDIA﹕ FFP_MSG_PREPARED:
I/IJKMEDIA﹕ SDL_RunThread: [27883] ff_video_dec
D/IJKMEDIA﹕ FFP_MSG_VIDEO_ROTATION_CHANGED: 0
I/PlayerIjk﹕ Detected video size 1920 x 1080
I/PlayerIjk﹕ Detected video size 1920 x 1080
D/IJKMEDIA﹕ IjkMediaPlayer_start
D/IJKMEDIA﹕ ijkmp_start()
D/IJKMEDIA﹕ ijkmp_start()=0
D/IJKMEDIA﹕ ijkmp_get_msg: FFP_REQ_START
D/IJKMEDIA﹕ ijkmp_get_msg: FFP_REQ_START
But after waiting a minute it can play the same stream with MediaCodec OK.
Feel free to reopen if any more question.
机器本身可以硬解H264但不能硬解mpeg2。 当先播放mpeg2视频时avcodec可以正常播放,切换播放H264时设置硬解后mediacodec失败只能是avcodec。