Fixed a race condition between loading data and start time calculation, fixed start time setting when player.load is ignored

This commit is contained in:
root
2023-06-05 20:25:13 +05:30
parent 640372e89e
commit 2a1982b0dd
2 changed files with 18 additions and 15 deletions
+3 -1
View File
@@ -342,6 +342,9 @@ export default {
this.setupSeekbarPreview()
this.$player = player
const startTime = this.initialSkip != null && Number.isFinite(this.initialSkip) ? this.initialSkip : 0
this.skipToTime(startTime)
this.$player.configure({
preferredVideoCodecs: this.preferredVideoCodecs,
preferredAudioCodecs: ['opus', 'mp4a'],
@@ -357,7 +360,6 @@ export default {
const qualityConds = quality > 0 && (this.video.audioStreams.length > 0 || this.video.livestream) && !this.audioOnly
if (qualityConds) this.$player.configure('abr.enabled', false)
const startTime = this.initialSkip != null && Number.isFinite(this.initialSkip) ? this.initialSkip : 0
player.load(uri, startTime, mime).then(() => {
let bestFitLanguage
{
+15 -14
View File
@@ -368,20 +368,6 @@ export default {
video.videoId = this.videoId
video.url = this.$route.fullPath
this.video = video
this.loaded = true
if (this.video.error) {
return
}
this.channelId = this.video.uploaderUrl.split('/')[2]
this.video.description = LibPiped.purifyHTML(
this.video.description
.replaceAll('http://www.youtube.com', '')
.replaceAll('https://www.youtube.com', '')
.replaceAll('\n', '<br>')
)
try {
if (!this.$store.getters['prefs/getPreference']('disableDuplicateHistoryEntries', false)) {
this.dbID = await addWatchedVideo(video)
@@ -409,6 +395,21 @@ export default {
} catch (e) {
console.error('Errored while finding last watched', e)
}
this.video = video
this.loaded = true
if (this.video.error) {
return
}
this.channelId = this.video.uploaderUrl.split('/')[2]
this.video.description = LibPiped.purifyHTML(
this.video.description
.replaceAll('http://www.youtube.com', '')
.replaceAll('https://www.youtube.com', '')
.replaceAll('\n', '<br>')
)
},
onTimeUpdate: throttle(function onTimeUpdate () {