In GStreamer 1.0, when adding a new element to the pipeline in a signal
handler, its state has to be synced to the pipeline's state, because the
handler could be called in the middle of a state change which would
cause the state change to hang.
This was supposed to be done in GStreamer 0.10 too, but it never caused
any problems.
WARNING_S(_("Unexpected audio type in blorb"), type);
}
+ /* This is necessary in case this handler occurs in the middle of a state
+ change */
+ gst_element_sync_state_with_parent(s->decode);
+ if(s->demux != NULL)
+ gst_element_sync_state_with_parent(s->demux);
+
finally:
g_free(type);
}