diff options
Diffstat (limited to 'demux')
-rw-r--r-- | demux/demux_raw.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/demux/demux_raw.c b/demux/demux_raw.c index 2b47ebfedf..7469d80c5e 100644 --- a/demux/demux_raw.c +++ b/demux/demux_raw.c @@ -301,7 +301,9 @@ static void raw_seek(demuxer_t *demuxer, double seek_pts, int flags) stream_t *s = demuxer->stream; int64_t end = 0; stream_control(s, STREAM_CTRL_GET_SIZE, &end); - int64_t pos = seek_pts * p->frame_rate * p->frame_size; + int64_t frame_nr = seek_pts * p->frame_rate; + frame_nr = frame_nr - (frame_nr % p->read_frames); + int64_t pos = frame_nr * p->frame_size; if (flags & SEEK_FACTOR) pos = end * seek_pts; if (pos < 0) |