From ebe3c563dab18f7d5310e6b19fa985fa2cc0bccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Sat, 20 Nov 2010 16:49:34 +0000 Subject: [PATCH] Fills frame variable even when not seeking to frame. This fixes bug #6828. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39540 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/media/plugins/ffmpeg/AVFormatReader.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/add-ons/media/plugins/ffmpeg/AVFormatReader.cpp b/src/add-ons/media/plugins/ffmpeg/AVFormatReader.cpp index e59510d067..2ac8a81992 100644 --- a/src/add-ons/media/plugins/ffmpeg/AVFormatReader.cpp +++ b/src/add-ons/media/plugins/ffmpeg/AVFormatReader.cpp @@ -580,10 +580,8 @@ StreamBase::Seek(uint32 flags, int64* frame, bigtime_t* time) TRACE_SEEK(" found time: %lld -> %lld (%.2f)\n", *time, foundTime, foundTime / 1000000.0); *time = foundTime; - if ((flags & B_MEDIA_SEEK_TO_FRAME) != 0) { - *frame = *time * frameRate / 1000000LL + 0.5; - TRACE_SEEK(" seeked frame: %lld\n", *frame); - } + *frame = (uint64)(*time * frameRate / 1000000LL + 0.5); + TRACE_SEEK(" seeked frame: %lld\n", *frame); } else { TRACE_SEEK(" _NextPacket() failed!\n"); return B_ERROR; @@ -672,10 +670,8 @@ StreamBase::Seek(uint32 flags, int64* frame, bigtime_t* time) *time = foundTime; TRACE_SEEK(" sought time: %.2fs\n", *time / 1000000.0); - if ((flags & B_MEDIA_SEEK_TO_FRAME) != 0) { - *frame = *time * frameRate / 1000000.0 + 0.5; - TRACE_SEEK(" sought frame: %lld\n", *frame); - } + *frame = (uint64)(*time * frameRate / 1000000.0 + 0.5); + TRACE_SEEK(" sought frame: %lld\n", *frame); } return B_OK;