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

View File

@ -440,7 +440,7 @@ LazyDatabase _openConnection() {
return ErrorLoggingDatabase( return ErrorLoggingDatabase(
NativeDatabase.createInBackground(file), 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); int get _sourceId => _ref.read(sourceIdProvider);
AudioControl(this._player, this._ref) { AudioControl(this._player, this._ref) {
_player.playbackEventStream.listen((PlaybackEvent event) { _player.playbackEventStream.listen(
(PlaybackEvent event) {
final playing = _player.playing; final playing = _player.playing;
playbackState.add(playbackState.value.copyWith( playbackState.add(playbackState.value.copyWith(
controls: [ controls: [
@ -120,7 +121,10 @@ class AudioControl extends BaseAudioHandler with QueueHandler, SeekHandler {
bufferedPosition: _player.bufferedPosition, bufferedPosition: _player.bufferedPosition,
queueIndex: event.currentIndex, queueIndex: event.currentIndex,
)); ));
}); },
onError: (e, st) => log.warning('Audio playback error', e, st),
cancelOnError: false,
);
shuffleIndicies.listen((value) { shuffleIndicies.listen((value) {
playbackState.add(playbackState.value.copyWith( playbackState.add(playbackState.value.copyWith(

View File

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