diff options
author | Martin Herkt <lachs0r@srsfckn.biz> | 2016-02-28 23:31:51 +0100 |
---|---|---|
committer | Martin Herkt <lachs0r@srsfckn.biz> | 2016-02-28 23:31:51 +0100 |
commit | 21cd4ff05bb46b375a9ad38c9f0b7f8e71a5d979 (patch) | |
tree | b9679cc1d2c7c3cab0f88c370015f34f6d0b27ca /demux/demux_raw.c | |
parent | d1d6257731866934717353fce484f5f472f845d1 (diff) | |
parent | 1f436f65f2ee4df6419ca68bd6426b8283db6d22 (diff) | |
download | mpv-21cd4ff05bb46b375a9ad38c9f0b7f8e71a5d979.tar.bz2 mpv-21cd4ff05bb46b375a9ad38c9f0b7f8e71a5d979.tar.xz |
Merge branch 'master' into release/current
Diffstat (limited to 'demux/demux_raw.c')
-rw-r--r-- | demux/demux_raw.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/demux/demux_raw.c b/demux/demux_raw.c index 7fd9fdefa2..0d7517c3f0 100644 --- a/demux/demux_raw.c +++ b/demux/demux_raw.c @@ -263,17 +263,15 @@ static int raw_fill_buffer(demuxer_t *demuxer) return 1; } -static void raw_seek(demuxer_t *demuxer, double rel_seek_secs, int flags) +static void raw_seek(demuxer_t *demuxer, double seek_pts, int flags) { struct priv *p = demuxer->priv; stream_t *s = demuxer->stream; int64_t end = 0; stream_control(s, STREAM_CTRL_GET_SIZE, &end); - int64_t pos = (flags & SEEK_ABSOLUTE) ? 0 : stream_tell(s); + int64_t pos = seek_pts * p->frame_rate * p->frame_size; if (flags & SEEK_FACTOR) - pos += end * rel_seek_secs; - else - pos += rel_seek_secs * p->frame_rate * p->frame_size; + pos = end * seek_pts; if (pos < 0) pos = 0; if (end && pos > end) |