From: Thomas Vander Stichele Date: Fri, 9 Jul 2004 10:56:51 +0000 (+0000) Subject: don't assert in state change X-Git-Tag: BRANCH-GSTREAMER-0_8-ROOT~881 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c750d9bd490063e9f940ae9341dbe3a0f4f7e9de;p=platform%2Fupstream%2Fgst-plugins-base.git don't assert in state change Original commit message from CVS: don't assert in state change --- diff --git a/ChangeLog b/ChangeLog index 620635c..7264b2a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,30 @@ +2004-07-09 Thomas Vander Stichele + + * ext/alsa/gstalsa.c: (gst_alsa_change_state): + * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event), + (gst_alsa_sink_loop), (gst_alsa_sink_change_state): + * ext/alsa/gstalsasrc.c: (gst_alsa_src_change_state): + * ext/libvisual/visual.c: (gst_visual_change_state): + * ext/ogg/gstoggdemux.c: (gst_ogg_demux_change_state): + * ext/theora/theoradec.c: (theora_dec_change_state): + * ext/theora/theoraenc.c: (theora_enc_change_state): + * ext/vorbis/vorbisdec.c: (vorbis_dec_change_state): + * gst-libs/gst/navigation/navigation.c: + * gst/adder/gstadder.c: (gst_adder_change_state): + * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain), + (gst_audio_convert_get_buffer): + * gst/multipart/multipartdemux.c: + (gst_multipart_demux_change_state): + * gst/playback/gstdecodebin.c: (gst_decode_bin_change_state): + * gst/playback/gstplaybasebin.c: (gst_play_base_bin_change_state): + * gst/playback/gstplaybin.c: (gst_play_bin_change_state): + * gst/videoscale/gstvideoscale.c: + (gst_videoscale_handle_src_event): + * gst/volume/gstvolume.c: (volume_chain_int16): + don't assert in state change, this should be done by the base + GstElement class. + various debugging fixes. + 2004-07-08 Thomas Vander Stichele * configure.ac: diff --git a/ext/alsa/gstalsa.c b/ext/alsa/gstalsa.c index 1fbcbde..9cd4950 100644 --- a/ext/alsa/gstalsa.c +++ b/ext/alsa/gstalsa.c @@ -1131,7 +1131,7 @@ gst_alsa_change_state (GstElement * element) break; default: - g_assert_not_reached (); + break; } if (GST_ELEMENT_CLASS (parent_class)->change_state) diff --git a/ext/alsa/gstalsasink.c b/ext/alsa/gstalsasink.c index 68adf93..a757fb9 100644 --- a/ext/alsa/gstalsasink.c +++ b/ext/alsa/gstalsasink.c @@ -548,7 +548,7 @@ gst_alsa_sink_change_state (GstElement * element) case GST_STATE_READY_TO_NULL: break; default: - g_assert_not_reached (); + break; } if (GST_ELEMENT_CLASS (sink_parent_class)->change_state) diff --git a/ext/alsa/gstalsasrc.c b/ext/alsa/gstalsasrc.c index e3b0c6a..47ee18d 100644 --- a/ext/alsa/gstalsasrc.c +++ b/ext/alsa/gstalsasrc.c @@ -521,7 +521,7 @@ gst_alsa_src_change_state (GstElement * element) case GST_STATE_READY_TO_NULL: break; default: - g_assert_not_reached (); + break; } if (GST_ELEMENT_CLASS (src_parent_class)->change_state) diff --git a/ext/libvisual/visual.c b/ext/libvisual/visual.c index 368df29..65889aa 100644 --- a/ext/libvisual/visual.c +++ b/ext/libvisual/visual.c @@ -339,7 +339,7 @@ gst_visual_change_state (GstElement * element) visual->actor = NULL; break; default: - g_assert_not_reached (); + break; } if (GST_ELEMENT_CLASS (parent_class)->change_state) diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c index de93584..8608ec0 100644 --- a/ext/ogg/gstoggdemux.c +++ b/ext/ogg/gstoggdemux.c @@ -448,7 +448,8 @@ gst_ogg_demux_src_event (GstPad * pad, GstEvent * event) GST_OGG_SET_STATE (ogg, GST_OGG_STATE_SEEK); 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, offset); ogg->seek_pad = cur; @@ -499,7 +500,8 @@ gst_ogg_demux_handle_event (GstPad * pad, GstEvent * event) gst_event_unref (event); GST_FLAG_UNSET (ogg, GST_OGG_FLAG_WAIT_FOR_DISCONT); FOR_PAD_IN_CURRENT_CHAIN (ogg, pad, - pad->flags |= GST_OGG_PAD_NEEDS_DISCONT;); + pad->flags |= GST_OGG_PAD_NEEDS_DISCONT; + ); break; default: gst_pad_event_default (pad, event); @@ -756,7 +758,8 @@ _find_chain_get_unknown_part (GstOggDemux * ogg, gint64 * start, gint64 * end) *end = G_MAXINT64; g_assert (ogg->current_chain >= 0); - FOR_PAD_IN_CURRENT_CHAIN (ogg, pad, *start = MAX (*start, pad->end_offset);); + FOR_PAD_IN_CURRENT_CHAIN (ogg, pad, *start = MAX (*start, pad->end_offset); + ); if (ogg->setup_state == SETUP_FIND_LAST_CHAIN) { *end = gst_file_pad_get_length (ogg->sinkpad); @@ -886,7 +889,8 @@ _find_streams_check (GstOggDemux * ogg) } else { endpos = G_MAXINT64; FOR_PAD_IN_CHAIN (ogg, pad, ogg->chains->len - 1, - endpos = MIN (endpos, pad->start_offset);); + endpos = MIN (endpos, pad->start_offset); + ); } if (!ogg->seek_skipped || gst_ogg_demux_position (ogg) >= endpos) { /* have we found the endposition for all streams yet? */ @@ -1317,7 +1321,6 @@ gst_ogg_demux_change_state (GstElement * element) ogg_sync_clear (&ogg->sync); break; default: - g_assert_not_reached (); break; } diff --git a/ext/theora/theoradec.c b/ext/theora/theoradec.c index 2229879..e870c5f 100644 --- a/ext/theora/theoradec.c +++ b/ext/theora/theoradec.c @@ -486,7 +486,6 @@ theora_dec_change_state (GstElement * element) case GST_STATE_READY_TO_NULL: break; default: - g_assert_not_reached (); break; } diff --git a/ext/theora/theoraenc.c b/ext/theora/theoraenc.c index 40384c7..6b689aa 100644 --- a/ext/theora/theoraenc.c +++ b/ext/theora/theoraenc.c @@ -483,7 +483,6 @@ theora_enc_change_state (GstElement * element) case GST_STATE_READY_TO_NULL: break; default: - g_assert_not_reached (); break; } diff --git a/ext/vorbis/vorbisdec.c b/ext/vorbis/vorbisdec.c index 74528b1..1d5b6eb 100644 --- a/ext/vorbis/vorbisdec.c +++ b/ext/vorbis/vorbisdec.c @@ -463,7 +463,6 @@ vorbis_dec_change_state (GstElement * element) case GST_STATE_READY_TO_NULL: break; default: - g_assert_not_reached (); break; } diff --git a/gst-libs/gst/interfaces/navigation.c b/gst-libs/gst/interfaces/navigation.c index 32510ff..ac0b9e5 100644 --- a/gst-libs/gst/interfaces/navigation.c +++ b/gst-libs/gst/interfaces/navigation.c @@ -59,6 +59,8 @@ gst_navigation_class_init (GstNavigationInterface * iface) iface->send_event = NULL; } +/* The interface implementer should make sure that the object can handle + * the event. */ void gst_navigation_send_event (GstNavigation * navigation, GstStructure * structure) { diff --git a/gst-libs/gst/navigation/navigation.c b/gst-libs/gst/navigation/navigation.c index 32510ff..ac0b9e5 100644 --- a/gst-libs/gst/navigation/navigation.c +++ b/gst-libs/gst/navigation/navigation.c @@ -59,6 +59,8 @@ gst_navigation_class_init (GstNavigationInterface * iface) iface->send_event = NULL; } +/* The interface implementer should make sure that the object can handle + * the event. */ void gst_navigation_send_event (GstNavigation * navigation, GstStructure * structure) { diff --git a/gst/adder/gstadder.c b/gst/adder/gstadder.c index a3bd786..e85012d 100644 --- a/gst/adder/gstadder.c +++ b/gst/adder/gstadder.c @@ -497,15 +497,10 @@ gst_adder_change_state (GstElement * element) adder->offset = 0; break; case GST_STATE_PAUSED_TO_PLAYING: - break; case GST_STATE_PLAYING_TO_PAUSED: - break; case GST_STATE_PAUSED_TO_READY: - break; case GST_STATE_READY_TO_NULL: - break; default: - g_assert_not_reached (); break; } diff --git a/gst/audioconvert/gstaudioconvert.c b/gst/audioconvert/gstaudioconvert.c index e61da8c..28d1df3 100644 --- a/gst/audioconvert/gstaudioconvert.c +++ b/gst/audioconvert/gstaudioconvert.c @@ -253,6 +253,7 @@ gst_audio_convert_chain (GstPad * pad, GstData * data) gst_pad_event_default (pad, GST_EVENT (buf)); return; } + g_return_if_fail (GST_IS_BUFFER (buf)); if (!gst_pad_is_negotiated (this->sink)) { GST_ELEMENT_ERROR (this, CORE, NEGOTIATION, (NULL), @@ -550,6 +551,8 @@ gst_audio_convert_get_buffer (GstBuffer * buf, guint size) { GstBuffer *ret; + g_assert (GST_IS_BUFFER (buf)); + GST_LOG ("new buffer of size %u requested. Current is: data: %p - size: %u - maxsize: %u", size, buf->data, buf->size, buf->maxsize); diff --git a/gst/playback/gstdecodebin.c b/gst/playback/gstdecodebin.c index 3481fa2..192354f 100644 --- a/gst/playback/gstdecodebin.c +++ b/gst/playback/gstdecodebin.c @@ -391,9 +391,9 @@ close_link (GstElement * element, GstDecodeBin * decode_bin) switch (GST_PAD_TEMPLATE_PRESENCE (templ)) { case GST_PAD_ALWAYS: { - GstPad *pad = - gst_element_get_pad (element, + GstPad *pad = gst_element_get_pad (element, GST_PAD_TEMPLATE_NAME_TEMPLATE (templ)); + if (pad) { to_connect = g_list_prepend (to_connect, pad); } @@ -401,9 +401,9 @@ close_link (GstElement * element, GstDecodeBin * decode_bin) } case GST_PAD_SOMETIMES: { - GstPad *pad = - gst_element_get_pad (element, + GstPad *pad = gst_element_get_pad (element, GST_PAD_TEMPLATE_NAME_TEMPLATE (templ)); + if (pad) { to_connect = g_list_prepend (to_connect, pad); } else { @@ -493,19 +493,13 @@ gst_decode_bin_change_state (GstElement * element) switch (GST_STATE_TRANSITION (element)) { case GST_STATE_NULL_TO_READY: - break; case GST_STATE_READY_TO_PAUSED: - break; case GST_STATE_PAUSED_TO_PLAYING: - break; case GST_STATE_PLAYING_TO_PAUSED: - break; case GST_STATE_PAUSED_TO_READY: - break; case GST_STATE_READY_TO_NULL: break; default: - g_assert_not_reached (); break; } diff --git a/gst/playback/gstplaybasebin.c b/gst/playback/gstplaybasebin.c index ffae8b8..636ce2a 100644 --- a/gst/playback/gstplaybasebin.c +++ b/gst/playback/gstplaybasebin.c @@ -430,7 +430,6 @@ gst_play_base_bin_change_state (GstElement * element) gst_object_unref (GST_OBJECT (play_base_bin->thread)); break; default: - g_assert_not_reached (); break; } diff --git a/gst/playback/gstplaybin.c b/gst/playback/gstplaybin.c index d27e9d5..3b988f2 100644 --- a/gst/playback/gstplaybin.c +++ b/gst/playback/gstplaybin.c @@ -359,15 +359,11 @@ gst_play_bin_change_state (GstElement * element) setup_sinks (play_bin); break; case GST_STATE_PAUSED_TO_PLAYING: - break; case GST_STATE_PLAYING_TO_PAUSED: - break; case GST_STATE_PAUSED_TO_READY: - break; case GST_STATE_READY_TO_NULL: break; default: - g_assert_not_reached (); break; } diff --git a/gst/videoscale/gstvideoscale.c b/gst/videoscale/gstvideoscale.c index 596cb14..7b9d6ae 100644 --- a/gst/videoscale/gstvideoscale.c +++ b/gst/videoscale/gstvideoscale.c @@ -332,10 +332,14 @@ gst_videoscale_handle_src_event (GstPad * pad, GstEvent * event) } gst_event_unref (event); new_event = gst_event_new (GST_EVENT_NAVIGATION); + GST_DEBUG_OBJECT (videoscale, "creating new NAVIGATION event %p", + new_event); new_event->event_data.structure.structure = structure; return gst_pad_event_default (pad, new_event); break; default: + GST_DEBUG_OBJECT (videoscale, "passing on non-NAVIGATION event %p", + event); return gst_pad_event_default (pad, event); break; } diff --git a/gst/volume/gstvolume.c b/gst/volume/gstvolume.c index e177ab8..b1363ff 100644 --- a/gst/volume/gstvolume.c +++ b/gst/volume/gstvolume.c @@ -446,12 +446,15 @@ volume_chain_int16 (GstPad * pad, GstData * _data) gint16 *data; gint i, num_samples; + g_return_if_fail (_data); g_return_if_fail (GST_IS_PAD (pad)); g_return_if_fail (buf != NULL); filter = GST_VOLUME (GST_OBJECT_PARENT (pad)); g_return_if_fail (GST_IS_VOLUME (filter)); + GST_LOG_OBJECT (filter, "processing incoming buffer with refcount %d", + GST_BUFFER_REFCOUNT_VALUE (buf)); out_buf = gst_buffer_copy_on_write (buf); data = (gint16 *) GST_BUFFER_DATA (out_buf); @@ -484,7 +487,6 @@ volume_chain_int16 (GstPad * pad, GstData * _data) } gst_pad_push (filter->srcpad, GST_DATA (out_buf)); - } static void