Open okycelt opened 4 weeks ago
Thank you for reporting. I'm afraid I'm not able to reproduce the issue on my Pixel 7a.
I see the subtitles in your media are application/dvbsubs
which is a bitmap-based subtitle format. When subtitles are parsed during rendering we decode to a Bitmap
object on a standalone thread. When they are parsed during extraction we originally decode to a Bitmap
on the loading thread (which is OK to do heavy work on) and then serialize them to bytes in the SampleQueue
, before parsing them back to a Bitmap
on the playback thread in the renderer. I'm wondering if the issue you're seeing could be related to time spent decoding the Bitmap
on the playback thread.
Do you have a more powerful device you could try on (maybe a phone rather than a TV/STB?), to confirm that you're also unable to repro in that case? This would give us some signal that this only occurs on low-powered devices.
In addition to the question above, could you also describe in more detail what exactly "pixelated" means in this case? That probably helps to understand where the problem is exactly.
Do you have a more powerful device you could try on (maybe a phone rather than a TV/STB?), to confirm that you're also unable to repro in that case? This would give us some signal that this only occurs on low-powered devices.
I've just tested on a Pixel 3a (Android 12) and a Lenovo TB-X606F (Android 10) and both devices played without issue. In both cases, I played the content from local storage.
In addition to the question above, could you also describe in more detail what exactly "pixelated" means in this case? That probably helps to understand where the problem is exactly.
Is the video output of a lower resolution than expected?
No
Does the video output have artefacts (for example green pixels)?
Yes, but not green pixels. Please see the attached video https://github.com/user-attachments/assets/aed91369-8509-45e3-8cab-95ae53bd5102
Is something wrong with the timing of the video (e.g. dropped frames, delayed frames, wrong A/V sync)?
There are often dropped frames following the audio sink errors, EventLogger
also reports them. A/V sync seems to be correct when the video output has no artefacts.
Is audio playback working correctly (given your error log about audio discontinuities)?
Audio seems to be playing without glitches despite the audio sink errors
If you'd like us to test something, feel free to ask.
Version
Media3 1.4.0
More version details
The first commit with this issue is 0352db9. We weren't able to reproduce with 5c6f48e.
Devices that reproduce the issue
Devices that do not reproduce the issue
Reproducible in the demo app?
Yes
Reproduction steps
Play the file sent via email in Media3 demo app (either from local storage or via UDP).
Parsing subtitles during rendering fixes the issue:
Expected result
The media plays without pixelating even when subtitles are parsed during extraction
Actual result
The media is pixelating with the following error in the logcat every time there is a pixelation in the video
Media
Sent via email
Bug Report
adb bugreport
to android-media-github@google.com after filing this issue.