diff options
author | Thomas Vander Stichele <thomas@apestaart.org> | 2006-06-11 18:52:19 +0000 |
---|---|---|
committer | Thomas Vander Stichele <thomas@apestaart.org> | 2006-06-11 18:52:19 +0000 |
commit | 95e65f4622d78ae75c85d8a65041f5ebd7578a85 (patch) | |
tree | 404e17f1681c3f8dd8fdde1be4c329e9cda8edb9 /tests | |
parent | a0e0e270bc9a587f2c0cc5252992f923f8133330 (diff) |
ext/raw1394/gstdv1394src.c: gratuitous comment changes
Original commit message from CVS:
* ext/raw1394/gstdv1394src.c: (gst_dv1394src_discover_avc_node):
gratuitous comment changes
* tests/check/elements/level.c: (GST_START_TEST):
fix level test leaks
Diffstat (limited to 'tests')
-rw-r--r-- | tests/check/elements/level.c | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/tests/check/elements/level.c b/tests/check/elements/level.c index b68dac04..04ddec87 100644 --- a/tests/check/elements/level.c +++ b/tests/check/elements/level.c @@ -119,7 +119,9 @@ GST_START_TEST (test_int16) /* create a bus to get the level message on */ bus = gst_bus_new (); + ASSERT_OBJECT_REFCOUNT (bus, "bus", 1); gst_element_set_bus (level, bus); + ASSERT_OBJECT_REFCOUNT (bus, "bus", 2); /* pushing gives away my reference ... */ fail_unless (gst_pad_push (mysrcpad, inbuffer) == GST_FLOW_OK); @@ -130,6 +132,7 @@ GST_START_TEST (test_int16) fail_unless (inbuffer == outbuffer); message = gst_bus_poll (bus, GST_MESSAGE_ELEMENT, -1); + ASSERT_OBJECT_REFCOUNT (message, "message", 1); fail_unless (message != NULL); fail_unless (GST_MESSAGE_SRC (message) == GST_OBJECT (level)); @@ -151,10 +154,28 @@ GST_START_TEST (test_int16) fail_if (dB > -5.9); } } + fail_unless_equals_int (g_list_length (buffers), 1); + fail_if ((outbuffer = (GstBuffer *) buffers->data) == NULL); + fail_unless (inbuffer == outbuffer); + + /* clean up */ + /* flush current messages,and future state change messages */ + gst_bus_set_flushing (bus, TRUE); + + /* message has a ref to the element */ + ASSERT_OBJECT_REFCOUNT (level, "level", 2); gst_message_unref (message); - // FIXME: need to fix leaks in level object first - //gst_object_unref (level); + ASSERT_OBJECT_REFCOUNT (level, "level", 1); + + gst_element_set_bus (level, NULL); + ASSERT_OBJECT_REFCOUNT (bus, "bus", 1); + gst_object_unref (bus); + gst_buffer_unref (outbuffer); + fail_unless (gst_element_set_state (level, + GST_STATE_NULL) == GST_STATE_CHANGE_SUCCESS, "could not set to null"); + ASSERT_OBJECT_REFCOUNT (level, "level", 1); + gst_object_unref (level); } GST_END_TEST; |