-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Closed
Labels
a: platform-viewsEmbedding Android/iOS views in Flutter appsEmbedding Android/iOS views in Flutter appsc: crashStack traces logged to the consoleStack traces logged to the consolep: mapsGoogle Maps pluginGoogle Maps pluginpackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.r: timeoutIssue is closed due to author not providing the requested details in timeIssue is closed due to author not providing the requested details in time
Description
Steps to Reproduce
- Use the latest version, say 3.1.1+3, of youtube_player plugin and apply it to one screen widget which is navigated from another screen widget.
- The player can work on that screen widget but after trying to navigate to previous page and so its dispose method will be called, this causes app crash and gets some error messages from debug output.
- If I roll back to old version, say 1.0.0, of youtube_player plugin, it can play, too. But the issue I mentioned at (2) is gone!!
- I was trying to add videoPlayerController.dispose() in dispose method but got more errors!! It seems that I need to do something more before leaving the widget.
- The major differences between 3.1.1+3 and 1.1 are 'context' property and 'videoPlayerController'.
Any idea of how I can handle this in the latest version?
Error Logs
logs
E/flutter (14986): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: A VideoPlayerController was used after being disposed.
E/flutter (14986): Once you have called dispose() on a VideoPlayerController, it can no longer be used.
E/flutter (14986): #0 ChangeNotifier._debugAssertNotDisposed.<anonymous closure> (package:flutter/src/foundation/change_notifier.dart:105:9)
E/flutter (14986): #1 ChangeNotifier._debugAssertNotDisposed (package:flutter/src/foundation/change_notifier.dart:111:6)
E/flutter (14986): #2 ChangeNotifier.dispose (package:flutter/src/foundation/change_notifier.dart:178:12)
E/flutter (14986): #3 VideoPlayerController.dispose (package:youtube_player/youtube_player.dart:327:11)
E/flutter (14986): <asynchronous suspension>
E/flutter (14986): #4 VideoPlayerScreenState.deactivate (package:funtour7777/src/components/Screens/VideoPlayerScreen.dart:363:27)
E/flutter (14986): #5 StatefulElement.deactivate (package:flutter/src/widgets/framework.dart:3914:12)
E/flutter (14986): #6 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1714:13)
E/flutter (14986): #7 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:4869:14)
E/flutter (14986): #8 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1716:13)
E/flutter (14986): #9 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:3775:14)
E/flutter (14986): #10 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1716:13)
E/flutter (14986): #11 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:4869:14)
E/flutter (14986): #12 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1716:13)
E/flutter (14986): #13 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:4869:14)
E/flutter (14986): #14 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1716:13)
E/flutter (14986): #15 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:4869:14)
E/flutter (14986): #16 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1716:13)
E/flutter (14986): #17 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:4869:14)
E/flutter (14986): #18 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1716:13)
E/flutter (14986): #19 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:3775:14)
E/flutter (14986): #20 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1716:13)
E/flutter (14986): #21 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:3775:14)
E/flutter (14986): #22 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1716:13)
E/flutter (14986): #23 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:3775:14)
E/flutter (14986): #24 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1716:13)
E/flutter (14986): #25 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:4869:14)
E/flutter (14986): #26 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1716:13)
E/flutter (14986): #27 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:3775:14)
E/flutter (14986): #28 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1716:13)
E/flutter (14986): #29 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:4869:14)
E/flutter (14986): #30 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1716:13)
E/flutter (14986): #31 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:3775:14)
E/flutter (14986): #32 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1716:13)
E/flutter (14986): #33 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:3775:14)
E/flutter (14986): #34 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1716:13)
E/flutter (14986): #35 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:4869:14)
E/flutter (14986): #36 _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1716:13)
E/flutter (14986): #37 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dar
I/flutter (14986): MediaTab: => didUpdateWidget
I/flutter (14986): VideoBrowserTab: => build
D/PhoneWindow(14986): windowLightStatusBar : false, disable View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
I/Adreno (14986): DequeueBuffer: dequeueBuffer failed
I/Adreno (14986): DequeueBuffer: dequeueBuffer failed
I/Adreno (14986): DequeueBuffer: dequeueBuffer failed
W/OpenGLRenderer(14986): swapBuffers encountered EGL error 12301 on 0x722b7fe600, halting rendering...
I/flutter (14986): MediaTab: => didUpdateWidget
I/flutter (14986): VideoBrowserTab: => build
I/flutter (14986): #123 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:4869:14)
I/flutter (14986): #124 _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:1692:13)
I/flutter (14986): #125 _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:1694:7)
I/flutter (14986): #126 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:3775:14)
I/flutter (14986): #127 _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:1692:13)
I/flutter (14986): #128 _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:1694:7)
I/flutter (14986): #129 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:4869:14)
I/flutter (14986): #130 _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:1692:13)
I/flutter (14986): #131 _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:1694:7)
I/flutter (14986): #132 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:3775:14)
I/flutter (14986): #133 _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:1692:13)
I/flutter (14986): #134 _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:1694:7)
I/flutter (14986): #135 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:3775:14)
I/flutter (14986): #136 _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:1692:13)
I/flutter (14986): #137 _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:1694:7)
I/flutter (14986): #138 SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:4869:14)
I/flutter (14986): #139 _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:1692:13)
I/flutter (14986): #140 _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:1694:7)
I/flutter (14986): #141 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:3775:14)
I/flutter (14986): #142 _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:1692:13)
I/flutter (14986): #143 _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:1694:7)
I/flutter (14986): #144 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:3775:14)
I/flutter (14986): #145 _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:1692:13)
I/flutter (14986): #146 _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:1694:7)
I/flutter (14986): #147 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:3775:14)
I/flutter (14986): #148 _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:1692:13)
I/flutter (14986): #149 ListIterable.forEach (dart:_internal/iterable.dart:39:13)
I/flutter (14986): #150 _InactiveElements._unmountAll (package:flutter/src/widgets/framework.dart:1705:25)
I/flutter (14986): #151 BuildOwner.finalizeTree.<anonymous closure> (package:flutter/src/widgets/framework.dart:2363:27)
I/flutter (14986): #152 BuildOwner.lockState (package:flutter/src/widgets/framework.dart:2195:15)
I/flutter (14986): #153 BuildOwner.finalizeTree (package:flutter/src/widgets/framework.dart:2362:7)
I/flutter (14986): #154 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:702:18)
I/flutter (14986): #155 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:275:5)
I/flutter (14986): #156 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
I/flutter (14986): #157 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
I/flutter (14986): #158 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:842:5)
I/flutter (14986): #162 _invoke (dart:ui/hooks.dart:209:10)
I/flutter (14986): #163 _drawFrame (dart:ui/hooks.dart:168:3)
I/flutter (14986): (elided 5 frames from class _AssertionError and package dart:async)
I/flutter (14986):
I/flutter (14986): The VideoPlayerController sending notification was:
I/flutter (14986): VideoPlayerController#6bf5d(VideoPlayerValue(duration: 0:05:15.114000, size: Size(1280.0, 720.0),
I/flutter (14986): position: 0:00:00.000000, buffered: [], isPlaying: false, isLooping: false, isBuffering:
I/flutter (14986): falsevolume: 0.0, errorDescription: null))davidgalarza
Metadata
Metadata
Assignees
Labels
a: platform-viewsEmbedding Android/iOS views in Flutter appsEmbedding Android/iOS views in Flutter appsc: crashStack traces logged to the consoleStack traces logged to the consolep: mapsGoogle Maps pluginGoogle Maps pluginpackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.r: timeoutIssue is closed due to author not providing the requested details in timeIssue is closed due to author not providing the requested details in time