Inbuilt player initial offset on playback start
This commit is contained in:
parent
2ee3ec261f
commit
1cc524a056
|
@ -11,7 +11,7 @@
|
|||
:src="getSourceByLabel(chosenQuality)"
|
||||
:initUrl="getSourceByLabel(chosenQuality).initUrl"
|
||||
:params="getSourceByLabel(chosenQuality).params"
|
||||
:initialOffset="playertime"
|
||||
:initialOffset="offset"
|
||||
:createdAt="playerCreatedAt"
|
||||
></videoplayer>
|
||||
<div v-if="playingMetadata && chosenServer">
|
||||
|
@ -164,7 +164,8 @@ export default {
|
|||
this.chosenKey = query.key.replace('/library/metadata/', '')
|
||||
this.chosenMediaIndex = query.mediaIndex || 0
|
||||
this.chosenServer = this.plex.servers[query.chosenServer]
|
||||
this.playertime = query.playertime
|
||||
this.offset = query.playertime
|
||||
console.log('Playertime is now', this.playertime)
|
||||
}
|
||||
|
||||
// Similuate a real plex client
|
||||
|
@ -198,8 +199,8 @@ export default {
|
|||
if (err) {
|
||||
return data.callback(this.playertime)
|
||||
}
|
||||
let difference = Math.abs(time - this.playertime)
|
||||
console.log('Poll time was out by', difference)
|
||||
// let difference = Math.abs(time - this.playertime)
|
||||
// console.log('Poll time was out by', difference)
|
||||
playerdata.time = time
|
||||
this.playertime = time
|
||||
data.callback(playerdata)
|
||||
|
@ -227,8 +228,12 @@ export default {
|
|||
this.chosenMediaIndex = data.params.mediaIndex || 0
|
||||
this.chosenServer = this.plex.servers[data.params.machineIdentifier]
|
||||
console.log('Chosen server is now', this.chosenServer)
|
||||
this.playertime = data.params.offset || 0
|
||||
this.changedPlaying(true)
|
||||
this.playertime = data.params.offset || this.$route.query.playertime || 0
|
||||
this.offset = this.playertime
|
||||
console.log('Playertime is now', this.playertime)
|
||||
this.$nextTick(() => {
|
||||
this.changedPlaying(true)
|
||||
})
|
||||
return true
|
||||
}
|
||||
if (data.command === '/player/playback/stop') {
|
||||
|
@ -288,6 +293,7 @@ export default {
|
|||
playingMetadata: null,
|
||||
ready: false,
|
||||
transcodeSessionMetadata: {},
|
||||
offset: 0,
|
||||
|
||||
// Browser
|
||||
browser: this.getBrowser(),
|
||||
|
|
|
@ -225,7 +225,7 @@ export default {
|
|||
return reject(new Error(e))
|
||||
}
|
||||
console.log('Player checks passed')
|
||||
let lastPlayerSpeed = this.player.currentTime()
|
||||
let lastPlayerSpeed = this.player.playbackRate()
|
||||
let lastPlayerTime = this.player.currentTime() * 1000
|
||||
console.log('Buffer start', this.bufferStart, 'Seek To', seekTo, 'Buffer End', this.bufferEnd)
|
||||
if (seekTo < this.bufferEnd && seekTo > this.bufferStart) {
|
||||
|
@ -262,7 +262,7 @@ export default {
|
|||
}
|
||||
console.log('Playback rate: ' + this.player.playbackRate())
|
||||
if (lastPlayerSpeed === this.player.playbackRate()) {
|
||||
// Our played doesnt want to change it speed, lets swap to clean seek
|
||||
// Our played doesnt want to change it speed, lets swap to clean seek
|
||||
console.log('Failed seek attempt - swapping to clean seek')
|
||||
this.blockedSpeedChanges = true
|
||||
reject(new Error('Failed to slow seek as the playback rate did not want to change'))
|
||||
|
@ -304,7 +304,7 @@ export default {
|
|||
this.player.playbackRate(1.0)
|
||||
return reject(new Error('Slow seek was stopped as we are beyond 5000ms'))
|
||||
}
|
||||
lastPlayerSpeed = this.player.currentTime()
|
||||
lastPlayerSpeed = this.player.playbackSpeed()
|
||||
}, 25)
|
||||
} else {
|
||||
console.log('Directly seeking to a time')
|
||||
|
@ -332,8 +332,10 @@ export default {
|
|||
},
|
||||
onPlayerLoadeddata (player) {
|
||||
var that = this
|
||||
|
||||
this.player.currentTime(this.initialOffset / 1000)
|
||||
this.$nextTick(() => {
|
||||
console.log('Setting player time to', this.initialOffset / 1000)
|
||||
this.player.currentTime(this.initialOffset / 1000)
|
||||
})
|
||||
|
||||
player.on(['pause'], () => {
|
||||
this.isPlaying = 'paused'
|
||||
|
|
Loading…
Reference in New Issue