You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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");
}
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?
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
@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.
@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.
@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.
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.
@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 ?
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.
Activity
microkatz commentedon Oct 5, 2023
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!
donchummar commentedon Oct 6, 2023
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/1tidoemanuele commentedon Oct 17, 2023
@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
needsIgnorePerformancePointsWorkaroundwill 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.
donchummar commentedon Oct 18, 2023
@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
tidoemanuele commentedon Oct 18, 2023
@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.
microkatz commentedon Oct 18, 2023
@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.
donchummar commentedon Oct 19, 2023
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)
Fallback to legacy sizerate check for H264 if CDD PerfPoint check fails
Fallback to legacy sizerate check for H264 if CDD PerfPoint check fails
microkatz commentedon Oct 24, 2023
Hello @donchummar,
I pushed the commit 4515a0c into the main branch that should hopefully address your issue. Please let me know if that helps!
donchummar commentedon Oct 30, 2023
@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 ?
microkatz commentedon Oct 30, 2023
@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.
microkatz commentedon Nov 1, 2023
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.