Regularly sync playback position to disk

This commit is contained in:
Thomas Perl 2014-04-30 20:02:03 +02:00
parent 9023235f07
commit c1d65e3572
2 changed files with 24 additions and 0 deletions

View file

@ -82,6 +82,7 @@ MediaPlayer {
sendPositionToCore(lastPosition);
seek(target_position);
playedFrom = target_position;
savePlaybackAfterStopTimer.restart();
}
onPlaybackStateChanged: {
@ -91,9 +92,29 @@ MediaPlayer {
}
} else {
sendPositionToCore(lastPosition);
savePlaybackAfterStopTimer.restart();
}
}
function flushToDisk() {
py.call('main.save_playback_state', []);
}
property var savePlaybackPositionTimer: Timer {
// Save position every minute during playback
interval: 60 * 1000
repeat: true
running: player.isPlaying
onTriggered: player.flushToDisk();
}
property var savePlaybackAfterStopTimer: Timer {
// Save position shortly after every seek and pause event
interval: 5 * 1000
repeat: false
onTriggered: player.flushToDisk();
}
property var seekAfterPlayTimer: Timer {
interval: 100
repeat: true