diff --git a/ChangeLog b/ChangeLog index f6bb8a1b131a419f62e603cc08a4de0008e9b9ed..1e97eb2d97796a9628fbf166dd5d099a6569f2d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-02-07 David Schleef + + * ext/ogg/gstoggdemux.c: (gst_ogg_demux_handle_event): Don't + push events to pads that haven't been created (#133508) + 2004-02-07 Jan Schmidt * ext/dv/gstdvdec.c: (gst_dvdec_init), (gst_dvdec_src_convert), diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c index d8e4349b6d14073abfb596c86476714adcaa3bb9..bd5a3bc739bd0362bdb34026f3c18b90409893ab 100644 --- a/ext/ogg/gstoggdemux.c +++ b/ext/ogg/gstoggdemux.c @@ -423,9 +423,10 @@ gst_ogg_demux_handle_event (GstPad *pad, GstEvent *event) GstOggChain *chain = &g_array_index (ogg->chains, GstOggChain, i); for (walk = chain->pads; walk; walk = g_slist_next (walk)) { GstOggPad *pad = (GstOggPad *) walk->data; - gst_event_ref (event); - if (GST_PAD_IS_USABLE (pad->pad)) + if (pad->pad && GST_PAD_IS_USABLE (pad->pad)) { + gst_data_ref (GST_DATA (event)); gst_pad_push (pad->pad, GST_DATA (event)); + } } } gst_element_set_eos (GST_ELEMENT (ogg));