ExoPlayer
ExoPlayer copied to clipboard
Add skip surplus outBuffer for amlogic #10445
Thanks for the PR. In #10445 we said that we should follow up with Amlogic to see if the problem can be prevented entirely instead of just adding a workaround. So ideally, this change isn't needed at all.
In addition, we have pending work to remove the decodeOnlyPresentationTimestamps
list, which means this change is also not needed eventually. But depending on when we make this larger change, we may want to merge this type of workaround in the meantime. I'll leave it open until we hear more about the problem from Amlogic.
Thanks @WontsonWong the latest pull request looks better, it is missing the first frame render so the seek resolution time is perceived to be longer.
One more thing to consider, the proposed solution (to turn off the auto frame rate conversion) is still better because up-converting the 30FPS to 60FPS adds to the CPU load and provides little or no visual benefit to the video quality. As you can see from this bug https://github.com/google/ExoPlayer/issues/6284 we are seeing issues with some AmLogic SoC Android TV boxes with frame dropping because of thermal throttling of the CPU.
@WontsonWong any movement on answering these two questions:
- Is it possible to turn off the AmLogic auto frame rate up conversion with a property (like
auto-frc
), now or in some future code? - What encoding parameters in the source video trigger the feature? (as we don't see it in our 1080p30 streams but the test stream I've provided in the bug certainly does)?
If you read @icbaker 's comment here; https://github.com/google/ExoPlayer/issues/10445#issuecomment-1202926619 it is clear this feature violates the MediaCodec API.
Thanks!
@stevemayhew 1.As far as I know, there is none 2.1080P && (25fps || 2997fps)
@tonihei and @icbaker See https://github.com/google/ExoPlayer/issues/10445#issuecomment-1208437362 on the bug this fixes. Bottom line, this pull request is not needed.
I would encourage simplifying the logic to determine decode only to avoid depending on MediaCodec
. Happy to review and / or test any changes like this from Google's side.
@WontsonWong if you could share more on what this change was from AMLogic:
SEI / AMLogic determined that the issue was specifically happening on during tuning when the 1080 P bitrate profile was invoked on tune, so AMLogic was able to turn off the "forced I-Frame" function in this case
I'm sure the teams involved here would be grateful. Thanks!
.
I'm closing this because as noted above this doesn't seem like the best way to fix the issue.