From 881982fdd1df4ff14bafe250977a760d1365f8f3 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Wed, 22 Sep 2004 07:55:37 +0000 Subject: gst/asfdemux/gstasfdemux.c: Prevent infinite loops. More correct error reporting. Original commit message from CVS: * gst/asfdemux/gstasfdemux.c: (_read_var_length), (_read_guid), (gst_asf_demux_process_segment), (gst_asf_demux_handle_data), (gst_asf_demux_process_chunk), (gst_asf_demux_handle_sink_event): Prevent infinite loops. More correct error reporting. * gst/auparse/gstauparse.c: (gst_auparse_chain): Error out if negotiation fails. * gst/playback/gstplaybasebin.c: (setup_source), (gst_play_base_bin_change_state), (gst_play_base_bin_error), (gst_play_base_bin_found_tag): Error/tag forwarding. Pre-roll fixes for source errors on state changes (e.g. "file does not exist") to prevent hangs. --- gst/auparse/gstauparse.c | 1 + 1 file changed, 1 insertion(+) (limited to 'gst/auparse') diff --git a/gst/auparse/gstauparse.c b/gst/auparse/gstauparse.c index 944e0bd6..a9a764f3 100644 --- a/gst/auparse/gstauparse.c +++ b/gst/auparse/gstauparse.c @@ -340,6 +340,7 @@ Samples : } if (!gst_pad_set_explicit_caps (auparse->srcpad, tempcaps)) { + GST_ELEMENT_ERROR (auparse, CORE, NEGOTIATION, (NULL), (NULL)); gst_buffer_unref (buf); gst_object_unref (GST_OBJECT (auparse->srcpad)); auparse->srcpad = NULL; -- cgit