chewie icon indicating copy to clipboard operation
chewie copied to clipboard

Screen orientation change breaks video

Open KinokoNero opened this issue 11 months ago • 1 comments

After the video is initialized, any change in screen orientation (either by going fullscreen with forced orientation or by device rotation) the video breaks and it can no longer be played.

Handler (android.os.Handler) {ebeda42} sending message to a Handler on a dead thread java.lang.IllegalStateException: Handler (android.os.Handler) {ebeda42} sending message to a Handler on a dead thread
    at android.os.MessageQueue.enqueueMessage(MessageQueue.java:560)
	at android.os.Handler.enqueueMessage(Handler.java:786)
	at android.os.Handler.sendMessageAtTime(Handler.java:735)
	at android.os.Handler.sendMessageDelayed(Handler.java:705)
	at android.os.Handler.sendMessage(Handler.java:643)
	at android.os.Message.sendToTarget(Message.java:468)
	at androidx.media3.common.util.SystemHandlerWrapper$SystemMessage.sendToTarget(SystemHandlerWrapper.java:160)
	at androidx.media3.exoplayer.ExoPlayerImplInternal.setPlayWhenReady(ExoPlayerImplInternal.java:352)
	at androidx.media3.exoplayer.ExoPlayerImpl.updatePlaybackInfoForPlayWhenReadyAndSuppressionReasonStates(ExoPlayerImpl.java:2821)
	at androidx.media3.exoplayer.ExoPlayerImpl.updatePlayWhenReady(ExoPlayerImpl.java:2804)
	at androidx.media3.exoplayer.ExoPlayerImpl.setPlayWhenReady(ExoPlayerImpl.java:833)
	at androidx.media3.common.BasePlayer.play(BasePlayer.java:114)
	at io.flutter.plugins.videoplayer.VideoPlayer.play(VideoPlayer.java:131)
	at io.flutter.plugins.videoplayer.VideoPlayerPlugin.play(VideoPlayerPlugin.java:166)
	at io.flutter.plugins.videoplayer.Messages$AndroidVideoPlayerApi.lambda$setUp$6(Messages.java:463)
	at io.flutter.plugins.videoplayer.Messages$AndroidVideoPlayerApi$$ExternalSyntheticLambda8.onMessage(Unknown Source:2)
	at io.flutter.plugin.common.BasicMessageChannel$IncomingMessageHandler.onMessage(BasicMessageChannel.java:261)
	at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292)
	at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
	at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12)
	at android.os.Handler.handleCallback(Handler.java:958)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:205)
	at android.os.Looper.loop(Looper.java:294)
	at android.app.ActivityThread.main(ActivityThread.java:8177)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)

KinokoNero avatar Dec 17 '24 11:12 KinokoNero

This is fixed in latest flutter master branch as per this thread https://github.com/flutter/flutter/issues/156451 https://github.com/flutter/flutter/issues/160933

SAKET3901 avatar Feb 26 '25 19:02 SAKET3901