CVS Root: /cvs/gstreamer
Module: gst-plugins-bad
Changes by: slomo
Date: Fri Nov 28 2008 18:55:15 UTC
Log message:
* gst/mxf/mxfdemux.c: (gst_mxf_demux_pull_random_index_pack):
Only try to pull the random index pack at the end of file one time
and not for every single packet if it fails.
Modified files:
. : ChangeLog
gst/mxf : mxfdemux.c
Links:
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/ChangeLog.diff?r1=1.3762&r2=1.3763
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfdemux.c.diff?r1=1.14&r2=1.15
====Begin Diffs====
Index: ChangeLog
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/ChangeLog,v
retrieving revision 1.3762
retrieving revision 1.3763
diff -u -d -r1.3762 -r1.3763
--- ChangeLog 28 Nov 2008 18:13:27 -0000 1.3762
+++ ChangeLog 28 Nov 2008 18:55:00 -0000 1.3763
@@ -1,5 +1,11 @@
2008-11-28 Sebastian Dröge <[email protected]>
+ * gst/mxf/mxfdemux.c: (gst_mxf_demux_pull_random_index_pack):
+ Only try to pull the random index pack at the end of file one time
+ and not for every single packet if it fails.
+
+2008-11-28 Sebastian Dröge <[email protected]>
* gst/mxf/Makefile.am:
* gst/mxf/mxfaes-bwf.c: (mxf_bwf_create_caps):
* gst/mxf/mxfalaw.c: (mxf_is_alaw_audio_essence_track),
Index: mxfdemux.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfdemux.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- mxfdemux.c 28 Nov 2008 18:13:30 -0000 1.14
+++ mxfdemux.c 28 Nov 2008 18:55:01 -0000 1.15
@@ -1292,9 +1292,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;
}
@@ -2301,7 +2300,7 @@
if (!gst_pad_query_peer_duration (demux->sinkpad, &fmt, &filesize) ||
fmt != GST_FORMAT_BYTES || filesize == -1) {
GST_DEBUG_OBJECT (demux, "Can't query upstream size");
- return;
+ goto out;
}
g_assert (filesize > 4);
@@ -2310,7 +2309,7 @@
gst_mxf_demux_pull_range (demux, filesize - 4, 4,
&buffer)) != GST_FLOW_OK) {
GST_DEBUG_OBJECT (demux, "Failed pulling last 4 bytes");
pack_size = GST_READ_UINT32_BE (GST_BUFFER_DATA (buffer));
@@ -2319,17 +2318,17 @@
if (pack_size < 20) {
GST_DEBUG_OBJECT (demux, "Too small pack size");
} else if (pack_size > filesize - 20) {
GST_DEBUG_OBJECT (demux, "Too large pack size");
if ((ret =
gst_mxf_demux_pull_range (demux, filesize - pack_size, 16,
GST_DEBUG_OBJECT (demux, "Failed pulling random index pack key");
memcpy (&key, GST_BUFFER_DATA (buffer), 16);
@@ -2337,20 +2336,21 @@
if (!mxf_is_random_index_pack (&key)) {
GST_DEBUG_OBJECT (demux, "No random index pack");
gst_mxf_demux_pull_klv_packet (demux, filesize - pack_size, &key,
&buffer, NULL)) != GST_FLOW_OK) {
GST_DEBUG_OBJECT (demux, "Failed pulling random index pack");
gst_mxf_demux_handle_random_index_pack (demux, &key, buffer);
gst_buffer_unref (buffer);
+out:
if (!demux->partition_index)
demux->partition_index =
g_array_new (FALSE, FALSE, sizeof (MXFRandomIndexPackEntry));
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-cvs-verbose mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gstreamer-cvs-verbose
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.