@@ -23,6 +23,15 @@ Item {
23 readonly property var playbackState: priv.audio ? priv.audio.playbackState : 0
23 readonly property var playbackState: priv.audio ? priv.audio.playbackState : 0
25 function play() {
25 function play() {
26+ /* We can be in error state if backend media player restarted, for instance */
27+ if (priv.audio && priv.audio.error) {
28+ console.warn("NotificationAudio: player in error state (" +
29+ priv.audio.errorString + "), recreating");
33+ priv.audio = priv.audioComponent.createObject(root);
26 if (priv.audio) {
35 if (priv.audio) {
27 priv.audio.play();
36 priv.audio.play();
@@ -35,9 +44,12 @@ Item {
36 QtObject {
45 QtObject {
38− property var audio: Audio {
47+ property Audio audio: null
48+ property Component audioComponent: Component {
39− source: root.source
50+ source: root.source
40− audioRole: MediaPlayer.NotificationRole
51+ audioRole: MediaPlayer.NotificationRole