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

Unable to play 1080p videos on low end devices. #4966

Closed
LuizEdgar opened this issue Oct 16, 2018 · 1 comment
Closed

Unable to play 1080p videos on low end devices. #4966

LuizEdgar opened this issue Oct 16, 2018 · 1 comment
Assignees
Labels

Comments

@LuizEdgar
Copy link

Issue Description

Playing 1080p videos on low end devices won't work.

This error appears on logcat:
Caused by: java.lang.IllegalStateException at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method) at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:1033)

*Complete error and logcat attached.

The bug appears on 1080p videos, but also on HLS videos when the 1080p resolution is active. Playing 720p works fine.

Reproduction Steps

I've found the bug in my app, but using the ExoPlayer demo app is possible to reproduce the error.
You can reproduce the error just playing the following videos already in the demo app on reported devices:

Misc > Screens 1080p (FMP4,H264, No Audio) (https://storage.googleapis.com/exoplayer-test-media-1/gen-3/screens/dash-vod-single-segment/video-137.mp4)

I've also sent to dev.exoplayer@gmail.com the link to my media (other 1080p and HLS with 1080p).

Link to test content

Sent to dev.exoplayer@gmail.com

Version of ExoPlayer being used

ExoPlayer 2.9.0

Device(s) and version(s) of Android being used

  • Sony C2004 - Android 4.3, API 18
  • Samsung SM-J12OH - Android 5.1.1, API 22

The error is different within the two devices.

A full bug report captured from the device

bugreport and logcat sent to dev.exoplayer@gmail.com

@andrewlewis andrewlewis self-assigned this Oct 16, 2018
@andrewlewis
Copy link
Collaborator

I think this is just a case of the decoders not being capable of decoding the input. Please consult the Android CDD for information on the minimum requirements you can assume are met on all Android devices for a given platform version.

Looking at the logging from the Samsung device, E/SPRDAVCDecoder( 183): [1920,1088] is out of range [1280, 1023], failed to support this format. suggests that the decoder's maximum resolution is less than 1080p, and logging like D/MediaCodecInfo(26638): NoSupport [sizeAndRate.support, 1920x1080x-1.0] is output when the codec doesn't advertise support for the input resolution.

You could also try playing these streams with MediaPlayer to confirm that they aren't decodable on the device, like: adb shell am start -a android.intent.action.VIEW -d "URL goes here" -t "video/*".

@google google locked and limited conversation to collaborators May 16, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants