flutter / flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond
https://flutter.dev
BSD 3-Clause "New" or "Revised" License
166.2k stars 27.49k forks source link

[android][webview_flutter] webview 'crashes' on orientation change while playing/showing a fullscreen video #139971

Closed arifje closed 10 months ago

arifje commented 11 months ago

Is there an existing issue for this?

Steps to reproduce

  1. create a webview
  2. show a videoplayer with videojs
  3. press play
  4. toggle fullscreen
  5. change orientation
  6. press the back button

Expected results

Webview with content should be shown

Actual results

Freezed screen is shown with black/white bar. Content is gone.

Code sample

html demo ``` ```

Note: I used this in a remote html file, not local html.

Screenshots or Video

Screenshots / Video demonstration https://github.com/flutter/flutter/assets/1286410/12216b11-22f3-4c4e-ac07-0d646508ce76

Logs

Logs ```console D/SurfaceUtils( 5230): disconnecting from surface 0xb40000739e80a740, reason disconnectFromSurface D/CCodecBufferChannel( 5230): [c2.android.vp8.decoder#40] MediaCodec discarded an unknown buffer I/chatty ( 5230): uid=10171(skoften.android.app) MediaCodec_loop identical 2 lines D/CCodecBufferChannel( 5230): [c2.android.vp8.decoder#40] MediaCodec discarded an unknown buffer W/cr_MediaCodecBridge( 5230): Codec released I/hw-BpHwBinder( 5230): onLastStrongRef automatically unlinking death recipients D/SurfaceUtils( 5230): disconnecting from surface 0xb40000739e86a410, reason disconnectFromSurface E/BufferQueueProducer( 5230): [MediaCodec.release](id:146e00000137,api:0,p:-1,c:5230) detachBuffer: BufferQueue has no connected producer D/BufferPoolAccessor2.0( 5230): bufferpool2 0xb4000072fe9b4cb8 : 0(0 size) total buffers - 0(0 size) used buffers - 240/247 (recycle/alloc) - 7/486 (fetch/transfer) D/BufferPoolAccessor2.0( 5230): evictor expired: 1, evicted: 1 D/AAudio ( 5230): AAudioStream_close(s#46) called --------------- D/AAudioStream( 5230): setState(s#46) from 10 to 11 D/AAudioStream( 5230): setState(s#46) from 11 to 12 W/AudioManager( 5230): Use of stream types is deprecated for operations other than volume control W/AudioManager( 5230): See the documentation of requestAudioFocus() for what to use instead with android.media.AudioAttributes to qualify your playback use case D/AAudio ( 5230): AAudioStream_close(s#46) returned 0 --------- I/AAudio ( 5230): AAudioStreamBuilder_openStream() called ---------------------------------------- I/AudioStreamBuilder( 5230): rate = 22050, channels = 1, format = 5, sharing = SH, dir = OUTPUT I/AudioStreamBuilder( 5230): device = 0, sessionId = -1, perfMode = 11, callback: ON with frames = 2048 I/AudioStreamBuilder( 5230): usage = 1, contentType = 0, inputPreset = 0, allowedCapturePolicy = 0 I/AudioStreamBuilder( 5230): privacy sensitive = false D/AudioStreamBuilder( 5230): build() MMAP not used because AAUDIO_PERFORMANCE_MODE_LOW_LATENCY not requested. D/ten.android.ap( 5230): PlayerBase::PlayerBase() D/AudioStreamTrack( 5230): open(), request notificationFrames = 2048, frameCount = 0 D/AAudioStream( 5230): setState(s#47) from 0 to 2 W/AudioStreamTrack( 5230): open() flags changed from 0x00000008 to 0x00000000 W/AudioStreamTrack( 5230): open() perfMode changed from 11 to 10 I/AAudio ( 5230): AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for s#47 ---------------- I/flutter ( 5230): Page resource error: I/flutter ( 5230): code: -1 I/flutter ( 5230): description: net::ERR_FAILED I/flutter ( 5230): errorType: WebResourceErrorType.unknown I/flutter ( 5230): isForMainFrame: false I/flutter ( 5230): D/AAudio ( 5230): AAudioStream_close(s#47) called --------------- D/AAudioStream( 5230): setState(s#47) from 2 to 11 D/AAudioStream( 5230): setState(s#47) from 11 to 12 D/AAudio ( 5230): AAudioStream_close(s#47) returned 0 --------- D/ten.android.ap( 5230): PlayerBase::~PlayerBase() ```

Flutter Doctor output

Doctor output ```console [✓] Flutter (Channel stable, 3.16.3, on macOS 13.6 22G120 darwin-arm64, locale en-NL) • Flutter version 3.16.3 on channel stable at /Users/xxx/Documents/Development/Flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision b0366e0a3f (6 days ago), 2023-12-05 19:46:39 -0800 • Engine revision 54a7145303 • Dart version 3.2.3 • DevTools version 2.28.4 [✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0) • Android SDK at /Users/xxx/Library/Android/sdk • Platform android-34, build-tools 34.0.0 • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS (Xcode 14.3.1) • Xcode at /Applications/Xcode.app/Contents/Developer • Build 14E300c • CocoaPods version 1.12.1 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Android Studio (version 2022.3) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231) [✓] VS Code (version 1.84.2) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.76.0 [✓] Connected device (3 available) • sdk gphone arm64 (mobile) • emulator-5554 • android-arm64 • Android 11 (API 30) (emulator) • macOS (desktop) • macos • darwin-arm64 • macOS 13.6 22G120 darwin-arm64 • Chrome (web) • chrome • web-javascript • Google Chrome 120.0.6099.71 [✓] Network resources • All expected network resources are available. ```
huycozy commented 11 months ago

Hi @arifje The given pastebin url is not accessible. Please provide a completed and minimal reproducible code sample that doesn’t include 3rd party plugins or complex production code so that we may verify this. Thanks!

github-actions[bot] commented 10 months ago

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. If you find this problem please file a new issue with the same description, what happens, logs and the output of 'flutter doctor -v'. All system setups can be slightly different so it's always better to open new issues and reference the related ones. Thanks for your contribution.

github-actions[bot] commented 9 months ago

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.