mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
gst/mxf/mxfdemux.c: Make sure to only output generic container essence elements for a track if the body SID of the su...
Original commit message from CVS: * gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_generic_container_essence_element): Make sure to only output generic container essence elements for a track if the body SID of the surrounding partition is the same as the body SID of the track's source package.
This commit is contained in:
parent
25a21ecdef
commit
10adeafe87
2 changed files with 29 additions and 6 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2008-11-24 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||||
|
|
||||||
|
* gst/mxf/mxfdemux.c:
|
||||||
|
(gst_mxf_demux_handle_generic_container_essence_element):
|
||||||
|
Make sure to only output generic container essence elements
|
||||||
|
for a track if the body SID of the surrounding partition is
|
||||||
|
the same as the body SID of the track's source package.
|
||||||
|
|
||||||
2008-11-24 Julien Moutte <julien@fluendo.com>
|
2008-11-24 Julien Moutte <julien@fluendo.com>
|
||||||
|
|
||||||
* gst/flv/gstflvdemux.c: (gst_flv_demux_find_offset),
|
* gst/flv/gstflvdemux.c: (gst_flv_demux_find_offset),
|
||||||
|
|
|
@ -1127,9 +1127,8 @@ gst_mxf_demux_handle_header_metadata_resolve_references (GstMXFDemux * demux)
|
||||||
MXFMetadataEssenceContainerData, i);
|
MXFMetadataEssenceContainerData, i);
|
||||||
|
|
||||||
for (j = 0; j < demux->content_storage.n_essence_container_data; j++) {
|
for (j = 0; j < demux->content_storage.n_essence_container_data; j++) {
|
||||||
if (mxf_ul_is_equal (&demux->
|
if (mxf_ul_is_equal (&demux->content_storage.
|
||||||
content_storage.essence_container_data_uids[j],
|
essence_container_data_uids[j], &data->instance_uid)) {
|
||||||
&data->instance_uid)) {
|
|
||||||
demux->content_storage.essence_container_data[j] = data;
|
demux->content_storage.essence_container_data[j] = data;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1862,7 +1861,7 @@ gst_mxf_demux_handle_generic_container_essence_element (GstMXFDemux * demux,
|
||||||
{
|
{
|
||||||
GstFlowReturn ret = GST_FLOW_OK;
|
GstFlowReturn ret = GST_FLOW_OK;
|
||||||
guint32 track_number;
|
guint32 track_number;
|
||||||
guint i;
|
guint i, j;
|
||||||
GstMXFPad *pad = NULL;
|
GstMXFPad *pad = NULL;
|
||||||
GstBuffer *inbuf;
|
GstBuffer *inbuf;
|
||||||
GstBuffer *outbuf = NULL;
|
GstBuffer *outbuf = NULL;
|
||||||
|
@ -1890,8 +1889,24 @@ gst_mxf_demux_handle_generic_container_essence_element (GstMXFDemux * demux,
|
||||||
(p->source_track->track_number == 0 &&
|
(p->source_track->track_number == 0 &&
|
||||||
demux->src->len == 1 &&
|
demux->src->len == 1 &&
|
||||||
demux->current_package->n_essence_tracks == 1)) {
|
demux->current_package->n_essence_tracks == 1)) {
|
||||||
pad = p;
|
if (demux->essence_container_data) {
|
||||||
break;
|
for (j = 0; j < demux->essence_container_data->len; j++) {
|
||||||
|
MXFMetadataEssenceContainerData *edata =
|
||||||
|
&g_array_index (demux->essence_container_data,
|
||||||
|
MXFMetadataEssenceContainerData, j);
|
||||||
|
|
||||||
|
if (p->source_package == edata->linked_package
|
||||||
|
&& demux->partition.body_sid == edata->body_sid) {
|
||||||
|
pad = p;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
pad = p;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pad)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue