gst/gstelement.c: whoops, store the signal id correctly

Original commit message from CVS:
* gst/gstelement.c: (gst_element_class_init):
whoops, store the signal id correctly
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_chain_wrapper):
detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
chain function isn't linked
This commit is contained in:
Benjamin Otte 2004-05-13 15:07:56 +00:00
parent 7dcd6a0533
commit 5d353409c2
3 changed files with 15 additions and 1 deletions

View file

@ -1,3 +1,12 @@
2004-05-13 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/gstelement.c: (gst_element_class_init):
whoops, store the signal id correctly
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_chain_wrapper):
detect infinfinfinfinfinf^Cinite loops in chain wrapper when the
chain function isn't linked
2004-05-13 Jan Schmidt <thaytan@mad.scientist.com>
* configure.ac:
Add $GST_PKG_CFLAGS back into GST_INT_CFLAGS so I have large file

View file

@ -148,7 +148,7 @@ gst_element_class_init (GstElementClass * klass)
G_STRUCT_OFFSET (GstElementClass, found_tag), NULL, NULL,
gst_marshal_VOID__OBJECT_BOXED, G_TYPE_NONE, 2, GST_TYPE_ELEMENT,
GST_TYPE_TAG_LIST);
gst_element_signals[FOUND_TAG] =
gst_element_signals[NO_MORE_PADS] =
g_signal_new ("no-more-pads", G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstElementClass, no_more_pads), NULL,
NULL, gst_marshal_VOID__VOID, G_TYPE_NONE, 0);

View file

@ -373,6 +373,11 @@ gst_basic_scheduler_chain_wrapper (int argc, char **argv)
pads = g_list_next (pads);
}
} while (pads != NULL);
if (already_iterated == NULL) {
GST_DEBUG_OBJECT (SCHED (element), "nothing to iterate for element %s",
GST_ELEMENT_NAME (element));
break;
}
g_slist_free (already_iterated);
already_iterated = NULL;
} while (!GST_ELEMENT_IS_COTHREAD_STOPPING (element));