summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 2db9109)
raw | patch | inline | side by side (parent: 2db9109)
author | Wim Taymans <wim.taymans@gmail.com> | |
Wed, 31 Aug 2005 13:50:40 +0000 (13:50 +0000) | ||
committer | Wim Taymans <wim.taymans@gmail.com> | |
Wed, 31 Aug 2005 13:50:40 +0000 (13:50 +0000) |
Original commit message from CVS:
* gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
(gst_base_transform_handle_buffer), (gst_base_transform_chain):
Don't leak refcounts on buffers.
* gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
(gst_base_transform_handle_buffer), (gst_base_transform_chain):
Don't leak refcounts on buffers.
ChangeLog | patch | blob | history | |
gst/base/gstbasetransform.c | patch | blob | history | |
libs/gst/base/gstbasetransform.c | patch | blob | history |
diff --git a/ChangeLog b/ChangeLog
index a1c1cd6cc7ac70465aa5152f4e74c2cb5aa1e62a..7c3a1e8959ef1de8fc3e133c0752e017d8706aea 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2005-08-31 Wim Taymans <wim@fluendo.com>
+
+ * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
+ (gst_base_transform_handle_buffer), (gst_base_transform_chain):
+ Don't leak refcounts on buffers.
+
2005-08-31 Wim Taymans <wim@fluendo.com>
* gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
index 39b0c1ee3de4ea390eda1603b930b1f3bf522fbb..cfd1becc224ec93fb2f787254940e699d72b1cce 100644 (file)
else
GST_LOG_OBJECT (trans, "... and offset NONE");
+ if (!trans->negotiated)
+ goto not_negotiated;
+
if (trans->in_place) {
/* passthrough elements or when the buffer is writable
* can be performed with the _ip method */
return ret;
/* ERRORS */
+not_negotiated:
+ {
+ gst_buffer_unref (inbuf);
+ GST_ELEMENT_ERROR (trans, STREAM, NOT_IMPLEMENTED,
+ ("not negotiated"), ("not negotiated"));
+ return GST_FLOW_NOT_NEGOTIATED;
+ }
no_size:
{
gst_buffer_unref (inbuf);
trans = GST_BASE_TRANSFORM (gst_pad_get_parent (pad));
- if (!trans->negotiated)
- goto not_negotiated;
-
ret = gst_base_transform_handle_buffer (trans, buffer, &outbuf);
if (ret == GST_FLOW_OK) {
ret = gst_pad_push (trans->srcpad, outbuf);
gst_object_unref (trans);
return ret;
-
-not_negotiated:
- {
- return GST_FLOW_NOT_NEGOTIATED;
- }
}
static void
index 39b0c1ee3de4ea390eda1603b930b1f3bf522fbb..cfd1becc224ec93fb2f787254940e699d72b1cce 100644 (file)
else
GST_LOG_OBJECT (trans, "... and offset NONE");
+ if (!trans->negotiated)
+ goto not_negotiated;
+
if (trans->in_place) {
/* passthrough elements or when the buffer is writable
* can be performed with the _ip method */
return ret;
/* ERRORS */
+not_negotiated:
+ {
+ gst_buffer_unref (inbuf);
+ GST_ELEMENT_ERROR (trans, STREAM, NOT_IMPLEMENTED,
+ ("not negotiated"), ("not negotiated"));
+ return GST_FLOW_NOT_NEGOTIATED;
+ }
no_size:
{
gst_buffer_unref (inbuf);
trans = GST_BASE_TRANSFORM (gst_pad_get_parent (pad));
- if (!trans->negotiated)
- goto not_negotiated;
-
ret = gst_base_transform_handle_buffer (trans, buffer, &outbuf);
if (ret == GST_FLOW_OK) {
ret = gst_pad_push (trans->srcpad, outbuf);
gst_object_unref (trans);
return ret;
-
-not_negotiated:
- {
- return GST_FLOW_NOT_NEGOTIATED;
- }
}
static void