diff --git a/src/components/application/ptplayer.vue b/src/components/application/ptplayer.vue
index 2d538a9b..8363a825 100644
--- a/src/components/application/ptplayer.vue
+++ b/src/components/application/ptplayer.vue
@@ -11,7 +11,7 @@
:src="getSourceByLabel(chosenQuality)"
:initUrl="getSourceByLabel(chosenQuality).initUrl"
:params="getSourceByLabel(chosenQuality).params"
- :initialOffset="playertime"
+ :initialOffset="offset"
:createdAt="playerCreatedAt"
>
@@ -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(),
diff --git a/src/components/application/ptplayer/videoplayer.vue b/src/components/application/ptplayer/videoplayer.vue
index e56d400c..710853d2 100644
--- a/src/components/application/ptplayer/videoplayer.vue
+++ b/src/components/application/ptplayer/videoplayer.vue
@@ -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'