diff options
Diffstat (limited to 'src/lib/imagemagick_decoder.cc')
| -rw-r--r-- | src/lib/imagemagick_decoder.cc | 31 |
1 files changed, 6 insertions, 25 deletions
diff --git a/src/lib/imagemagick_decoder.cc b/src/lib/imagemagick_decoder.cc index bea4fafa6..81b3e4b9a 100644 --- a/src/lib/imagemagick_decoder.cc +++ b/src/lib/imagemagick_decoder.cc @@ -73,13 +73,12 @@ ImageMagickDecoder::video_frame_rate () const void ImageMagickDecoder::pass () { - if (_position < 0 || _position >= _imagemagick_content->video_length ()) { + if (_next_video >= _imagemagick_content->video_length ()) { return; } if (_image) { - video (_image, true, double (_position) / video_frame_rate()); - _position++; + video (_image, true, _next_video); return; } @@ -103,31 +102,13 @@ ImageMagickDecoder::pass () delete magick_image; _image = _image->crop (_imagemagick_content->crop(), true); - video (_image, false, double (_position) / 24); - - ++_position; - return false; -} - -PixelFormat -ImageMagickDecoder::pixel_format () const -{ - /* XXX: always true? */ - return PIX_FMT_RGB24; + video (_image, false, _next_video); } -bool -ImageMagickDecoder::seek (double t) +void +ImageMagickDecoder::seek (Time t) { - int const f = t * _imagemagick_content->video_frame_rate (); - - if (f >= _imagemagick_content->video_length()) { - _position = 0; - return true; - } - - _position = f; - return false; + _next_video = t; } Time |
