g_cond_free (thread->cond);
g_mutex_free (thread->iterate_lock);
- gst_object_replace ((GstObject **) & GST_ELEMENT_SCHED (thread), NULL);
+ gst_object_replace ((GstObject **) & GST_ELEMENT_SCHEDULER (thread), NULL);
}
/**
{
GstRealPad *peer = NULL;
GstElement *peerelement;
- GList *elements = (GList *) gst_bin_get_list (GST_BIN (thread));
+
+ /* not MT safe but gstthread is going away soon */
+ GList *elements = (GList *) GST_BIN (thread)->children;
while (elements) {
GstElement *element = GST_ELEMENT (elements->data);
if (!peerelement)
continue; /* FIXME: deal with case where there's no peer */
- if (GST_ELEMENT_SCHED (peerelement) != GST_ELEMENT_SCHED (thread)) {
+ if (GST_ELEMENT_SCHEDULER (peerelement) != GST_ELEMENT_SCHEDULER (thread)) {
GST_LOG_OBJECT (thread, "element \"%s\" has pad cross sched boundary",
GST_ELEMENT_NAME (element));
GST_LOG_OBJECT (thread, "waking element \"%s\"",
break;
case GST_STATE_PAUSED_TO_PLAYING:
{
- /* FIXME: recurse into sub-bins */
- GList *elements = (GList *) gst_bin_get_list (GST_BIN (thread));
+ /* FIXME: recurse into sub-bins. not MT safe but gstthread is going
+ * away soon. */
+ GList *elements = (GList *) GST_BIN (thread)->children;
while (elements) {
gst_element_enable_threadsafe_properties ((GstElement *) elements->
GST_FLAG_UNSET (thread, GST_THREAD_STATE_SPINNING);
- elements = (GList *) gst_bin_get_list (GST_BIN (thread));
+ elements = (GList *) GST_BIN (thread)->children;
while (elements) {
gst_element_disable_threadsafe_properties ((GstElement *) elements->
g_private_set (gst_thread_current, thread);
/* set up the element's scheduler */
- gst_scheduler_setup (GST_ELEMENT_SCHED (thread));
+ gst_scheduler_setup (GST_ELEMENT_SCHEDULER (thread));
GST_FLAG_UNSET (thread, GST_THREAD_STATE_REAPING);
GST_FLAG_UNSET (thread, GST_THREAD_STATE_WAITING);
/* we need to destroy the scheduler here because it might have
* mapped it's stack into the threads stack space */
- sched = GST_ELEMENT_SCHED (thread);
+ sched = GST_ELEMENT_SCHEDULER (thread);
if (sched)
gst_scheduler_reset (sched);