audio playback error logging

subsonic error logging
source save error logging
This commit is contained in:
austinried 2023-05-14 10:40:23 +09:00
parent e410dcb2eb
commit 121af2bca3
4 changed files with 38 additions and 29 deletions

View File

@ -8,6 +8,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import '../../database/database.dart';
import '../../log.dart';
import '../../models/settings.dart';
import '../../services/settings_service.dart';
import '../items.dart';
@ -161,8 +162,9 @@ class SourcePage extends HookConsumerWidget {
),
);
}
} catch (err) {
} catch (e, st) {
// TOOD: toast the error or whatever
log.severe('Saving source', e, st);
error = true;
} finally {
isSaving.value = false;

View File

@ -440,7 +440,7 @@ LazyDatabase _openConnection() {
return ErrorLoggingDatabase(
NativeDatabase.createInBackground(file),
(e, s) => log.severe('SQL Error', e, s),
(e, s) => log.severe('SQL error', e, s),
);
});
}

View File

@ -95,7 +95,8 @@ class AudioControl extends BaseAudioHandler with QueueHandler, SeekHandler {
int get _sourceId => _ref.read(sourceIdProvider);
AudioControl(this._player, this._ref) {
_player.playbackEventStream.listen((PlaybackEvent event) {
_player.playbackEventStream.listen(
(PlaybackEvent event) {
final playing = _player.playing;
playbackState.add(playbackState.value.copyWith(
controls: [
@ -120,7 +121,10 @@ class AudioControl extends BaseAudioHandler with QueueHandler, SeekHandler {
bufferedPosition: _player.bufferedPosition,
queueIndex: event.currentIndex,
));
});
},
onError: (e, st) => log.warning('Audio playback error', e, st),
cancelOnError: false,
);
shuffleIndicies.listen((value) {
playbackState.add(playbackState.value.copyWith(

View File

@ -6,6 +6,7 @@ import 'package:crypto/crypto.dart';
import 'package:http/http.dart';
import 'package:xml/xml.dart';
import '../../log.dart';
import '../../models/settings.dart';
import 'xml.dart';
@ -89,7 +90,9 @@ class SubsonicClient {
final subsonicResponse =
SubsonicResponse(XmlDocument.parse(utf8.decode(res.bodyBytes)));
if (subsonicResponse.status == Status.failed) {
throw SubsonicException(subsonicResponse.xml);
final error = SubsonicException(subsonicResponse.xml);
log.severe('Subsonic error', error);
throw error;
}
return subsonicResponse;