1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-20 14:20:55 +00:00
mpv/libmpdemux
Uoti Urpala 52126e574c demux_mkv: improve seeking with generated index
When using generated index (-idx / -forceidx) the Matroska seeking
code first guessed a file position using bitrate-based heuristics,
then located the cluster nearest to that file position. Change it to
store cluster timestamps in addition to file positions and seek to the
cluster with the closest timestamp. This makes seeking with -idx a lot
more accurate.

This change also fixes a crash when trying to seek with generated
index before playing any data from the beginning of the file (could be
triggered by -idx together with ordered chapters or -ss for example).

I removed the code handling MATROSKA_ID_CUES in the middle of parsing
clusters. Such cue entries were not consistently handled if
encountered during playback instead of index creation and the seek
code was also buggy when they were encountered and parsed; i didn't
consider it worth the effort to fix it.
2010-01-01 19:17:51 +02:00
..
aac_hdr.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
asf.h Calculate length of ASF files with more than 1 second precision. 2009-11-10 16:24:16 +00:00
asfguid.h Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
asfheader.c Merge svn changes up to r29912 2009-11-16 07:01:46 +02:00
aviheader.c Merge svn changes up to r30136 2009-12-30 00:56:10 +02:00
aviheader.h Try to detect broken files with unaligned chunks. 2009-11-16 10:41:06 +00:00
aviprint.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demux_aac.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demux_asf.c Merge svn changes up to r29912 2009-11-16 07:01:46 +02:00
demux_audio.c Merge svn changes up to r29962 2009-11-23 01:56:21 +02:00
demux_avi.c Merge svn changes up to r29962 2009-11-23 01:56:21 +02:00
demux_avs.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demux_avs.h Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demux_demuxers.c Merge svn changes up to r29912 2009-11-16 07:01:46 +02:00
demux_film.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demux_fli.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demux_gif.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demux_lavf.c Do not use correct-pts for mpeg-ts and matroska: It breaks PAFF samples. 2009-12-28 13:49:08 +00:00
demux_lmlm4.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demux_mf.c Set demuxer->filepos in mf demuxer, since the stream_tell fallback is not 2009-08-17 06:14:12 +00:00
demux_mkv.c demux_mkv: improve seeking with generated index 2010-01-01 19:17:51 +02:00
demux_mng.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demux_mov.c Merge svn changes up to r29644 2009-09-04 19:49:35 +03:00
demux_mpc.c Add standard license header to all files in libmpdemux. 2009-05-08 21:51:13 +00:00
demux_mpg.c Merge svn changes up to r30136 2009-12-30 00:56:10 +02:00
demux_nemesi.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demux_nsv.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demux_nut.c Merge svn changes up to r29304 2009-07-07 02:07:11 +03:00
demux_ogg.c Merge svn changes up to r29912 2009-11-16 07:01:46 +02:00
demux_pva.c Merge svn changes up to r29532 2009-08-18 02:29:37 +03:00
demux_rawaudio.c Get rid of rawaudio control code again that only duplicates the fallback code in 2009-08-17 05:56:36 +00:00
demux_rawdv.c calloc instead of malloc+memset. 2009-11-20 23:41:06 +00:00
demux_rawvideo.c Add standard license header to all files in libmpdemux. 2009-05-08 21:51:13 +00:00
demux_real.c Merge svn changes up to r29412 2009-07-07 02:56:01 +03:00
demux_realaud.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demux_roq.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demux_rtp_codec.cpp Silence two gcc warnings: suggest parentheses around && within || 2009-11-18 18:24:05 +00:00
demux_rtp_internal.h Add standard license header to all files in libmpdemux. 2009-05-08 21:51:13 +00:00
demux_rtp.cpp Merge svn changes up to r29644 2009-09-04 19:49:35 +03:00
demux_rtp.h Add standard license header to all files in libmpdemux. 2009-05-08 21:51:13 +00:00
demux_smjpeg.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demux_ts.c Add support for parsing audio streams (though should be easy to extend to video) 2009-12-27 15:28:01 +00:00
demux_ty_osd.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demux_ty.c Merge svn changes up to r29962 2009-11-23 01:56:21 +02:00
demux_viv.c Merge svn changes up to r29412 2009-07-07 02:56:01 +03:00
demux_vqf.c Replace libavutil internal header #includes with MPlayer copies 2009-07-26 06:16:43 +03:00
demux_xmms_plugin.h Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demux_xmms.c Merge svn changes up to r29455 2009-07-29 01:32:03 +03:00
demux_y4m.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
demuxer.c Merge svn changes up to r30136 2009-12-30 00:56:10 +02:00
demuxer.h Merge svn changes up to r30136 2009-12-30 00:56:10 +02:00
ebml.c demux_mkv.c, ebml.c: Reformat to K&R style 2009-12-29 21:58:30 +02:00
ebml.h Support for multiple editions in Matroska 2009-12-04 19:43:17 +02:00
extension.c Merge svn changes up to r30136 2009-12-30 00:56:10 +02:00
genres.h Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
matroska.h Add Dolby TrueHD support for mkv demuxer. 2009-08-13 21:54:08 +00:00
mf.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
mf.h Add standard license header to all files in libmpdemux. 2009-05-08 21:51:13 +00:00
mp3_hdr.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
mp3_hdr.h Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
mp_taglists.c Merge svn changes up to r30104 2009-12-30 00:14:20 +02:00
mp_taglists.h Fix declarations in mp_taglists.h and include it in mp_taglists.c to 2009-11-11 11:52:36 +00:00
mpeg_hdr.c Fix H.264 SPS parsing in case of scaling list present. 2009-08-11 18:44:43 +00:00
mpeg_hdr.h Add standard license header to all files in libmpdemux. 2009-05-08 21:51:13 +00:00
mpeg_packetizer.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
mpeg_packetizer.h Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
ms_hdr.h Replace WORDS_BIGENDIAN by HAVE_BIGENDIAN in all internal code. 2009-07-26 19:53:00 +00:00
muxer_avi.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
muxer_lavf.c Merge svn changes up to r29962 2009-11-23 01:56:21 +02:00
muxer_mpeg.c Fix printf format strings with invalid '%lf' conversion 2009-12-15 15:27:30 +02:00
muxer_rawaudio.c Merge svn changes up to r29304 2009-07-07 02:07:11 +03:00
muxer_rawvideo.c Add standard license header to all files in libmpdemux. 2009-05-08 21:51:13 +00:00
muxer.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
muxer.h Add standard license header to all files in libmpdemux. 2009-05-08 21:51:13 +00:00
parse_es.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
parse_es.h Add standard license header to all files in libmpdemux. 2009-05-08 21:51:13 +00:00
parse_mp4.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
parse_mp4.h Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
qtpalette.h Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
stheader.h Merge svn changes up to r30136 2009-12-30 00:56:10 +02:00
video.c Merge svn changes up to r29962 2009-11-23 01:56:21 +02:00
yuv4mpeg_intern.h Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
yuv4mpeg_ratio.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
yuv4mpeg.c Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
yuv4mpeg.h Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00