From: Wim Taymans Date: Thu, 5 May 2005 09:49:08 +0000 (+0000) Subject: gst/: Don't ignore _push() return values. X-Git-Tag: 1.19.3~511^2~13079 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3e5febcdd10b6a3aa744dd071730f601dca797c9;p=platform%2Fupstream%2Fgstreamer.git gst/: Don't ignore _push() return values. Original commit message from CVS: * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain), (gst_audio_convert_caps_remove_format_info), (gst_audio_convert_setcaps), (gst_audio_convert_fixate), (gst_audio_convert_change_state), (gst_audio_convert_channels): * gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_src_negotiate), (gst_videotestsrc_src_link), (gst_videotestsrc_parse_caps), (gst_videotestsrc_src_accept_caps), (gst_videotestsrc_setcaps), (gst_videotestsrc_activate), (gst_videotestsrc_init), (gst_videotestsrc_loop): Don't ignore _push() return values. Make sure no processing is done when shutting down. Videotestsrc pad activation fix. --- diff --git a/ChangeLog b/ChangeLog index 6d9602d..6e83c1b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,20 @@ 2005-05-05 Wim Taymans + * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain), + (gst_audio_convert_caps_remove_format_info), + (gst_audio_convert_setcaps), (gst_audio_convert_fixate), + (gst_audio_convert_change_state), (gst_audio_convert_channels): + * gst/videotestsrc/gstvideotestsrc.c: + (gst_videotestsrc_src_negotiate), (gst_videotestsrc_src_link), + (gst_videotestsrc_parse_caps), (gst_videotestsrc_src_accept_caps), + (gst_videotestsrc_setcaps), (gst_videotestsrc_activate), + (gst_videotestsrc_init), (gst_videotestsrc_loop): + Don't ignore _push() return values. + Make sure no processing is done when shutting down. + Videotestsrc pad activation fix. + +2005-05-05 Wim Taymans + * gst/adder/Makefile.am: * gst/adder/gstadder.c: (gst_adder_setcaps), (gst_adder_class_init), (gst_adder_init), diff --git a/gst/audioconvert/gstaudioconvert.c b/gst/audioconvert/gstaudioconvert.c index dd98d43..c4aca50 100644 --- a/gst/audioconvert/gstaudioconvert.c +++ b/gst/audioconvert/gstaudioconvert.c @@ -231,6 +231,7 @@ static GstFlowReturn gst_audio_convert_chain (GstPad * pad, GstBuffer * buf) { GstAudioConvert *this; + GstFlowReturn ret; this = GST_AUDIO_CONVERT (GST_OBJECT_PARENT (pad)); @@ -257,14 +258,17 @@ gst_audio_convert_chain (GstPad * pad, GstBuffer * buf) * - convert rate and channels * - convert back to output format */ + GST_STREAM_LOCK (pad); buf = gst_audio_convert_buffer_to_default_format (this, buf); - buf = gst_audio_convert_channels (this, buf); - buf = gst_audio_convert_buffer_from_default_format (this, buf); - return gst_pad_push (this->src, buf); + ret = gst_pad_push (this->src, buf); + + GST_STREAM_UNLOCK (pad); + + return ret; } static GstCaps * @@ -609,8 +613,10 @@ gst_audio_convert_change_state (GstElement * element) switch (GST_STATE_TRANSITION (element)) { case GST_STATE_PAUSED_TO_READY: + GST_STREAM_LOCK (this->sink); this->convert_internal = NULL; gst_audio_convert_unset_matrix (this); + GST_STREAM_UNLOCK (this->sink); break; default: break; diff --git a/gst/videotestsrc/gstvideotestsrc.c b/gst/videotestsrc/gstvideotestsrc.c index fd06e0e..31b2ab4 100644 --- a/gst/videotestsrc/gstvideotestsrc.c +++ b/gst/videotestsrc/gstvideotestsrc.c @@ -342,6 +342,9 @@ gst_videotestsrc_activate (GstPad * pad, GstActivateMode mode) result = TRUE; break; + default: + result = FALSE; + break; } return result; } @@ -676,7 +679,9 @@ gst_videotestsrc_loop (GstPad * pad) videotestsrc->n_frames++; videotestsrc->running_time += GST_BUFFER_DURATION (outbuf); - gst_pad_push (pad, outbuf); + if (gst_pad_push (pad, outbuf) != GST_FLOW_OK) + goto need_pause; + return; need_pause: