summaryrefslogtreecommitdiffstats
path: root/demux/demux_raw.c
diff options
context:
space:
mode:
authorMartin Herkt <lachs0r@srsfckn.biz>2016-02-28 23:31:51 +0100
committerMartin Herkt <lachs0r@srsfckn.biz>2016-02-28 23:31:51 +0100
commit21cd4ff05bb46b375a9ad38c9f0b7f8e71a5d979 (patch)
treeb9679cc1d2c7c3cab0f88c370015f34f6d0b27ca /demux/demux_raw.c
parentd1d6257731866934717353fce484f5f472f845d1 (diff)
parent1f436f65f2ee4df6419ca68bd6426b8283db6d22 (diff)
downloadmpv-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.c8
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)