androidx / androidx/media

Composition Player Multiple Issues when seeking in PIP and grid mode

Open
#2,439 35 comments 0 reactions 1 assignee View on GitHub

@droid-girl is already working on this.

Since May 19, 2025.

bug editing preview
Dominant language
Java
Stars
3k
Forks
955
Avg merge
12d 14h
Merged PRs (30d)
2

Description

Version

Media3 main branch

More version details

I am trying the new 1.7.0/1.8.0(there was some problem in the version numbers) code

When we seek the video It works fine in sequential media, but crashes in 2/2 grid and pip mode

Devices that reproduce the issue

Pixel 9 pro xl upsidedowncupcake emulator
samsung galaxy tab A7 lite sm-t225 android 14

Devices that do not reproduce the issue

N/A

Reproducible in the demo app?

Yes

Reproduction steps

Start the composition demo app

  1. select sequential option select media play then seek it forward/ backward works fine
  2. select Grid option select media play then seek it forward/ backward crashes
  3. select PIP option select media play then seek it forward/ backward crashes

I had reported a similar issue for the older composition player Since the Sequential video is working I assume it must have been resolved
I know composition player is still in active development , so I tried to report the problems early.
https://github.com/androidx/media/issues/1489

https://github.com/user-attachments/assets/136ac748-4c18-42cc-8524-db5e9d9b16f5

Expected result

media should play successfully in both grid and pip mode after seeking forward or backward

Actual result

Play back crashes here is the bug report

2025-05-17 14:40:42.925 23336-23336 CompositionPlayer       androidx.media3.demo.composition     E  playerFailed [eventTime=26.62, mediaPos=18.61, window=0, errorCode=ERROR_CODE_VIDEO_FRAME_PROCESSING_FAILED (Ask Gemini)
                                                                                                    androidx.media3.common.PlaybackException: Error processing video frames
                                                                                                        at androidx.media3.transformer.CompositionPlayer.maybeUpdatePlaybackError(CompositionPlayer.java:1098)
                                                                                                        at androidx.media3.transformer.CompositionPlayer.lambda$onError$2$androidx-media3-transformer-CompositionPlayer(CompositionPlayer.java:488)
                                                                                                        at androidx.media3.transformer.CompositionPlayer$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
                                                                                                        at android.os.Handler.handleCallback(Handler.java:958)
                                                                                                        at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                        at android.os.Looper.loopOnce(Looper.java:230)
                                                                                                        at android.os.Looper.loop(Looper.java:319)
                                                                                                        at android.app.ActivityThread.main(ActivityThread.java:8919)
                                                                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
                                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
                                                                                                    Caused by: androidx.media3.common.VideoFrameProcessingException: java.lang.IllegalStateException
                                                                                                        at androidx.media3.effect.VideoFrameProcessingTaskExecutor.handleException(VideoFrameProcessingTaskExecutor.java:306)
                                                                                                        at androidx.media3.effect.VideoFrameProcessingTaskExecutor.lambda$wrapTaskAndSubmitToExecutorService$3$androidx-media3-effect-VideoFrameProcessingTaskExecutor(VideoFrameProcessingTaskExecutor.java:292)
                                                                                                        at androidx.media3.effect.VideoFrameProcessingTaskExecutor$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
                                                                                                        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487)
                                                                                                        at java.util.concurrent.FutureTask.run(FutureTask.java:264)
                                                                                                        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
                                                                                                        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
                                                                                                        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
                                                                                                        at java.lang.Thread.run(Thread.java:1012)
                                                                                                    Caused by: java.lang.IllegalStateException
                                                                                                        at androidx.media3.common.util.Assertions.checkState(Assertions.java:85)
                                                                                                        at androidx.media3.effect.DefaultVideoCompositor.queueInputTexture(DefaultVideoCompositor.java:193)
                                                                                                        at androidx.media3.effect.MultipleInputVideoGraph.queuePreProcessingOutputToCompositor(MultipleInputVideoGraph.java:454)
                                                                                                        at androidx.media3.effect.MultipleInputVideoGraph.lambda$registerInput$0$androidx-media3-effect-MultipleInputVideoGraph(MultipleInputVideoGraph.java:294)
                                                                                                        at androidx.media3.effect.MultipleInputVideoGraph$$ExternalSyntheticLambda3.onTextureRendered(D8$$SyntheticClass:0)
                                                                                                        at androidx.media3.effect.FinalShaderProgramWrapper.renderFrameToOutputTexture(FinalShaderProgramWrapper.java:517)
                                                                                                        at androidx.media3.effect.FinalShaderProgramWrapper.renderFrame(FinalShaderProgramWrapper.java:464)
                                                                                                        at androidx.media3.effect.FinalShaderProgramWrapper.queueInputFrame(FinalShaderProgramWrapper.java:264)
                                                                                                        at androidx.media3.effect.FrameConsumptionManager.lambda$queueInputFrame$1$androidx-media3-effect-FrameConsumptionManager(FrameConsumptionManager.java:93)
                                                                                                        at androidx.media3.effect.FrameConsumptionManager$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
                                                                                                        at androidx.media3.effect.VideoFrameProcessingTaskExecutor.lambda$wrapTaskAndSubmitToExecutorService$3$androidx-media3-effect-VideoFrameProcessingTaskExecutor(VideoFrameProcessingTaskExecutor.java:290)
                                                                                                        at androidx.media3.effect.VideoFrameProcessingTaskExecutor$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0) 
                                                                                                        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487) 
                                                                                                        at java.util.concurrent.FutureTask.run(FutureTask.java:264) 
                                                                                                        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307) 
                                                                                                        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
                                                                                                        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) 
                                                                                                        at java.lang.Thread.run(Thread.java:1012) 
                                                                                                  ]
2025-05-17 14:40:42.954 23336-23336 CompPreviewVM           androidx.media3.demo.composition     E  Preview error (Ask Gemini)
                                                                                                    androidx.media3.common.PlaybackException: Error processing video frames
                                                                                                        at androidx.media3.transformer.CompositionPlayer.maybeUpdatePlaybackError(CompositionPlayer.java:1098)
                                                                                                        at androidx.media3.transformer.CompositionPlayer.lambda$onError$2$androidx-media3-transformer-CompositionPlayer(CompositionPlayer.java:488)
                                                                                                        at androidx.media3.transformer.CompositionPlayer$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
                                                                                                        at android.os.Handler.handleCallback(Handler.java:958)
                                                                                                        at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                        at android.os.Looper.loopOnce(Looper.java:230)
                                                                                                        at android.os.Looper.loop(Looper.java:319)
                                                                                                        at android.app.ActivityThread.main(ActivityThread.java:8919)
                                                                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
                                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
                                                                                                    Caused by: androidx.media3.common.VideoFrameProcessingException: java.lang.IllegalStateException
                                                                                                        at androidx.media3.effect.VideoFrameProcessingTaskExecutor.handleException(VideoFrameProcessingTaskExecutor.java:306)
                                                                                                        at androidx.media3.effect.VideoFrameProcessingTaskExecutor.lambda$wrapTaskAndSubmitToExecutorService$3$androidx-media3-effect-VideoFrameProcessingTaskExecutor(VideoFrameProcessingTaskExecutor.java:292)
                                                                                                        at androidx.media3.effect.VideoFrameProcessingTaskExecutor$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
                                                                                                        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487)
                                                                                                        at java.util.concurrent.FutureTask.run(FutureTask.java:264)
                                                                                                        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
                                                                                                        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
                                                                                                        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
                                                                                                        at java.lang.Thread.run(Thread.java:1012)
                                                                                                    Caused by: java.lang.IllegalStateException
                                                                                                        at androidx.media3.common.util.Assertions.checkState(Assertions.java:85)
                                                                                                        at androidx.media3.effect.DefaultVideoCompositor.queueInputTexture(DefaultVideoCompositor.java:193)
                                                                                                        at androidx.media3.effect.MultipleInputVideoGraph.queuePreProcessingOutputToCompositor(MultipleInputVideoGraph.java:454)
                                                                                                        at androidx.media3.effect.MultipleInputVideoGraph.lambda$registerInput$0$androidx-media3-effect-MultipleInputVideoGraph(MultipleInputVideoGraph.java:294)
                                                                                                        at androidx.media3.effect.MultipleInputVideoGraph$$ExternalSyntheticLambda3.onTextureRendered(D8$$SyntheticClass:0)
                                                                                                        at androidx.media3.effect.FinalShaderProgramWrapper.renderFrameToOutputTexture(FinalShaderProgramWrapper.java:517)
                                                                                                        at androidx.media3.effect.FinalShaderProgramWrapper.renderFrame(FinalShaderProgramWrapper.java:464)
                                                                                                        at androidx.media3.effect.FinalShaderProgramWrapper.queueInputFrame(FinalShaderProgramWrapper.java:264)
                                                                                                        at androidx.media3.effect.FrameConsumptionManager.lambda$queueInputFrame$1$androidx-media3-effect-FrameConsumptionManager(FrameConsumptionManager.java:93)
                                                                                                        at androidx.media3.effect.FrameConsumptionManager$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
                                                                                                        at androidx.media3.effect.VideoFrameProcessingTaskExecutor.lambda$wrapTaskAndSubmitToExecutorService$3$androidx-media3-effect-VideoFrameProcessingTaskExecutor(VideoFrameProcessingTaskExecutor.java:290)
                                                                                                        at androidx.media3.effect.VideoFrameProcessingTaskExecutor$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0) 
                                                                                                        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487) 
                                                                                                        at java.util.concurrent.FutureTask.run(FutureTask.java:264) 
                                                                                                        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307) 
                                                                                                        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
                                                                                                        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) 
                                                                                                        at java.lang.Thread.run(Thread.java:1012) 

Media

Media that is used is the one provided by Android exoplayer media3 composition demo app

Bug Report
  • You will email the zip file produced by adb bugreport to android-media-github@google.com after filing this issue.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.