graph->listeners.source_filter_ports_connected);
if (!graph->listeners.source_filter_ports_connected) {
graph->listeners.source_filter_ports_connected);
if (!graph->listeners.source_filter_ports_connected) {
graph->listeners.filter_filter_ports_connected);
if (!graph->listeners.filter_filter_ports_connected) {
graph->listeners.filter_filter_ports_connected);
if (!graph->listeners.filter_filter_ports_connected) {
enum bt_component_class_sink_consume_method_status consume_status;
struct bt_component_class_sink *sink_class = NULL;
enum bt_component_class_sink_consume_method_status consume_status;
struct bt_component_class_sink *sink_class = NULL;
BT_LIB_LOGD("Calling user's consume method: %!+c", comp);
consume_status = sink_class->methods.consume((void *) comp);
BT_LOGD("User method returned: status=%s",
BT_LIB_LOGD("Calling user's consume method: %!+c", comp);
consume_status = sink_class->methods.consume((void *) comp);
BT_LOGD("User method returned: status=%s",
if (g_queue_is_empty(graph->sinks_to_consume)) {
BT_LOGD_STR("Graph's sink queue is empty: end of graph.");
if (g_queue_is_empty(graph->sinks_to_consume)) {
BT_LOGD_STR("Graph's sink queue is empty: end of graph.");
BT_ASSERT_PRE_NON_NULL(graph, "Graph");
BT_ASSERT_PRE_NON_NULL(intr, "Interrupter");
g_ptr_array_add(graph->interrupters, (void *) intr);
BT_ASSERT_PRE_NON_NULL(graph, "Graph");
BT_ASSERT_PRE_NON_NULL(intr, "Interrupter");
g_ptr_array_add(graph->interrupters, (void *) intr);
BT_LIB_LOGD("Added interrupter to graph: %![graph-]+g, %![intr-]+z",
graph, intr);
return BT_FUNC_STATUS_OK;
BT_LIB_LOGD("Added interrupter to graph: %![graph-]+g, %![intr-]+z",
graph, intr);
return BT_FUNC_STATUS_OK;