Skip to content

Black artifacts during SurfaceView resize animation with secure decoder in tunneling mode #3070

@ggabdol

Description

@ggabdol

Version

1.3.1

Device / Android Version

An Android TV device / API Level 34


Issue Summary

When using SurfaceView with a secure decoder in tunneling mode, animating the SurfaceView size from small to fullscreen (unsqueeze) produces visible black artifacts along the edges during the transition.

Image
Image

The reverse direction (squeeze: fullscreen → small) does NOT exhibit this issue, because the video buffer is always larger than or equal to
the shrinking hole.

YouTube app on the same device:

I also observed the same black artifacts in the YouTube app on the same device when performing the same unsqueeze animation (small →
fullscreen). This suggests the issue is not specific to our implementation but rather a fundamental platform-level limitation.

Image
Image


Related Issues

I searched both androidx/media and google/ExoPlayer repositories extensively. I found no existing issue that addresses this exact scenario (SurfaceView resize animation + secure decoder + tunneling mode).


Question

  1. Is there any known workaround or recommended approach within media3 to eliminate or reduce black artifacts when animating SurfaceView size with a secure decoder in tunneling mode?

  2. Is there any mechanism to synchronize the View hole expansion with the Surface buffer resize so that the hole never exceeds the buffer area during animation?

  3. Would it be feasible for media3 to provide an API or utility that handles smooth SurfaceView resize animations, particularly for secure playback scenarios where TextureView is not an option?

  4. Is this considered a known platform limitation with no current solution?

Any guidance or insight would be greatly appreciated. Thank you.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions