Video:seek() is not instantaneous

Issue #1264 open
Pablo Mayobre
created an issue

When I seek to a position I'm expecting the video to go directly to that position in time. But instead it just plays the video normally (or faster?) until it reaches the specified position

Is this a known issue? Am I doing something wrong?

local video, sx, sy, stopped

love.load = function ()
  video = love.graphics.newVideo("video.ogg")
  video:seek(6) --I'm expecting to see the frame around the 6th second
  video:pause()

  print(video:getSource()) --Source: 0x01d7adc15950
  print(video:getSource():getDuration()) --47.274671201814
  print(video:tell()) --0 (I'm expecting 6 or more here)

  local ww, wh = love.graphics.getDimensions()
  local vw, vh = video:getDimensions()
  sx, sy = ww/vw, wh/vh
end

love.update = function ()
  --The first update I get the first frame instead of the one at the 6th second
  --I start playing the video and in the next update I inmediately pause it
  --But this just plays the video normally, I never get to the 6th second
  if video:isPlaying() or stopped then
    video:pause()
    stopped = true
  else
    video:play()
  end
  print(video:tell())
end

love.draw = function ()
  love.graphics.draw(video, 0, 0, 0, sx, sy)
end

I can include the video if needed

Comments (4)

  1. Log in to comment