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.
This commit is contained in:
Ronald S. Bultje 2004-09-22 07:55:37 +00:00
parent 1b173507cb
commit 881982fdd1
2 changed files with 15 additions and 0 deletions

View file

@ -1,3 +1,17 @@
2004-09-22 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* 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.
2004-09-21 Zaheer Abbas Merali <zaheerabbas at merali dot org> 2004-09-21 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* testsuite/multifilesink/Makefile.am: * testsuite/multifilesink/Makefile.am:

View file

@ -340,6 +340,7 @@ Samples :
} }
if (!gst_pad_set_explicit_caps (auparse->srcpad, tempcaps)) { if (!gst_pad_set_explicit_caps (auparse->srcpad, tempcaps)) {
GST_ELEMENT_ERROR (auparse, CORE, NEGOTIATION, (NULL), (NULL));
gst_buffer_unref (buf); gst_buffer_unref (buf);
gst_object_unref (GST_OBJECT (auparse->srcpad)); gst_object_unref (GST_OBJECT (auparse->srcpad));
auparse->srcpad = NULL; auparse->srcpad = NULL;