Skip to content

Commit 554e6b2

Browse files
committed
removed AutomaticKeepAliveClientMixin to fix/prevent unwanted behavior
1 parent fa216bf commit 554e6b2

5 files changed

Lines changed: 9 additions & 13 deletions

File tree

flutter_vlc_player/android/src/main/java/software/solid/fluttervlcplayer/FlutterVlcPlayer.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -644,6 +644,7 @@ Boolean startRecording(String directory) {
644644
}
645645

646646
Boolean stopRecording() {
647+
if (mediaPlayer == null) return true;
647648
return mediaPlayer.record(null);
648649
}
649650

flutter_vlc_player/example/lib/multiple_tab.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ class _MultipleTabState extends State<MultipleTab> {
4545
return Container(
4646
child: ListView.separated(
4747
itemCount: controllers.length,
48+
cacheExtent: double.maxFinite,
4849
separatorBuilder: (_, index) {
4950
return Divider(height: 5, thickness: 5, color: Colors.grey);
5051
},

flutter_vlc_player/example/lib/vlc_player_with_controls.dart

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ class VlcPlayerWithControls extends StatefulWidget {
2525
VlcPlayerWithControlsState createState() => VlcPlayerWithControlsState();
2626
}
2727

28-
class VlcPlayerWithControlsState extends State<VlcPlayerWithControls>
29-
with AutomaticKeepAliveClientMixin {
28+
class VlcPlayerWithControlsState extends State<VlcPlayerWithControls> {
3029
static const _playerControlsBgColor = Colors.black87;
3130

3231
VlcPlayerController _controller;
@@ -53,9 +52,6 @@ class VlcPlayerWithControlsState extends State<VlcPlayerWithControls>
5352
List<double> playbackSpeeds = [0.5, 1.0, 2.0];
5453
int playbackSpeedIndex = 1;
5554

56-
@override
57-
bool get wantKeepAlive => true;
58-
5955
@override
6056
void initState() {
6157
super.initState();
@@ -116,7 +112,6 @@ class VlcPlayerWithControlsState extends State<VlcPlayerWithControls>
116112

117113
@override
118114
Widget build(BuildContext context) {
119-
super.build(context);
120115
return Column(
121116
mainAxisSize: MainAxisSize.min,
122117
children: [

flutter_vlc_player/ios/Classes/VlcViewController.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,11 @@ public class VLCViewController: NSObject, FlutterPlatformView {
327327
}
328328

329329
public func dispose(){
330-
//todo: dispose player & event handlers
330+
self.mediaEventChannel.setStreamHandler(nil);
331+
self.rendererEventChannel.setStreamHandler(nil);
332+
self.rendererdiscoverers.removeAll()
333+
self.rendererEventChannelHandler.renderItems.removeAll()
334+
self.vlcMediaPlayer.stop()
331335
}
332336

333337
func setMediaPlayerUrl(uri: String, isAssetUrl: Bool, autoPlay: Bool, hwAcc: Int, options: [String]){

flutter_vlc_player/lib/src/flutter_vlc_player.dart

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,7 @@ class VlcPlayer extends StatefulWidget {
3434
_VlcPlayerState createState() => _VlcPlayerState();
3535
}
3636

37-
class _VlcPlayerState extends State<VlcPlayer>
38-
with AutomaticKeepAliveClientMixin {
39-
@override
40-
bool get wantKeepAlive => true;
41-
37+
class _VlcPlayerState extends State<VlcPlayer> {
4238
_VlcPlayerState() {
4339
_listener = () {
4440
if (!mounted) return;
@@ -83,7 +79,6 @@ class _VlcPlayerState extends State<VlcPlayer>
8379

8480
@override
8581
Widget build(BuildContext context) {
86-
super.build(context);
8782
return AspectRatio(
8883
aspectRatio: widget.aspectRatio,
8984
child: Stack(

0 commit comments

Comments
 (0)