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
frame buffer cycling when switching between surfaces on certain devices #6331
Comments
Can you please capture a full bug report (adb bugreport) just after this happens so we can look into the full logs? |
Sure, I provided one by mail 👍 |
Thanks! Seems like the hardware codec produces a problem. I'm not going to post contents publicly here from what you sent by email. But you can find the native exception of the hardware codec in your bug report at 08-28 11:25:50.535. This explains why the workaround of your app works, as with this you are using the software codec renderer. Seems like a candidate for the deviceNeedsSetOutputSurfaceWorkaround workaround. For the device of the bug report you sent I get this line from ExoPlayerImpl when it's created: So the device name to add to the workaround list would be
Can you add this to the source code of MediaCodecVideoRenderer yourself? Just for testing if it helps (and to get you a quick solution in case it helps). I can do this myself but I need to get such a device first for testing. If you confirm that it works with the workaround I'll add the device to the list myself, so it will be in future releases. |
Yes I could solve the issue by activating the workaround on this device. Same applies to P20
Do you need a p20 bugreport as well to add it to the workaround list? |
Ok, cool. Did you physically test with all of these devices and did you find that these are not working without the workaround? I'd be great if, once you released your app, you could update this issue an confirm success for these devices, so we can see what devices to put in the list on our side. |
We, unfortunately, only could test physically on Honor 10 and P20. Sure! I will let you know. |
Note that just adding |
Sure, I have just inherited the Renderer and my setup now looks like this:
|
As described in #6294 (comment) this issue does not belong to #6294 and should be handled separately. It actually does not effect our product and it was just a finding during the ANR investigration. We could reproduce this cycling issue on |
Issue description
Along with #6294 we discovered frame renderings on previous defined surfaces when changing the surface during playback. This happens on two of our test devices (Honor 10 and Huawei P20)
Reproduction steps
Just run the test application https://github.com/stetro/exoplayer-test on one of the devices (maybe its also happending on mate 10 pro). And press the switch button to switch surfaces during the playback. Activating the Surface workaround in MainActivity resolves the issue.
Link to test content
https://github.com/stetro/exoplayer-test
A full bug report captured from the device
Example Video is send by mail.
Version of ExoPlayer being used
2.10.4
Device(s) and version(s) of Android being used
Honor 10 Android 8
Huawei P20 Android 9
The text was updated successfully, but these errors were encountered: