diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2005-06-02 10:03:23 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2005-06-02 10:03:23 +0000 |
commit | 9cc325828029d5d746c1d13a0ea729900a7d3ef4 (patch) | |
tree | 725570e3cfc118541b3526ee7d2c690c5d6b6fa5 /gst/effectv/gstquark.c | |
parent | a5d8b514c5895a5b72336545ce0b0dacd460ad9e (diff) |
gst/: Bufferalloc changes.
Original commit message from CVS:
* gst/effectv/gstquark.c: (gst_quarktv_chain):
* gst/goom/gstgoom.c: (gst_goom_chain):
* gst/videobox/Makefile.am:
* gst/videobox/gstvideobox.c: (gst_video_box_class_init),
(gst_video_box_init), (gst_video_box_sink_setcaps),
(gst_video_box_chain):
* gst/videofilter/gstvideofilter.c: (gst_videofilter_chain):
* gst/videorate/gstvideorate.c: (gst_videorate_class_init),
(gst_videorate_getcaps), (gst_videorate_setcaps),
(gst_videorate_init), (gst_videorate_event), (gst_videorate_chain),
(gst_videorate_change_state):
Bufferalloc changes.
Diffstat (limited to 'gst/effectv/gstquark.c')
-rw-r--r-- | gst/effectv/gstquark.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/gst/effectv/gstquark.c b/gst/effectv/gstquark.c index fa15e8ad..e5df61be 100644 --- a/gst/effectv/gstquark.c +++ b/gst/effectv/gstquark.c @@ -237,6 +237,7 @@ gst_quarktv_chain (GstPad * pad, GstBuffer * buf) guint32 *src, *dest; GstBuffer *outbuf; gint area; + GstFlowReturn ret; filter = GST_QUARKTV (gst_pad_get_parent (pad)); @@ -244,7 +245,12 @@ gst_quarktv_chain (GstPad * pad, GstBuffer * buf) area = filter->area; - outbuf = gst_pad_alloc_buffer (filter->srcpad, 0, area, GST_PAD_CAPS (pad)); + ret = + gst_pad_alloc_buffer (filter->srcpad, 0, area, GST_PAD_CAPS (pad), + &outbuf); + if (ret != GST_FLOW_OK) + goto no_buffer; + dest = (guint32 *) GST_BUFFER_DATA (outbuf); GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (buf); @@ -264,14 +270,18 @@ gst_quarktv_chain (GstPad * pad, GstBuffer * buf) dest[area] = (rand ? ((guint32 *) GST_BUFFER_DATA (rand))[area] : 0); } - gst_pad_push (filter->srcpad, outbuf); + ret = gst_pad_push (filter->srcpad, outbuf); filter->current_plane--; - if (filter->current_plane < 0) filter->current_plane = filter->planes - 1; - return GST_FLOW_OK; + return ret; + +no_buffer: + { + return ret; + } } static GstElementStateReturn |