mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-11 01:45:33 +00:00
gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get accessors returning refcounted objects, return a ref.
Original commit message from CVS: 2005-09-22 Andy Wingo <wingo@pobox.com> * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get accessors returning refcounted objects, return a ref. * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent accessor for caps. IDEMPOTENCE. Oh yes.
This commit is contained in:
parent
b907cd9815
commit
54a2e06698
4 changed files with 22 additions and 11 deletions
|
@ -1,3 +1,11 @@
|
|||
2005-09-22 Andy Wingo <wingo@pobox.com>
|
||||
|
||||
* gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
|
||||
accessors returning refcounted objects, return a ref.
|
||||
|
||||
* check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
|
||||
accessor for caps. IDEMPOTENCE. Oh yes.
|
||||
|
||||
2005-09-21 Francis Labonte <francis_labonte at hotmail dot com>
|
||||
|
||||
Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
|
||||
|
|
|
@ -31,12 +31,12 @@ GST_START_TEST (test_caps)
|
|||
caps = gst_caps_from_string ("audio/x-raw-int");
|
||||
ASSERT_CAPS_REFCOUNT (caps, "caps", 1);
|
||||
|
||||
fail_unless (gst_buffer_get_caps (buffer) == NULL);
|
||||
fail_unless (GST_BUFFER_CAPS (buffer) == NULL);
|
||||
|
||||
gst_buffer_set_caps (buffer, caps);
|
||||
ASSERT_CAPS_REFCOUNT (caps, "caps", 2);
|
||||
|
||||
fail_unless (gst_buffer_get_caps (buffer) == caps);
|
||||
fail_unless (GST_BUFFER_CAPS (buffer) == caps);
|
||||
ASSERT_CAPS_REFCOUNT (caps, "caps", 2);
|
||||
|
||||
caps2 = gst_caps_from_string ("audio/x-raw-float");
|
||||
|
|
|
@ -274,21 +274,24 @@ gst_buffer_new_and_alloc (guint size)
|
|||
* is not media type attached to this buffer or when the media
|
||||
* type is the same as the previous received buffer.
|
||||
*
|
||||
* This function does not increment the refcount of the caps. The
|
||||
* caps pointer will therefore remain valid until the buffer is
|
||||
* unreffed.
|
||||
*
|
||||
* Returns: the #GstCaps, or NULL if there was an error or there
|
||||
* were no caps on this buffer.
|
||||
* Returns: a reference to the #GstCaps, or NULL if there were no caps on this
|
||||
* buffer.
|
||||
*/
|
||||
/* FIXME can we make this threadsafe without a lock on the buffer?
|
||||
* We can use compare and swap and atomic reads. */
|
||||
GstCaps *
|
||||
gst_buffer_get_caps (GstBuffer * buffer)
|
||||
{
|
||||
GstCaps *ret;
|
||||
|
||||
g_return_val_if_fail (buffer != NULL, NULL);
|
||||
|
||||
return GST_BUFFER_CAPS (buffer);
|
||||
ret = GST_BUFFER_CAPS (buffer);
|
||||
|
||||
if (ret)
|
||||
gst_caps_ref (ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -31,12 +31,12 @@ GST_START_TEST (test_caps)
|
|||
caps = gst_caps_from_string ("audio/x-raw-int");
|
||||
ASSERT_CAPS_REFCOUNT (caps, "caps", 1);
|
||||
|
||||
fail_unless (gst_buffer_get_caps (buffer) == NULL);
|
||||
fail_unless (GST_BUFFER_CAPS (buffer) == NULL);
|
||||
|
||||
gst_buffer_set_caps (buffer, caps);
|
||||
ASSERT_CAPS_REFCOUNT (caps, "caps", 2);
|
||||
|
||||
fail_unless (gst_buffer_get_caps (buffer) == caps);
|
||||
fail_unless (GST_BUFFER_CAPS (buffer) == caps);
|
||||
ASSERT_CAPS_REFCOUNT (caps, "caps", 2);
|
||||
|
||||
caps2 = gst_caps_from_string ("audio/x-raw-float");
|
||||
|
|
Loading…
Reference in a new issue