From fc9e6e0cd52cf0b5a7e5fc5a04f2e9d344d5b275 Mon Sep 17 00:00:00 2001 From: Ryan Heise Date: Sat, 8 Aug 2020 18:42:51 +1000 Subject: [PATCH] Prevent dispose from hanging --- .../src/main/java/com/ryanheise/just_audio/AudioPlayer.java | 3 +++ lib/just_audio.dart | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/android/src/main/java/com/ryanheise/just_audio/AudioPlayer.java b/android/src/main/java/com/ryanheise/just_audio/AudioPlayer.java index c49613b..878a547 100644 --- a/android/src/main/java/com/ryanheise/just_audio/AudioPlayer.java +++ b/android/src/main/java/com/ryanheise/just_audio/AudioPlayer.java @@ -674,6 +674,9 @@ public class AudioPlayer implements MethodCallHandler, Player.EventListener, Met player = null; transition(ProcessingState.none); } + if (eventSink != null) { + eventSink.endOfStream(); + } onDispose.run(); } diff --git a/lib/just_audio.dart b/lib/just_audio.dart index 14e8918..15f1b6f 100644 --- a/lib/just_audio.dart +++ b/lib/just_audio.dart @@ -567,14 +567,11 @@ class AudioPlayer { _proxy?.stop(); await _durationSubject.close(); await _eventChannelStreamSubscription.cancel(); - await _playbackEventSubject.close(); await _loopModeSubject.close(); await _shuffleModeEnabledSubject.close(); await _playingSubject.close(); await _volumeSubject.close(); await _speedSubject.close(); - await _playerStateSubject.drain(); - await _playerStateSubject.close(); if (_positionSubject != null) { await _positionSubject.close(); }