diff options
author | wm4 <wm4@nowhere> | 2013-08-22 18:23:33 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-08-22 19:14:26 +0200 |
commit | f806e268c6c3a76f65b1282219e16fcdfb80a9b5 (patch) | |
tree | 66876fbc7d96308da11a91456d91ef90223bac23 /stream/stream_dvd.c | |
parent | a790f2133bb785e0c48a7c6cdc730c8b7e8287fb (diff) | |
download | mpv-f806e268c6c3a76f65b1282219e16fcdfb80a9b5.tar.bz2 mpv-f806e268c6c3a76f65b1282219e16fcdfb80a9b5.tar.xz |
stream: don't require streams to set s->pos in seek callback
Instead, set s->pos depending on the success of the seek callback.
Diffstat (limited to 'stream/stream_dvd.c')
-rw-r--r-- | stream/stream_dvd.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/stream/stream_dvd.c b/stream/stream_dvd.c index 0372e6c3c0..340002fb46 100644 --- a/stream/stream_dvd.c +++ b/stream/stream_dvd.c @@ -354,13 +354,13 @@ static int fill_buffer(stream_t *s, char *buf, int len) pos = dvd_read_sector(s->priv, buf); if (pos < 0) return -1; + // dvd_read_sector() sometimes internally skips disk-level blocks s->pos = 2048*(pos - 1); return 2048; // full sector } static int seek(stream_t *s, int64_t newpos) { - s->pos=newpos; // real seek - dvd_seek(s->priv,s->pos/2048); + dvd_seek(s->priv,newpos/2048); return 1; } |