summaryrefslogtreecommitdiffstats
path: root/demux/demux_disc.c
diff options
context:
space:
mode:
Diffstat (limited to 'demux/demux_disc.c')
-rw-r--r--demux/demux_disc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/demux/demux_disc.c b/demux/demux_disc.c
index 5175f89e01..f0ddc1e827 100644
--- a/demux/demux_disc.c
+++ b/demux/demux_disc.c
@@ -310,6 +310,12 @@ static int d_open(demuxer_t *demuxer, enum demux_check check)
// Can be seekable even if the stream isn't.
demuxer->seekable = true;
+ // With cache enabled, the stream can be seekable. This causes demux_lavf.c
+ // (actually libavformat/mpegts.c) to seek sometimes when reading a packet.
+ // It does this to seek back a bit in case the current file position points
+ // into the middle of a packet.
+ demuxer->stream->seekable = false;
+
add_dvd_streams(demuxer);
add_streams(demuxer);
add_stream_chapters(demuxer);