Regularly sync playback position to disk
This commit is contained in:
parent
9023235f07
commit
c1d65e3572
2 changed files with 24 additions and 0 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue