bilibili / bilibili/ijkplayer

something wrong with ijk codec

Open
#2,736 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
33.2k
Forks
8.2k
PR merge metrics
No merged PRs in 30d

Description

My device is HTC (e9pw) .The chipset is MT6795.
When I play a stream video use m3u8, the screen is black all the time.
I trace the log, maybe mediacodec is not work usually.

But in other device is OK, and if i save the stream video into my own device, the format is .mp4, it is also played quite normal.

Log
` Duration:
I/IJKMEDIA: 00:05:26.00
I/IJKMEDIA: , start:
I/IJKMEDIA: 0.000000
I/IJKMEDIA: , bitrate:
I/IJKMEDIA: 0 kb/s
I/IJKMEDIA: Program 0
I/IJKMEDIA: Metadata:
I/IJKMEDIA: variant_bitrate :
I/IJKMEDIA: 0
I/IJKMEDIA: Stream #0:0
I/IJKMEDIA: : Video: h264 ([27][0][0][0] / 0x001B), yuv420p, 1280x346 [SAR 519:520 DAR 48:13]
I/IJKMEDIA: ,
I/IJKMEDIA: 23.98 fps,
I/IJKMEDIA: 23.98 tbr,
I/IJKMEDIA: 90k tbn,
I/IJKMEDIA: 47.95 tbc
I/IJKMEDIA: Metadata:
I/IJKMEDIA: variant_bitrate :
I/IJKMEDIA: 0
I/IJKMEDIA: Stream #0:1
I/IJKMEDIA: : Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
I/IJKMEDIA: Metadata:
I/IJKMEDIA: variant_bitrate :
I/IJKMEDIA: 0
I/IJKMEDIA: SDL_Android_AudioTrack: CHANNEL_OUT_STEREO
I/IJKMEDIA: SDL_Android_AudioTrack: ENCODING_PCM_16BIT
I/IJKMEDIA: SDL_Android_AudioTrack_new_from_spec: init volume as 1.000000/(0.000000,1.000000)
I/IJKMEDIA: audio_session_id = 76
I/IJKMEDIA: AudioCodec: avcodec, aac
I/IJKMEDIA: SDL_RunThread: [9857] ff_aout_android
I/IJKMEDIA: SDL_RunThread: [9858] ff_audio_dec
D/IJKMEDIA: ffpipenode_create_video_decoder_from_android_mediacodec()
I/IJKMEDIA: API-Level: 21
I/IJKMEDIA: ffpipenode_create_video_decoder_from_android_mediacodec: MediaCodec: H264_HIGH: enabled
I/IJKMEDIA: AMediaFormat: video/avc, 1280x346
D/IJKMEDIA: SDL_AMediaFormatJava_createVideoFormat
E/IJKMEDIA: csd-0: naked
I/IJKMEDIA: amc: rotate notify: 0
D/IJKMEDIA: ffpipeline_select_mediacodec_l
D/IJKMEDIA: FFP_MSG_VIDEO_ROTATION_CHANGED: 0
I/tv.danmaku.ijk.media.player.IjkMediaPlayer: onSelectCodec: mime=video/avc, profile=100, level=31
D/IJKMEDIA: ffpipeline_set_surface_need_reconfigure_l(0)
I/IJKMEDIA: feed_input_buffer: same surface, reuse previous surface
E/ACodec: [OMX.MTK.VIDEO.DECODER.AVC] ERROR(0x80001005)
E/ACodec: signalError(omxError 0x80001005, internalError -2147483648)
E/MediaCodec: Codec reported err 0xfffffbb1, actionCode 0, while in state 6
E/IJKMEDIA: SDL_AMediaCodecJava_dequeueInputBuffer: dequeueInputBuffer failed
I/IJKMEDIA: SDL_AMediaCodecJava_dequeueOutputBuffer: Exception
E/IJKMEDIA: SDL_AMediaCodecJava_dequeueInputBuffer: dequeueInputBuffer failed
E/IJKMEDIA: SDL_AMediaCodecJava_dequeueInputBuffer: dequeueInputBuffer failed
E/IJKMEDIA: SDL_AMediaCodecJava_dequeueInputBuffer: dequeueInputBuffer failed
E/IJKMEDIA: SDL_AMediaCodecJava_dequeueInputBuffer: dequeueInputBuffer failed
E/IJKMEDIA: SDL_AMediaCodecJava_dequeueInputBuffer: dequeueInputBuffer failed
E/IJKMEDIA: feed_input_buffer: SDL_AMediaCodec_getInputBuffer failed
I/IJKMEDIA: MediaCodec: enqueue_thread_func: exit: -1
I/IJKMEDIA: SDL_JNI_DetachThreadEnv: [9879]`

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the m3u8 playback failure on the HTC e9pw with the MT6795, then compare it with the working saved .mp4 case. Start from the MediaCodec H264 log, especially the OMX.MTK.VIDEO.DECODER.AVC error and failed buffer operations; done means the stream displays correctly on the affected device without those failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
android
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.