1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Disable sync correction by default on mobile

This commit is contained in:
Bill Thornton 2021-09-09 23:20:14 -04:00
parent 247d3f23e6
commit de29dac896
2 changed files with 21 additions and 11 deletions

View file

@ -2,8 +2,9 @@
* Module that manages the playback of SyncPlay. * Module that manages the playback of SyncPlay.
* @module components/syncPlay/core/PlaybackCore * @module components/syncPlay/core/PlaybackCore
*/ */
import { Events } from 'jellyfin-apiclient'; import { Events } from 'jellyfin-apiclient';
import browser from '../../../scripts/browser';
import { toBoolean, toFloat } from '../../../scripts/stringUtils'; import { toBoolean, toFloat } from '../../../scripts/stringUtils';
import * as Helper from './Helper'; import * as Helper from './Helper';
import { getSetting } from './Settings'; import { getSetting } from './Settings';
@ -20,7 +21,8 @@ class PlaybackCore {
this.playbackDiffMillis = 0; // Used for stats and remote time sync. this.playbackDiffMillis = 0; // Used for stats and remote time sync.
this.syncAttempts = 0; this.syncAttempts = 0;
this.lastSyncTime = new Date(); this.lastSyncTime = new Date();
this.enableSyncCorrection = true; // User setting to disable sync during playback. // User setting to disable sync during playback.
this.enableSyncCorrection = !(browser.mobile || browser.iOS);
this.playerIsBuffering = false; this.playerIsBuffering = false;
@ -67,7 +69,7 @@ class PlaybackCore {
this.useSkipToSync = toBoolean(getSetting('useSkipToSync'), true); this.useSkipToSync = toBoolean(getSetting('useSkipToSync'), true);
// Whether sync correction during playback is active. // Whether sync correction during playback is active.
this.enableSyncCorrection = toBoolean(getSetting('enableSyncCorrection'), true); this.enableSyncCorrection = toBoolean(getSetting('enableSyncCorrection'), !(browser.mobile || browser.iOS));
} }
/** /**

View file

@ -96,14 +96,22 @@ class SettingsEditor {
async initEditor() { async initEditor() {
const { context } = this; const { context } = this;
context.querySelector('#txtExtraTimeOffset').value = toFloat(getSetting('extraTimeOffset'), 0.0); context.querySelector('#txtExtraTimeOffset').value = toFloat(getSetting('extraTimeOffset'),
context.querySelector('#chkSyncCorrection').checked = toBoolean(getSetting('enableSyncCorrection'), true); SyncPlay.Manager.playbackCore.extraTimeOffset);
context.querySelector('#txtMinDelaySpeedToSync').value = toFloat(getSetting('minDelaySpeedToSync'), 60.0); context.querySelector('#chkSyncCorrection').checked = toBoolean(getSetting('enableSyncCorrection'),
context.querySelector('#txtMaxDelaySpeedToSync').value = toFloat(getSetting('maxDelaySpeedToSync'), 3000.0); SyncPlay.Manager.playbackCore.enableSyncCorrection);
context.querySelector('#txtSpeedToSyncDuration').value = toFloat(getSetting('speedToSyncDuration'), 1000.0); context.querySelector('#txtMinDelaySpeedToSync').value = toFloat(getSetting('minDelaySpeedToSync'),
context.querySelector('#txtMinDelaySkipToSync').value = toFloat(getSetting('minDelaySkipToSync'), 400.0); SyncPlay.Manager.playbackCore.minDelaySpeedToSync);
context.querySelector('#chkSpeedToSync').checked = toBoolean(getSetting('useSpeedToSync'), true); context.querySelector('#txtMaxDelaySpeedToSync').value = toFloat(getSetting('maxDelaySpeedToSync'),
context.querySelector('#chkSkipToSync').checked = toBoolean(getSetting('useSkipToSync'), true); SyncPlay.Manager.playbackCore.maxDelaySpeedToSync);
context.querySelector('#txtSpeedToSyncDuration').value = toFloat(getSetting('speedToSyncDuration'),
SyncPlay.Manager.playbackCore.speedToSyncDuration);
context.querySelector('#txtMinDelaySkipToSync').value = toFloat(getSetting('minDelaySkipToSync'),
SyncPlay.Manager.playbackCore.minDelaySkipToSync);
context.querySelector('#chkSpeedToSync').checked = toBoolean(getSetting('useSpeedToSync'),
SyncPlay.Manager.playbackCore.useSpeedToSync);
context.querySelector('#chkSkipToSync').checked = toBoolean(getSetting('useSkipToSync'),
SyncPlay.Manager.playbackCore.useSkipToSync);
} }
onSubmit() { onSubmit() {