fix: stop Jellyfin live TV sessions

close #1533
This commit is contained in:
edde746
2026-07-11 22:00:05 +02:00
parent 4443b76145
commit 2679745941
21 changed files with 277 additions and 20 deletions
+6 -1
View File
@@ -717,6 +717,7 @@ class VideoPlayerScreenState extends State<VideoPlayerScreen> with WidgetsBindin
break;
case AppLifecycleState.detached:
_recordLifecycleState('detached');
if (widget.isLive) unawaited(_sendStoppedProgressOnce());
break;
}
}
@@ -1221,7 +1222,6 @@ class VideoPlayerScreenState extends State<VideoPlayerScreen> with WidgetsBindin
unawaited(_sendStoppedProgressOnce());
_progressTracker?.stopTracking();
_progressTracker?.dispose();
_sendLiveTimeline('stopped');
_stopLiveTimelineUpdates();
_detachPipStateListener();
@@ -1449,6 +1449,11 @@ class VideoPlayerScreenState extends State<VideoPlayerScreen> with WidgetsBindin
void _onSecondarySubtitleTrackChanged(SubtitleTrack track) => _trackManager?.onSecondarySubtitleTrackChanged(track);
Future<void> _sendStoppedProgressOnce({Duration? positionOverride}) {
if (widget.isLive) {
_stopLiveTimelineUpdates();
return _sendLiveTimeline('stopped');
}
final tracker = _progressTracker;
if (tracker == null) return Future<void>.value();