~ubuntu-branches/ubuntu/feisty/gst-plugins-good0.10/feisty-security

« back to all changes in this revision

Viewing changes to tests/check/elements/level.c

  • Committer: Bazaar Package Importer
  • Author(s): Sebastian Dröge
  • Date: 2006-08-15 02:58:26 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20060815025826-h1sa4q0uxwqgzwki
Tags: 0.10.4-0ubuntu1
* Sync with Debian (pkg-gstreamer SVN, rev 470):
  + debian/rules,
    debian/control.in:
    - Add a -dbg package again

Show diffs side-by-side

added added

removed removed

Lines of Context:
92
92
  GstElement *level;
93
93
  GstBuffer *inbuffer, *outbuffer;
94
94
  GstBus *bus;
 
95
  GstCaps *caps;
95
96
  GstMessage *message;
96
97
  const GstStructure *structure;
97
98
  int i, j;
114
115
    *data = 16536;
115
116
    ++data;
116
117
  }
117
 
  gst_buffer_set_caps (inbuffer, gst_caps_from_string (LEVEL_CAPS_STRING));
 
118
  caps = gst_caps_from_string (LEVEL_CAPS_STRING);
 
119
  gst_buffer_set_caps (inbuffer, caps);
 
120
  gst_caps_unref (caps);
118
121
  ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
119
122
 
120
123
  /* create a bus to get the level message on */
121
124
  bus = gst_bus_new ();
 
125
  ASSERT_OBJECT_REFCOUNT (bus, "bus", 1);
122
126
  gst_element_set_bus (level, bus);
 
127
  ASSERT_OBJECT_REFCOUNT (bus, "bus", 2);
123
128
 
124
129
  /* pushing gives away my reference ... */
125
130
  fail_unless (gst_pad_push (mysrcpad, inbuffer) == GST_FLOW_OK);
130
135
  fail_unless (inbuffer == outbuffer);
131
136
 
132
137
  message = gst_bus_poll (bus, GST_MESSAGE_ELEMENT, -1);
 
138
  ASSERT_OBJECT_REFCOUNT (message, "message", 1);
133
139
 
134
140
  fail_unless (message != NULL);
135
141
  fail_unless (GST_MESSAGE_SRC (message) == GST_OBJECT (level));
151
157
      fail_if (dB > -5.9);
152
158
    }
153
159
  }
154
 
 
 
160
  fail_unless_equals_int (g_list_length (buffers), 1);
 
161
  fail_if ((outbuffer = (GstBuffer *) buffers->data) == NULL);
 
162
  fail_unless (inbuffer == outbuffer);
 
163
 
 
164
 
 
165
  /* clean up */
 
166
  /* flush current messages,and future state change messages */
 
167
  gst_bus_set_flushing (bus, TRUE);
 
168
 
 
169
  /* message has a ref to the element */
 
170
  ASSERT_OBJECT_REFCOUNT (level, "level", 2);
155
171
  gst_message_unref (message);
156
 
  // FIXME: need to fix leaks in level object first
157
 
  //gst_object_unref (level);
 
172
  ASSERT_OBJECT_REFCOUNT (level, "level", 1);
 
173
 
 
174
  gst_element_set_bus (level, NULL);
 
175
  ASSERT_OBJECT_REFCOUNT (bus, "bus", 1);
 
176
  gst_object_unref (bus);
 
177
  gst_buffer_unref (outbuffer);
 
178
  fail_unless (gst_element_set_state (level,
 
179
          GST_STATE_NULL) == GST_STATE_CHANGE_SUCCESS, "could not set to null");
 
180
  ASSERT_OBJECT_REFCOUNT (level, "level", 1);
 
181
  cleanup_level (level);
158
182
}
159
183
 
160
184
GST_END_TEST;