priv->propose_allocation_metas = NULL;
/* if we hold the last ref, set to NULL */
- if (gst_harness_element_unref (h) == 0) {
+ if (h->element != NULL && gst_harness_element_unref (h) == 0) {
gboolean state_change;
GstState state, pending;
state_change = gst_element_set_state (h->element, GST_STATE_NULL);
g_ptr_array_unref (priv->stress);
priv->stress = NULL;
- gst_object_unref (h->element);
- h->element = NULL;
+ if (h->element) {
+ gst_object_unref (h->element);
+ h->element = NULL;
+ }
gst_object_replace ((GstObject **) & priv->testclock, NULL);
#include <gst/check/gstcheck.h>
#include <gst/check/gstharness.h>
+GST_START_TEST (test_harness_empty)
+{
+ GstHarness *h = gst_harness_new_empty ();
+ gst_harness_teardown (h);
+}
+
+GST_END_TEST;
+
static void
create_destroy_element_harness (gpointer data, gpointer user_data)
{
suite_add_tcase (s, tc_chain);
+ tcase_add_test (tc_chain, test_harness_empty);
tcase_add_test (tc_chain, test_harness_element_ref);
tcase_add_test (tc_chain, test_src_harness);
tcase_add_test (tc_chain, test_src_harness_no_forwarding);