summaryrefslogtreecommitdiff
path: root/src/lib/video_decoder.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-06-07 17:07:02 +0100
committerCarl Hetherington <cth@carlh.net>2013-06-07 17:07:02 +0100
commit0b97307b78b1d5e017e97ff90d5d05102cb70c1c (patch)
tree16306c8f066b10a3fb356a3065c2db84220348ce /src/lib/video_decoder.cc
parent0799f9481791f8a70589bf9e6991883f48e27b3d (diff)
Fix seeks past the end of video files.
Diffstat (limited to 'src/lib/video_decoder.cc')
-rw-r--r--src/lib/video_decoder.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/lib/video_decoder.cc b/src/lib/video_decoder.cc
index a5147f42e..c5e1850c0 100644
--- a/src/lib/video_decoder.cc
+++ b/src/lib/video_decoder.cc
@@ -121,3 +121,27 @@ VideoDecoder::video_done () const
return (_video_content->length() - _next_video) < film->video_frames_to_time (1);
}
+
+void
+VideoDecoder::seek (Time t)
+{
+ _next_video = t;
+}
+
+void
+VideoDecoder::seek_back ()
+{
+ shared_ptr<const Film> film = _film.lock ();
+ assert (film);
+ _next_video -= film->video_frames_to_time (1);
+}
+
+void
+VideoDecoder::seek_forward ()
+{
+ shared_ptr<const Film> film = _film.lock ();
+ assert (film);
+ _next_video += film->video_frames_to_time (1);
+}
+
+