fix: increase mpv network timeout to reduce auto-skipping

This commit is contained in:
Kingkor Roy Tirtho 2024-04-10 11:03:29 +06:00
parent 9ca0e8bef2
commit 6d344c32a0
4 changed files with 26 additions and 3 deletions

View File

@ -74,9 +74,11 @@ extension ProxyPlaylistListeners on ProxyPlaylistNotifier {
if (lastTrack == nextTrack.id) return;
await ref.read(sourcedTrackProvider(nextTrack).future).whenComplete(() {
try {
await ref.read(sourcedTrackProvider(nextTrack).future);
} finally {
lastTrack = nextTrack.id!;
});
}
});
}

View File

@ -80,7 +80,24 @@ class PlaybackServer {
),
);
final audioStream = res.data?.stream as Stream<Uint8List>?;
final audioStream =
(res.data?.stream as Stream<Uint8List>?)?.asBroadcastStream();
// if (res.statusCode! > 300) {
// debugPrint(
// "[[Request]]\n"
// "URI: ${res.requestOptions.uri}\n"
// "Status: ${res.statusCode}\n"
// "Request Headers: ${res.requestOptions.headers}\n"
// "Response Body: ${res.data}\n"
// "Response Headers: ${res.headers.map}",
// );
// }
audioStream!.listen(
(event) {},
cancelOnError: true,
);
return Response(
res.statusCode!,

View File

@ -1,6 +1,7 @@
import 'dart:io';
import 'package:catcher_2/catcher_2.dart';
import 'package:flutter/foundation.dart';
import 'package:spotify/spotify.dart';
import 'package:spotube/extensions/track.dart';
import 'package:spotube/models/local_track.dart';
@ -48,6 +49,7 @@ abstract class AudioPlayerInterface {
: _mkPlayer = CustomPlayer(
configuration: const mk.PlayerConfiguration(
title: "Spotube",
logLevel: kDebugMode ? mk.MPVLogLevel.info : mk.MPVLogLevel.error,
),
)
// _justAudio = !_mkSupportedPlatform ? ja.AudioPlayer() : null

View File

@ -25,6 +25,8 @@ class CustomPlayer extends Player {
: _playerStateStream = StreamController.broadcast(),
_shuffleStream = StreamController.broadcast(),
_shuffled = false {
nativePlayer.setProperty("network-timeout", "120");
_subscriptions = [
stream.buffering.listen((event) {
_playerStateStream.add(AudioPlaybackState.buffering);