diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2008-12-01 14:25:19 +0000 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2008-12-01 14:25:19 +0000 |
commit | cffc0f920726841aa7c41bd418402adae5812488 (patch) | |
tree | 32aa0f15baefab3f8c2e281a371abb0ba2cf5441 | |
parent | 1d57f71709d1310ba9aba4675b8652d2f75ec0a7 (diff) |
gst/mxf/mxfdemux.c: If the preface references a primary package use this as the default playback package unless one w...
Original commit message from CVS:
* gst/mxf/mxfdemux.c: (gst_mxf_demux_choose_package):
If the preface references a primary package use this as the default
playback package unless one was specified by the "package" property.
If there's no preface primary package still try to use the first
material package.
-rw-r--r-- | ChangeLog | 8 | ||||
m--------- | common | 0 | ||||
-rw-r--r-- | gst/mxf/mxfdemux.c | 11 |
3 files changed, 16 insertions, 3 deletions
@@ -1,3 +1,11 @@ +2008-12-01 Sebastian Dröge <sebastian.droege@collabora.co.uk> + + * gst/mxf/mxfdemux.c: (gst_mxf_demux_choose_package): + If the preface references a primary package use this as the default + playback package unless one was specified by the "package" property. + If there's no preface primary package still try to use the first + material package. + 2008-11-30 Sebastian Dröge <sebastian.droege@collabora.co.uk> * gst/mxf/mxfdemux.c: diff --git a/common b/common -Subproject 5596f3e94835309b54029096f8bba528d79ae67 +Subproject 24963a683c185e1405b6f0aad37d95064cced93 diff --git a/gst/mxf/mxfdemux.c b/gst/mxf/mxfdemux.c index 33be43788..1bc0e7bfd 100644 --- a/gst/mxf/mxfdemux.c +++ b/gst/mxf/mxfdemux.c @@ -1305,9 +1305,8 @@ gst_mxf_demux_handle_header_metadata_resolve_references (GstMXFDemux * demux) MXFMetadataEssenceContainerData, i); for (j = 0; j < demux->content_storage.n_essence_container_data; j++) { - if (mxf_ul_is_equal (&demux-> - content_storage.essence_container_data_uids[j], - &data->instance_uid)) { + if (mxf_ul_is_equal (&demux->content_storage. + essence_container_data_uids[j], &data->instance_uid)) { demux->content_storage.essence_container_data[j] = data; break; } @@ -1677,6 +1676,12 @@ gst_mxf_demux_choose_package (GstMXFDemux * demux) GST_WARNING_OBJECT (demux, "Current package not found, choosing the first best"); + if (demux->preface.primary_package) + ret = demux->preface.primary_package; + if (ret && (ret->type == MXF_METADATA_GENERIC_PACKAGE_TOP_LEVEL_SOURCE + || ret->type == MXF_METADATA_GENERIC_PACKAGE_MATERIAL)) + return ret; + if (!demux->material_package) { GST_ERROR_OBJECT (demux, "No material package"); return NULL; |