bilibili / ijkplayer

Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.
GNU General Public License v2.0
32.55k stars 8.13k forks source link

mediaplayer stopped due to "call on stream failed as HW is overloaded" #4026

Open spaul13 opened 6 years ago

spaul13 commented 6 years ago

I am getting an error "call on stream failed HW is overloaded" while using ijkplayer video decoder module. The codce module thus failed to instantiate.

I have also observed this is because of msm_vidc (video decoder driver) on Nexus 6P being overloaded.

[264064.950416] msm_vidc: err: HW is overloaded, needed: 2097152 max: 1281600 [264064.950430] msm_vidc: err: Running instances: [264064.950437] msm_vidc: err: type| w| h| fps|prop [264064.950444] msm_vidc: err: 1|4096|2048| 64|

My code is trying to decode and display video of 40962048 but from the adb shell I have seen for H264 supported max video is 38402160. Please tell me how to solve this issue. How to get rid of this problem?

Also please tell me how to change the configuration settings to get rid of this?

teddyla commented 6 years ago

See android api. CodecCapabilities

spaul13 commented 6 years ago

@teddyla, Thanks for your reply. can you please tell me how can I directly run the decoder script to the phone using adb shell? As the decoder is a C/C++ script I can generate the .out and run it on the android.

But can you please guide me how can I run the decoder module which takes a simple video as input and show/store the decoded version on the phone?

spaul13 commented 6 years ago

@teddyla @bbcallen, I have seen my J4A mediacodecInfo and buffer (bytebuffer and buffer) are not getting loaded that's why I am getting this error.

Can you tell me why is this not getting loaded?