GNOME Bugzilla – Bug 309122
can't dismantle element group: scheduler/opt says: assertion failed: (group->group_links == NULL)
Last modified: 2005-11-30 13:05:49 UTC
when trying to dismantle a specific element group, containing oggdemux and vorbisdec elements, I can't, as no matter how I try to get rid of the group, I get: ** ERROR **: file gstoptimalscheduler.c: line 882 (destroy_group): assertion failed: (group->group_links == NULL) I got the suggestion that trying to play around with the order elements are unlinked and removed would help. but it doesn't.
Created attachment 48409 [details] output of the program running, with --gst-debug-level=5
Created attachment 48446 [details] sample code demonstrating the problem see this sample that demonstrates the problem. when run with an Ogg Vorbis input file, I get the error: ** ERROR **: file gstoptimalscheduler.c: line 871 (destroy_group): assertion failed: (group->group_links == NULL) when run with an mp3 input file, there's no error. I found that the issue comes up when using an N-to-1 element, such as the switch (but other elements bring up the issue as well)
as a workaround, if the following two blocks: gst_element_link(filter, sink); gst_bin_add_many(GST_BIN(pipeline), filter, sink, NULL); gst_element_link(decoder, filter); gst_bin_add_many(GST_BIN(pipeline), source, decoder, NULL); are reversed in order (first the decoder and the filter is linked), the assert is not thrown. this all looks very strange...
Note: This bug only affects alsasink. It does not happen with any other sink, e.g. osssink. So I suspect that it's a bug in alsasink itself.
Probably not alsasink itself, just that it is scheduled differently (loop-based rather than chain-based). In any case everyone who groks the scheduler now hacks 0.10, where issues like this don't exist. Closing as obsolete.