gst/mxf/: Remove the concept of "final" metadata, broken files have updated metadata...
authorSebastian Dröge <slomo@circular-chaos.org>
Mon, 8 Dec 2008 15:28:58 +0000 (15:28 +0000)
committerSebastian Dröge <slomo@circular-chaos.org>
Mon, 8 Dec 2008 15:28:58 +0000 (15:28 +0000)
commit204cd06fbee8807bcf33baf46f679196d60a107f
tree6c4670b0f3118182e1f47b8f2de2f8322dc60b8f
parentd7a23866d232a457c1e7e7ea94baee15c5b32e89
gst/mxf/: Remove the concept of "final" metadata, broken files have updated metadata in following partitions even if ...

Original commit message from CVS:
* gst/mxf/mxfdemux.c: (gst_mxf_demux_reset_metadata),
(gst_mxf_demux_handle_primer_pack),
(gst_mxf_demux_handle_metadata_preface),
(gst_mxf_demux_handle_header_metadata_resolve_references),
(gst_mxf_demux_choose_package),
(gst_mxf_demux_handle_header_metadata_update_streams),
(gst_mxf_demux_parse_footer_metadata),
(gst_mxf_demux_handle_klv_packet):
* gst/mxf/mxfdemux.h:
* gst/mxf/mxftypes.h:
Remove the concept of "final" metadata, broken files have updated
metadata in following partitions even if the current partition
is closed and complete.
If there's a second primer pack inside a partition ignore the second
one instead of throwing an error.
Store the type of a track (audio, video, timestamp, ...) inside the
track struct.
Post no-more-pads only once for a stream and not a second time
when switching the currently playing package.
When updating all streams make sure that we could select and find
a package instead of dereferencing NULL.
Allow descriptive metadata inside metadata parts of a file when
pulling the footer metadata too.
Only switch the currently playing package if a new one was chosen
and the metadata is in a resolved state. If the latter isn't true
postpone the switch until the metadata is resolved.
Pull the footer metadata directly after parsing the header partition
pack if it's not closed or not complete instead of waiting until
the next KLV packet.
ChangeLog
gst/mxf/mxfdemux.c
gst/mxf/mxfdemux.h
gst/mxf/mxftypes.h