summaryrefslogtreecommitdiffstats
path: root/gst/mxf
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2008-12-06 20:46:46 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2008-12-06 20:46:46 +0000
commite3f042b99e9a039b9981a4b875f9c6aa59ef4a76 (patch)
tree236b7f515e34854d181c747b3b990feeef30f600 /gst/mxf
parentf4cb76e92dc78bdde3dd9be49fc921111a94ee0a (diff)
downloadgst-plugins-bad-e3f042b99e9a039b9981a4b875f9c6aa59ef4a76.tar.gz
gst-plugins-bad-e3f042b99e9a039b9981a4b875f9c6aa59ef4a76.tar.bz2
gst-plugins-bad-e3f042b99e9a039b9981a4b875f9c6aa59ef4a76.zip
gst/mxf/mxfdemux.c: The previous partition field of the partition is relative to the current partition and not to the...
Original commit message from CVS: * gst/mxf/mxfdemux.c: (gst_mxf_demux_parse_footer_metadata): The previous partition field of the partition is relative to the current partition and not to the offset of the header partition.
Diffstat (limited to 'gst/mxf')
-rw-r--r--gst/mxf/mxfdemux.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/gst/mxf/mxfdemux.c b/gst/mxf/mxfdemux.c
index b8418fa2..e9910116 100644
--- a/gst/mxf/mxfdemux.c
+++ b/gst/mxf/mxfdemux.c
@@ -1323,9 +1323,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;
}
@@ -2499,7 +2498,8 @@ next_try:
goto out;
offset =
- demux->header_partition_pack_offset + demux->partition.prev_partition;
+ demux->header_partition_pack_offset + demux->partition.this_partition -
+ demux->partition.prev_partition;
goto next_try;
}
@@ -2507,7 +2507,8 @@ next_try:
ret = gst_mxf_demux_pull_klv_packet (demux, offset, &key, &buffer, &read);
if (G_UNLIKELY (ret != GST_FLOW_OK)) {
offset =
- demux->header_partition_pack_offset + demux->partition.prev_partition;
+ demux->header_partition_pack_offset +
+ demux->partition.this_partition - demux->partition.prev_partition;
goto next_try;
}
@@ -2523,7 +2524,7 @@ next_try:
buffer = NULL;
offset =
demux->header_partition_pack_offset +
- demux->partition.prev_partition;
+ demux->partition.this_partition - demux->partition.prev_partition;
goto next_try;
}
offset += read;
@@ -2534,7 +2535,8 @@ next_try:
gst_buffer_unref (buffer);
buffer = NULL;
offset =
- demux->header_partition_pack_offset + demux->partition.prev_partition;
+ demux->header_partition_pack_offset +
+ demux->partition.this_partition - demux->partition.prev_partition;
goto next_try;
}
}
@@ -2544,7 +2546,8 @@ next_try:
ret = gst_mxf_demux_pull_klv_packet (demux, offset, &key, &buffer, &read);
if (G_UNLIKELY (ret != GST_FLOW_OK)) {
offset =
- demux->header_partition_pack_offset + demux->partition.prev_partition;
+ demux->header_partition_pack_offset +
+ demux->partition.this_partition - demux->partition.prev_partition;
goto next_try;
}
@@ -2558,7 +2561,7 @@ next_try:
gst_mxf_demux_reset_metadata (demux);
offset =
demux->header_partition_pack_offset +
- demux->partition.prev_partition;
+ demux->partition.this_partition - demux->partition.prev_partition;
goto next_try;
}
} else if (mxf_is_fill (&key)) {
@@ -2577,7 +2580,8 @@ next_try:
|| gst_mxf_demux_handle_header_metadata_update_streams (demux) !=
GST_FLOW_OK) {
offset =
- demux->header_partition_pack_offset + demux->partition.prev_partition;
+ demux->header_partition_pack_offset + demux->partition.this_partition -
+ demux->partition.prev_partition;
goto next_try;
}