summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_lavf.c
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2009-04-08 02:43:44 +0300
committerUoti Urpala <uau@glyph.nonexistent.invalid>2009-04-08 02:43:44 +0300
commit53eeb0e41238699fb11701c357941f904338bb25 (patch)
tree965f3585bc690f9b5f654f1022a4c02709911706 /libmpdemux/demux_lavf.c
parentb309b60a0c7230fae29475e8924ff51f107c2563 (diff)
parent96daf7ed5ef96b86f2539164c27155bc830aa2a6 (diff)
downloadmpv-53eeb0e41238699fb11701c357941f904338bb25.tar.bz2
mpv-53eeb0e41238699fb11701c357941f904338bb25.tar.xz
Merge branch 'ordered_chapters'
Diffstat (limited to 'libmpdemux/demux_lavf.c')
-rw-r--r--libmpdemux/demux_lavf.c7
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;