Fix playback rate state notification until it actuall finishes
processing the change
This commit is contained in:
parent
ef525b4d85
commit
311f328b00
|
@ -154,6 +154,11 @@ export default {
|
||||||
setCurrentTimeMs(seekToMs);
|
setCurrentTimeMs(seekToMs);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
PROCESS_STATE_UPDATE_ON_PLAYBACK_RATE_CHANGE: async ({ dispatch }, signal) => {
|
||||||
|
await waitForMediaElementEvent({ signal, type: 'ratechange' });
|
||||||
|
await dispatch('synclounge/PROCESS_PLAYER_STATE_UPDATE', true, { root: true });
|
||||||
|
},
|
||||||
|
|
||||||
SPEED_SEEK: async ({ dispatch, rootGetters }, { cancelSignal, seekToMs }) => {
|
SPEED_SEEK: async ({ dispatch, rootGetters }, { cancelSignal, seekToMs }) => {
|
||||||
console.log('speed seek');
|
console.log('speed seek');
|
||||||
const currentTimeMs = await dispatch('FETCH_PLAYER_CURRENT_TIME_MS_OR_FALLBACK');
|
const currentTimeMs = await dispatch('FETCH_PLAYER_CURRENT_TIME_MS_OR_FALLBACK');
|
||||||
|
@ -164,14 +169,15 @@ export default {
|
||||||
|
|
||||||
const main = CAF(function* main(signal) {
|
const main = CAF(function* main(signal) {
|
||||||
setPlaybackRate(rate);
|
setPlaybackRate(rate);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Nosync process
|
// Nosync process. Purposefully not awaited
|
||||||
dispatch('synclounge/PROCESS_PLAYER_STATE_UPDATE', true, { root: true });
|
dispatch('PROCESS_STATE_UPDATE_ON_PLAYBACK_RATE_CHANGE', signal);
|
||||||
yield CAF.delay(signal, timeUntilSynced);
|
yield CAF.delay(signal, timeUntilSynced);
|
||||||
} finally {
|
} finally {
|
||||||
setPlaybackRate(1);
|
setPlaybackRate(1);
|
||||||
// Nosync process
|
// Nosync process. Purposefully not awaited
|
||||||
dispatch('synclounge/PROCESS_PLAYER_STATE_UPDATE', true, { root: true });
|
dispatch('PROCESS_STATE_UPDATE_ON_PLAYBACK_RATE_CHANGE', signal);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue