From: <sl...@ke...> - 2008-12-06 20:47:05
|
CVS Root: /cvs/gstreamer Module: gst-plugins-bad Changes by: slomo Date: Sat Dec 06 2008 20:47:00 UTC Log message: * 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. Modified files: . : ChangeLog gst/mxf : mxfdemux.c Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/ChangeLog.diff?r1=1.3793&r2=1.3794 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfdemux.c.diff?r1=1.29&r2=1.30 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /cvs/gstreamer/gst-plugins-bad/ChangeLog,v retrieving revision 1.3793 retrieving revision 1.3794 diff -u -d -r1.3793 -r1.3794 --- ChangeLog 6 Dec 2008 19:46:03 -0000 1.3793 +++ ChangeLog 6 Dec 2008 20:46:45 -0000 1.3794 @@ -1,5 +1,12 @@ 2008-12-06 Sebastian Dröge <seb...@co...> + * 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. + +2008-12-06 Sebastian Dröge <seb...@co...> * gst/mxf/mxfd10.c: (mxf_d10_sound_handle_essence_element): Document decoding of the AES3 data and also skip the 32 bit header in the beginning of every buffer, otherwise we get Index: mxfdemux.c RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfdemux.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- mxfdemux.c 5 Dec 2008 12:26:01 -0000 1.29 +++ mxfdemux.c 6 Dec 2008 20:46:46 -0000 1.30 @@ -1323,9 +1323,8 @@ 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 @@ 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 @@ 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 @@ 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 @@ gst_buffer_unref (buffer); buffer = NULL; @@ -2544,7 +2546,8 @@ @@ -2558,7 +2561,7 @@ gst_mxf_demux_reset_metadata (demux); } else if (mxf_is_fill (&key)) { @@ -2577,7 +2580,8 @@ || gst_mxf_demux_handle_header_metadata_update_streams (demux) != GST_FLOW_OK) { |