mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 16:50:47 +00:00
ext/ogg/gstoggdemux.c: signal no-more-pads
Original commit message from CVS: * ext/ogg/gstoggdemux.c: (gst_ogg_demux_push): signal no-more-pads
This commit is contained in:
parent
616d9f6d9a
commit
e0eac30131
2 changed files with 12 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2004-05-13 Benjamin Otte <in7y118@public.uni-hamburg.de>
|
||||||
|
|
||||||
|
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_push):
|
||||||
|
signal no-more-pads
|
||||||
|
|
||||||
2004-05-13 Jan Schmidt <thaytan@mad.scientist.com>
|
2004-05-13 Jan Schmidt <thaytan@mad.scientist.com>
|
||||||
|
|
||||||
* ext/dv/gstdvdec.c: (gst_dvdec_src_convert)
|
* ext/dv/gstdvdec.c: (gst_dvdec_src_convert)
|
||||||
|
|
|
@ -117,7 +117,7 @@ struct _GstOggDemux
|
||||||
GstOggState state;
|
GstOggState state;
|
||||||
GArray *chains;
|
GArray *chains;
|
||||||
gint current_chain;
|
gint current_chain;
|
||||||
guint flags;
|
gboolean bos;
|
||||||
|
|
||||||
/* ogg stuff */
|
/* ogg stuff */
|
||||||
ogg_sync_state sync;
|
ogg_sync_state sync;
|
||||||
|
@ -376,8 +376,7 @@ gst_ogg_demux_src_event (GstPad * pad, GstEvent * event)
|
||||||
|
|
||||||
GST_OGG_SET_STATE (ogg, GST_OGG_STATE_SEEK);
|
GST_OGG_SET_STATE (ogg, GST_OGG_STATE_SEEK);
|
||||||
FOR_PAD_IN_CURRENT_CHAIN (ogg, pad,
|
FOR_PAD_IN_CURRENT_CHAIN (ogg, pad,
|
||||||
pad->flags |= GST_OGG_PAD_NEEDS_DISCONT;
|
pad->flags |= GST_OGG_PAD_NEEDS_DISCONT;);
|
||||||
);
|
|
||||||
GST_DEBUG_OBJECT (ogg, "initiating seeking to offset %" G_GUINT64_FORMAT,
|
GST_DEBUG_OBJECT (ogg, "initiating seeking to offset %" G_GUINT64_FORMAT,
|
||||||
offset);
|
offset);
|
||||||
ogg->seek_pad = cur;
|
ogg->seek_pad = cur;
|
||||||
|
@ -424,8 +423,7 @@ gst_ogg_demux_handle_event (GstPad * pad, GstEvent * event)
|
||||||
gst_event_unref (event);
|
gst_event_unref (event);
|
||||||
GST_FLAG_UNSET (ogg, GST_OGG_FLAG_WAIT_FOR_DISCONT);
|
GST_FLAG_UNSET (ogg, GST_OGG_FLAG_WAIT_FOR_DISCONT);
|
||||||
FOR_PAD_IN_CURRENT_CHAIN (ogg, pad,
|
FOR_PAD_IN_CURRENT_CHAIN (ogg, pad,
|
||||||
pad->flags |= GST_OGG_PAD_NEEDS_DISCONT;
|
pad->flags |= GST_OGG_PAD_NEEDS_DISCONT;);
|
||||||
);
|
|
||||||
break;
|
break;
|
||||||
case GST_EVENT_EOS:
|
case GST_EVENT_EOS:
|
||||||
if (ogg->state == GST_OGG_STATE_SETUP) {
|
if (ogg->state == GST_OGG_STATE_SETUP) {
|
||||||
|
@ -704,6 +702,10 @@ br:
|
||||||
CURRENT_CHAIN (ogg)->pads =
|
CURRENT_CHAIN (ogg)->pads =
|
||||||
g_slist_prepend (CURRENT_CHAIN (ogg)->pads, cur);
|
g_slist_prepend (CURRENT_CHAIN (ogg)->pads, cur);
|
||||||
}
|
}
|
||||||
|
ogg->bos = TRUE;
|
||||||
|
} else if (ogg->bos) {
|
||||||
|
gst_element_no_more_pads (GST_ELEMENT (ogg));
|
||||||
|
ogg->bos = FALSE;
|
||||||
}
|
}
|
||||||
if (cur == NULL) {
|
if (cur == NULL) {
|
||||||
GST_ELEMENT_ERROR (ogg, STREAM, DECODE, (NULL),
|
GST_ELEMENT_ERROR (ogg, STREAM, DECODE, (NULL),
|
||||||
|
|
Loading…
Reference in a new issue