google / ExoPlayer

An extensible media player for Android
Apache License 2.0
21.61k stars 5.99k forks source link

Device capabilities report unsupported frameRate #11345

Closed matte86 closed 4 months ago

matte86 commented 7 months ago

Hi guys,

On a Samsung Galaxy A52 4G we are seeing MediaCodecInfo.VideoCapabilities.areSizeAndRateSupported returning false for FullHD (1080p) at 50 fps, whereas from spec this device should be capable of dealing with 1920x1080 up to 60 fps.

Is there any known issue on capabilities reporting for this device?

matte86 commented 7 months ago

This is probably related also to the discussion in https://github.com/google/ExoPlayer/issues/10898

christosts commented 7 months ago

whereas from spec this device should be capable of dealing with 1920x1080 up to 60 fps

Can you point us to the spec? And what video format are you using? Eg. AVC (H264), HECV (H265) or something else?

matte86 commented 7 months ago

Hi @christosts , from what I can see from here:

video_res

We see this issue with H.264 DASH encoded streams.

christosts commented 7 months ago

Thanks. Strictly speaking, the spec says 4K@30fps and it doesn't mention 60fps. I visited the page and didn't see anything specific to 1080@60fps.

We are not aware of a problem with this devide under-reporting its capabilities.

What version of ExoPlayer are you using? ExoPlayer has switched to using [MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()](https://developer.android.com/reference/android/media/MediaCodecInfo.VideoCapabilities#getSupportedPerformancePoints()) and not MediaCodecInfo.VideoCapabilities.areSizeAndRateSupported

google-oss-bot commented 6 months ago

Hey @matte86. We need more information to resolve this issue but there hasn't been an update in 14 weekdays. I'm marking the issue as stale and if there are no new updates in the next 7 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

matte86 commented 6 months ago

Thanks for the feedback @christosts! About the following:

Thanks. Strictly speaking, the spec says 4K@30fps and it doesn't mention 60fps. I visited the page and didn't see anything specific to 1080@60fps.

I see your point but aren't usually capabilities upper-bounded? The page does not mention explicitly 1080@60fps but it refers to 4K@30fps. I can read from the PerformancePoint documentation:

Video performance points are a set of standard performance points defined by number of pixels, pixel rate and frame rate. Performance point represents an upper bound. This means that it covers all performance points with fewer pixels, pixel rate and frame rate.

christosts commented 6 months ago

I agree, hence I asked you earlier what version of ExoPlayer are you using.

What version of ExoPlayer are you using? ExoPlayer has switched to using [MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()](https://developer.android.com/reference/android/media/MediaCodecInfo.VideoCapabilities#getSupportedPerformancePoints()) and not MediaCodecInfo.VideoCapabilities.areSizeAndRateSupported()