2006-12-21 Stefan Kost <ensonic@users.sf.net>
+ * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
+ (GST_START_TEST):
+ fix race in underrun test
+
+2006-12-21 Stefan Kost <ensonic@users.sf.net>
+
* tests/check/elements/.cvsignore:
ignore more
queue_underrun (GstElement * queue, gpointer user_data)
{
GST_DEBUG ("queue underrun");
+ g_mutex_lock (check_mutex);
underrun_count++;
+ g_cond_signal (check_cond);
+ g_mutex_unlock (check_mutex);
}
GstElement *
GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,
"could not set to playing");
- /* do we need to wait here a little */
- usleep (100);
- /**/ GST_DEBUG ("running");
+ GST_DEBUG ("running");
+ g_mutex_lock (check_mutex);
+ g_cond_wait (check_cond, check_mutex);
+ g_mutex_unlock (check_mutex);
fail_unless (overrun_count == 0);
- fail_unless (underrun_count > 0);
+ fail_unless (underrun_count == 1);
fail_unless (buffer == NULL);