diff options
author | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-04-08 02:43:44 +0300 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-04-08 02:43:44 +0300 |
commit | 53eeb0e41238699fb11701c357941f904338bb25 (patch) | |
tree | 965f3585bc690f9b5f654f1022a4c02709911706 /libmpdemux/demux_lavf.c | |
parent | b309b60a0c7230fae29475e8924ff51f107c2563 (diff) | |
parent | 96daf7ed5ef96b86f2539164c27155bc830aa2a6 (diff) | |
download | mpv-53eeb0e41238699fb11701c357941f904338bb25.tar.bz2 mpv-53eeb0e41238699fb11701c357941f904338bb25.tar.xz |
Merge branch 'ordered_chapters'
Diffstat (limited to 'libmpdemux/demux_lavf.c')
-rw-r--r-- | libmpdemux/demux_lavf.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libmpdemux/demux_lavf.c b/libmpdemux/demux_lavf.c index e977255fea..cea44dc50f 100644 --- a/libmpdemux/demux_lavf.c +++ b/libmpdemux/demux_lavf.c @@ -22,6 +22,7 @@ #include <stdlib.h> // #include <unistd.h> #include <limits.h> +#include <stdbool.h> #include "config.h" #include "options.h" @@ -533,6 +534,8 @@ static demuxer_t* demux_open_lavf(demuxer_t *demuxer){ demuxer->video->id=-2; // audio-only } //else if (best_video > 0 && demuxer->video->id == -1) demuxer->video->id = best_video; + demuxer->accurate_seek = true; + return demuxer; } @@ -612,6 +615,10 @@ static void demux_seek_lavf(demuxer_t *demuxer, float rel_seek_secs, float audio } else { if (rel_seek_secs < 0) avsflags = AVSEEK_FLAG_BACKWARD; } + if (flags & SEEK_FORWARD) + avsflags = 0; + else if (flags & SEEK_BACKWARD) + avsflags = AVSEEK_FLAG_BACKWARD; if (flags & SEEK_FACTOR) { if (priv->avfc->duration == 0 || priv->avfc->duration == AV_NOPTS_VALUE) return; |