mxfdec: hybrid demuxing/seeking solution
authorJanne Grunau <janne-libav@jannau.net>
Thu, 8 Dec 2011 19:28:49 +0000 (20:28 +0100)
committerJanne Grunau <janne-libav@jannau.net>
Sun, 22 Jan 2012 13:40:53 +0000 (14:40 +0100)
commitf028d4d1c393a13c66e828d45ba8412c0b4df6da
treeec674feec93ba16887e4e5ff06a6a4aca7ea74d0
parent1f5f8b26545c2c62c1600729963af282294c38ea
mxfdec: hybrid demuxing/seeking solution

This uses the old demuxing code for OP1a and separate demuxing code for OPAtom.
Timestamp output is added to the old demuxing code.

The seeking code is made to seek to the start of the desired EditUnit only,
from which the normal demuxing code takes over (if OP1a). This means we
do not use delta entries or slices, only StreamOffsets. OPAtom seeking
basically works like before.

This also makes D-10 seeking behave the same way as OP1a and OPAtom. In other
words, we allow seeking before the start or past the end for D-10 too.

Based on several patches by Tomas Härdin <tomas.hardin@codemill.se> and
Reimar Döffinger <Reimar.Doeffinger@gmx.de>.

Changed av_calloc to av_mallocz, added overflow checks.
libavformat/mxfdec.c
tests/ref/seek/lavf_mxf
tests/ref/seek/lavf_mxf_d10