Skip to content

Low resolution on HD streams since v2.18.2 #693

Closed

Description

@donchummar

Version

Media3 1.1.1

More version details

I observed the identical behavior described in this GitHub issue: google/ExoPlayer#10898. It appears that you maintain a list of devices that bypass certain performance points. I conducted a test by including the device model in the list, and this resolved the issue. I am including the relevant code below for your reference.

MediaCodecInfo

 private static boolean needsIgnorePerformancePointsWorkaround() {
   // See https://github.com/google/ExoPlayer/issues/10898 and [internal ref: b/267324685].
   return /* Chromecast with Google TV */ Util.DEVICE.equals("sabrina")
       || Util.DEVICE.equals("boreal")
       /* Lenovo Tablet M10 FHD Plus */
       || Util.MODEL.startsWith("Lenovo TB-X605")
       || Util.MODEL.startsWith("Lenovo TB-X606")
       || Util.MODEL.startsWith("Lenovo TB-X616")
    // Added by me 
       || Util.MODEL.startsWith("SM-T733");
 }  

Devices that reproduce the issue

Galaxy Tab S7 FE
Model name : SM-T733

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

Not tested

Reproduction steps

Play widewine drm asset with more than 30fps

Expected result

It should select max resolution available

Actual result

Stuck with lowest resolution available

Media

.

Bug Report

Activity

  1. microkatz commented on Oct 5, 2023

    @microkatz
    Contributor

    Hi @donchummar,

    Could you provide additional details of the content you were trying to play? Can you provide the resolutions and framerates that were available. The resolution and framerate you expected to be playable and the actual resultant selection?

    Thanks!

  2. self-assigned this
    on Oct 5, 2023
  3. donchummar commented on Oct 6, 2023

    @donchummar
    Author

    The content i am playing having multiple resolution available
    480x270 with framerate 50/1
    640x360 with framerate 50/1
    960x540 with framerate 50/1
    1920x1080 with framerate 50/1
    1280x720 with framerate 50/1

    with latest exo player version on that samsung galaxy s7 fe tab , its selecting 480x270 with framerate 50/1 instead of 1920x1080 with framerate 50/1

    But when i add the device to needsIgnorePerformancePointsWorkaround , it is picking up 1920x1080 with framerate 50/1

  4. tidoemanuele commented on Oct 17, 2023

    @tidoemanuele
    Contributor

    @donchummar Unfortunately, if you add the Galaxy S7 to that function, it may attempt to play content at the highest resolution.
    This could lead to several issues, including overheating, excessive battery drain, and, of course, rendering performance problems.
    I hope that the needsIgnorePerformancePointsWorkaround will be eliminated and replaced with a more refined logic. Ideally, this new logic would allow us to set a tolerance value that would give some consideration to the PerformancePoints without completely disregarding them.
    This is significant because the Galaxy S7 or another device may handle 1280x720@50 smoothly, but could encounter difficulties when attempting to handle 1920x1080@50.

  5. donchummar commented on Oct 18, 2023

    @donchummar
    Author

    @tidoemanuele Can you provide a approximate time frame of getting it fixed with a more refined logic. because we are blocked by this issue for going with our next release since galaxy s7 is one of the popular device on market.

    Thanks

  6. tidoemanuele commented on Oct 18, 2023

    @tidoemanuele
    Contributor

    @donchummar I wrote my own CustomMediaCodecVideoRenderer following the @tonihei explanation on how I can do it my way:
    google/ExoPlayer#10898 (comment)
    But this is not the player team vision so as you I would like to have an official solution coming directly from the player team.

  7. microkatz commented on Oct 18, 2023

    @microkatz
    Contributor

    @donchummar

    Thank you for your patience and continued discussion here for a solution. We are still working on figuring out an official solution for this type of problem.

    One thing that could help is what was the encoding of the content you were trying to play? You described the resolutions and framerates here but did not say what codec was of your content.

  8. donchummar commented on Oct 19, 2023

    @donchummar
    Author

    we have been trying to play dash avc drm protected and stuck on lowest resoluton, if not drm protected its working fine and able to play 1080p (HLS)

  9. microkatz commented on Oct 24, 2023

    @microkatz
    Contributor

    Hello @donchummar,

    I pushed the commit 4515a0c into the main branch that should hopefully address your issue. Please let me know if that helps!

  10. donchummar commented on Oct 30, 2023

    @donchummar
    Author

    @microkatz Thanks you so much for the fix , i have verified and it working perfectly fine with this commit, does it comes with upcoming 1.2.0 release ?

  11. microkatz commented on Oct 30, 2023

    @microkatz
    Contributor

    @donchummar

    I am sorry but the 1.2.0 release had already been cut. The commit may be pulled into a bug fix release of 1.2.1 and I can message here if that becomes the the case.

  12. microkatz commented on Nov 1, 2023

    @microkatz
    Contributor

    I'm going to close this issue as the fix did solve the problem. Please open up a new issue if it did not or you have additional questions.

  13. locked and limited conversation to collaborators on Jan 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions