Skip to content

Android 11 IncorrectContextUseViolation in VideoFrameReleaseTimeHelper #8246

@adrientetar

Description

@adrientetar

An application context is used to retrieve window manager in VideoFrameReleaseTimeHelper, which Android 11 StrictMode warns about.

Seems there's another way that should be used on recent android versions: https://github.com/microsoft/appcenter-sdk-android/pull/1429/files#diff-aeda387f31bf19cc06b12c402a17da91e0fc84cd47675e1d74164ca2fd164fdfR153-R166

IncorrectContextUseViolation: Visual services, such as WindowManager, WallpaperService or LayoutInflater should be accessed from Activity or other visual Context. Use an Activity or a Context created with Context#createWindowContext(int, Bundle), which are adjusted to the configuration and visual bounds of an area on screen.
        at android.os.StrictMode.onIncorrectContextUsed(StrictMode.java:2192)
        at android.app.ContextImpl.getSystemService(ContextImpl.java:1917)
        at android.content.ContextWrapper.getSystemService(ContextWrapper.java:803)
        at com.google.android.exoplayer2.video.VideoFrameReleaseTimeHelper.<init>(VideoFrameReleaseTimeHelper.java:76)
        at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.<init>(MediaCodecVideoRenderer.java:348)
        at com.google.android.exoplayer2.DefaultRenderersFactory.buildVideoRenderers(DefaultRenderersFactory.java:322)
        at com.google.android.exoplayer2.DefaultRenderersFactory.createRenderers(DefaultRenderersFactory.java:260)
        at com.google.android.exoplayer2.SimpleExoPlayer.<init>(SimpleExoPlayer.java:430)
        at com.google.android.exoplayer2.SimpleExoPlayer.<init>(SimpleExoPlayer.java:378)
        at com.google.android.exoplayer2.SimpleExoPlayer$Builder.build(SimpleExoPlayer.java:296)

version 2.11.7

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions