-
Notifications
You must be signed in to change notification settings - Fork 6k
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
E/MediaCodecVideoRenderer: Video codec error #9476
Comments
Thanks for the repro project. I tried it on a Pixel 5 and backgrounded the app a few times during both ad and content playback and didn't see any failures. Are there more specific repro steps I should be taking? What device(s) do you see this problem on? Could you capture an |
@icbaker Oh, sorry I've forgotten to specify list of devices. Pixels and Android Emulators work perfectly as usual but I have this issue on Pixel 2 XL( Android 10), Xiaomi Redmi note 7 Pro 10 (Android 10), Galaxy Tab S2 SM-T810 (Android 7), Galaxy S8 (Android 9). bugreport-2021-09-23-18-05-08.zip I can record a video if you need. |
That would be really helpful, just so i can understand exactly when the failure happens. Thanks! |
20210924_092214.mp4 |
Thanks for the video, I didn't realise you were waiting for the ads to fully play out while the app was in the background. I'm now able to reproduce a failure on both a Pixel 5 and a OnePlus AC2003 by:
Turns out there's another bug in
I've sent a fix for this, it should be linked below shortly. As a workaround I was able to make things work on a Pixel 5 by calling
|
The fix for Issue: #8776 was to release and null-out dummySurface if it doesn't match the security level of the decoder. But it's possible that this.surface is already set to this.dummySurface, in which case we must also null out this.surface otherwise we will later try and re-use the old, released DummySurface instance. This logic already exists in MCVR#onReset, so I pulled it into a releaseDummySurface() helper function. Issue: #9476 #minor-release PiperOrigin-RevId: 399420476
@icbaker Hi. setDrmSessionForClearPeriods(true) - workaround has helped me, on the one hand it's pretty restricted solution because when VAST contains webm format, so IMA SDK can return this format for playing, for instance, Samsung devices do not select secure decoder for playing webm format (OMX.Exynos.vp8.dec) as a result I am stuck with the same error. On the other hand Sony F3112 Android 7 uses OMX.MTK.VIDEO.DECODER.AVC with mp4 it means that setDrmSessionForClearPeriods does not help at all. |
Hello. I've stuck with this error. Full description:
Shortly speaking, A VideoService holds my player inside to support background playing that is when an application is in the background. When the application goes to the background mode ad must play. When player intents to change source in the background mode I have this error. I think that it can be similar with this issue #8776 which had been fixed.
https://github.com/KostyaLyapochkin/ExoPlayerErrorExample - I've pushed new commit with tag #9476.
Please, Take a look.
The text was updated successfully, but these errors were encountered: