Go to file
Aaron Colwell 6c4cc0f640 matroskadec: Fix seeking for matroska files with CUES before first cluster
This change fixes a bug where seeking doesn't work properly for
matroska files that have the CUES element before the first cluster.
This bug was accidentally introduced a few months ago by my deferred CUES
loading patch<http://git.videolan.org/?p=ffmpeg.git;a=commit;h=31ad14c21e0735387ba8082c6e3436241f7ccfc8>
.

When the CUES element appears before the first cluster in the file, the data
is parsed and placed in matroska->index but that data is never added to the
seek index. Currently the transfer from matroska->index to the seek index
only happens when matroska_parse_cues() is called.
Matroska_parse_cues() only gets called on a seek if cues_parsing_deferred is
set. Cues_parsing_deferred only gets set if parsing the CUES requires
seeking past the first cluster. There is no code to handle the case where
CUES is before the first cluster.

This fix essentially restores the matroska->index processing that was
happening at the end of matroska_read_header() before I made my CUES
deferral change. In the case where CUES is before the first
cluster, matroska->index will have data and the seek index will be updated.
In the case where CUES is later in the file, matroska->index will be empty
and cues_parsing_deferred will be set so loading will happen later.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-22 21:34:50 +02:00
doc Cosmetics: Fix typo. 2011-09-22 13:36:33 +02:00
ffpresets presets: use private options in libx264-ipod ffpresets 2011-09-22 06:27:07 +02:00
libavcodec mpeg4videoenc: remove forgotten return -1 2011-09-22 18:16:57 +02:00
libavdevice Merge remote-tracking branch 'qatar/master' 2011-09-21 21:25:43 +02:00
libavfilter vf_drawtext: remove useless and misnamed intermediary "baseline" variable in draw_text() 2011-09-22 00:45:59 +02:00
libavformat matroskadec: Fix seeking for matroska files with CUES before first cluster 2011-09-22 21:34:50 +02:00
libavutil lavu: add av_x_if_null(). 2011-09-22 00:22:52 +02:00
libpostproc libpostproc: mmx code uses stack below %esp, fix that 2011-09-20 21:37:00 +02:00
libswresample rematrix: dont use floats for int16 code. 2011-09-19 09:25:50 +02:00
libswscale Hack around gcc 4.6 breaking asm using call. 2011-09-20 19:05:51 +02:00
mt-work
tests regtests: add a flashsv2 decoder test limited to keyframes 2011-09-20 01:12:42 +02:00
tools graph2dot: show timebase information for audio links 2011-09-17 01:36:32 +02:00
.gitignore gitignore: add libswresample* 2011-09-19 17:39:38 +02:00
avconv.c Merge remote-tracking branch 'qatar/master' 2011-09-12 00:32:54 +02:00
Changelog Merge remote-tracking branch 'qatar/master' 2011-09-17 22:36:43 +02:00
cmdutils_common_opts.h Merge remote-tracking branch 'qatar/master' 2011-09-12 00:32:54 +02:00
cmdutils.c Fix compilation without --disable-swscale. 2011-09-18 19:06:49 +02:00
cmdutils.h Merge remote-tracking branch 'qatar/master' 2011-09-12 00:32:54 +02:00
common.mak Add libswresample. 2011-09-19 07:04:17 +02:00
configure configure: swr pkgconfig 2011-09-19 07:32:38 +02:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Doxyfile doxygen: dont generate docs for avconv.c 2011-09-08 17:56:17 +02:00
ffmpeg.c Revert "ffmpeg: get rid of useless AVInputStream.nb_streams." 2011-09-21 14:12:00 +02:00
ffplay.c ffplay: dont drop all frames if realtime decoding is impossible 2011-09-14 14:56:59 +02:00
ffprobe.c ffprobe: remove misplaced and pointless comment. 2011-09-22 00:22:53 +02:00
ffserver.c Merge remote-tracking branch 'qatar/master' 2011-09-05 03:10:45 +02:00
INSTALL
LICENSE
MAINTAINERS MAINTAINERS: add my GPG fingerprint. 2011-09-19 17:04:34 +02:00
Makefile Add libswresample. 2011-09-19 07:04:17 +02:00
README
RELEASE set Release to 0.8.2.git. We are at 0.8.2 and a bit further. 2011-08-13 03:39:58 +02:00
subdir.mak Merge remote-tracking branch 'qatar/master' 2011-07-31 00:34:47 +02:00
version.sh version.sh: handle shallow clones and snapshots. 2011-07-22 10:43:59 +02:00

FFmpeg README
-------------

1) Documentation
----------------

* Read the documentation in the doc/ directory.

2) Licensing
------------

* See the LICENSE file.