ret = bt_trace_set_native_byte_order(trace,
BT_BYTE_ORDER_LITTLE_ENDIAN);
ret = bt_trace_set_native_byte_order(trace,
BT_BYTE_ORDER_LITTLE_ENDIAN);
src_event_class = bt_event_class_create("my-event-class");
ret = bt_event_class_set_context_field_type(src_event_class,
empty_struct_ft);
src_event_class = bt_event_class_create("my-event-class");
ret = bt_event_class_set_context_field_type(src_event_class,
empty_struct_ft);
next_return.notification =
bt_notification_packet_begin_create(graph,
user_data->packet);
next_return.notification =
bt_notification_packet_begin_create(graph,
user_data->packet);
break;
case SEQ_PACKET_END:
next_return.notification =
bt_notification_packet_end_create(graph,
user_data->packet);
break;
case SEQ_PACKET_END:
next_return.notification =
bt_notification_packet_end_create(graph,
user_data->packet);
break;
case SEQ_STREAM_BEGIN:
stream = bt_packet_get_stream(user_data->packet);
next_return.notification =
bt_notification_stream_begin_create(graph, stream);
break;
case SEQ_STREAM_BEGIN:
stream = bt_packet_get_stream(user_data->packet);
next_return.notification =
bt_notification_stream_begin_create(graph, stream);
bt_put(stream);
break;
case SEQ_STREAM_END:
stream = bt_packet_get_stream(user_data->packet);
next_return.notification =
bt_notification_stream_end_create(graph, stream);
bt_put(stream);
break;
case SEQ_STREAM_END:
stream = bt_packet_get_stream(user_data->packet);
next_return.notification =
bt_notification_stream_end_create(graph, stream);
bt_put(stream);
break;
default:
{
next_return.notification = src_create_event_notif(
user_data->packet, src_cc_prio_map, cur_ts_ns);
bt_put(stream);
break;
default:
{
next_return.notification = src_create_event_notif(
user_data->packet, src_cc_prio_map, cur_ts_ns);
} else if (user_data->at == 1) {
next_return.notification =
bt_notification_packet_begin_create(
graph, user_data->packet);
} else if (user_data->at == 1) {
next_return.notification =
bt_notification_packet_begin_create(
graph, user_data->packet);
} else if (user_data->at < 7) {
next_return.notification =
src_create_event_notif(
user_data->packet,
src_empty_cc_prio_map, 0);
} else if (user_data->at < 7) {
next_return.notification =
src_create_event_notif(
user_data->packet,
src_empty_cc_prio_map, 0);
} else if (user_data->at == 7) {
next_return.notification =
bt_notification_packet_end_create(
graph, user_data->packet);
} else if (user_data->at == 7) {
next_return.notification =
bt_notification_packet_end_create(
graph, user_data->packet);
} else if (user_data->at == 8) {
stream = bt_packet_get_stream(user_data->packet);
next_return.notification =
bt_notification_stream_end_create(
graph, stream);
bt_put(stream);
} else if (user_data->at == 8) {
stream = bt_packet_get_stream(user_data->packet);
next_return.notification =
bt_notification_stream_end_create(
graph, stream);
bt_put(stream);
if (user_data->iter_index == 0) {
ret = bt_private_component_source_add_output_private_port(
private_component, "out1", NULL, NULL);
if (user_data->iter_index == 0) {
ret = bt_private_component_source_add_output_private_port(
private_component, "out1", NULL, NULL);
ret = bt_private_component_source_add_output_private_port(
private_component, "out2", NULL, NULL);
ret = bt_private_component_source_add_output_private_port(
private_component, "out2", NULL, NULL);
next_return.status = BT_NOTIFICATION_ITERATOR_STATUS_END;
} else {
next_return = src_iter_next_seq(user_data);
next_return.status = BT_NOTIFICATION_ITERATOR_STATUS_END;
} else {
next_return = src_iter_next_seq(user_data);
} else {
ret = bt_private_component_source_add_output_private_port(
private_component, "out1", NULL, NULL);
} else {
ret = bt_private_component_source_add_output_private_port(
private_component, "out1", NULL, NULL);
ret = bt_private_component_source_add_output_private_port(
private_component, "out2", NULL, NULL);
ret = bt_private_component_source_add_output_private_port(
private_component, "out2", NULL, NULL);
if (nb_ports >= 1) {
ret = bt_private_component_source_add_output_private_port(
private_component, "out0", NULL, NULL);
if (nb_ports >= 1) {
ret = bt_private_component_source_add_output_private_port(
private_component, "out0", NULL, NULL);
}
if (nb_ports >= 2) {
ret = bt_private_component_source_add_output_private_port(
private_component, "out1", NULL, NULL);
}
if (nb_ports >= 2) {
ret = bt_private_component_source_add_output_private_port(
private_component, "out1", NULL, NULL);
}
if (nb_ports >= 3) {
ret = bt_private_component_source_add_output_private_port(
private_component, "out2", NULL, NULL);
}
if (nb_ports >= 3) {
ret = bt_private_component_source_add_output_private_port(
private_component, "out2", NULL, NULL);
}
if (nb_ports >= 4) {
ret = bt_private_component_source_add_output_private_port(
private_component, "out3", NULL, NULL);
}
if (nb_ports >= 4) {
ret = bt_private_component_source_add_output_private_port(
private_component, "out3", NULL, NULL);
if (bt_clock_class_priority_map_get_clock_class_count(cc_prio_map) > 0) {
struct bt_clock_value *clock_value;
if (bt_clock_class_priority_map_get_clock_class_count(cc_prio_map) > 0) {
struct bt_clock_value *clock_value;
ret = bt_clock_value_get_value_ns_from_epoch(
clock_value, &test_event.ts_ns);
ret = bt_clock_value_get_value_ns_from_epoch(
clock_value, &test_event.ts_ns);
test_event.type = TEST_EV_TYPE_NOTIF_INACTIVITY;
cc_prio_map = bt_notification_inactivity_borrow_clock_class_priority_map(
notification);
test_event.type = TEST_EV_TYPE_NOTIF_INACTIVITY;
cc_prio_map = bt_notification_inactivity_borrow_clock_class_priority_map(
notification);
if (bt_clock_class_priority_map_get_clock_class_count(cc_prio_map) > 0) {
struct bt_clock_value *clock_value;
if (bt_clock_class_priority_map_get_clock_class_count(cc_prio_map) > 0) {
struct bt_clock_value *clock_value;
clock_value =
bt_notification_inactivity_borrow_clock_value(
notification, clock_class);
clock_value =
bt_notification_inactivity_borrow_clock_value(
notification, clock_class);
ret = bt_clock_value_get_value_ns_from_epoch(
clock_value, &test_event.ts_ns);
ret = bt_clock_value_get_value_ns_from_epoch(
clock_value, &test_event.ts_ns);
conn_status = bt_private_connection_create_notification_iterator(
priv_conn, &user_data->notif_iter);
conn_status = bt_private_connection_create_notification_iterator(
priv_conn, &user_data->notif_iter);
ret = bt_private_component_sink_add_input_private_port(
private_component, "in", NULL, NULL);
ret = bt_private_component_sink_add_input_private_port(
private_component, "in", NULL, NULL);
/* Create source component */
src_comp_class = bt_component_class_source_create("src", src_iter_next);
/* Create source component */
src_comp_class = bt_component_class_source_create("src", src_iter_next);
ret = bt_component_class_source_set_notification_iterator_init_method(
src_comp_class, src_iter_init);
ret = bt_component_class_source_set_notification_iterator_init_method(
src_comp_class, src_iter_init);
ret = bt_component_class_source_set_notification_iterator_finalize_method(
src_comp_class, src_iter_finalize);
ret = bt_component_class_source_set_notification_iterator_finalize_method(
src_comp_class, src_iter_finalize);
ret = bt_graph_add_component(graph, src_comp_class, "source", NULL, source);
ret = bt_graph_add_component(graph, src_comp_class, "source", NULL, source);
/* Create muxer component */
muxer_comp_class = bt_plugin_find_component_class("utils", "muxer",
BT_COMPONENT_CLASS_TYPE_FILTER);
/* Create muxer component */
muxer_comp_class = bt_plugin_find_component_class("utils", "muxer",
BT_COMPONENT_CLASS_TYPE_FILTER);
ret = bt_graph_add_component(graph, muxer_comp_class, "muxer", NULL, muxer);
ret = bt_graph_add_component(graph, muxer_comp_class, "muxer", NULL, muxer);
/* Create sink component */
sink_comp_class = bt_component_class_sink_create("sink", sink_consume);
/* Create sink component */
sink_comp_class = bt_component_class_sink_create("sink", sink_consume);
ret = bt_component_class_set_finalize_method(sink_comp_class,
sink_finalize);
ret = bt_component_class_set_port_connected_method(sink_comp_class,
sink_port_connected);
ret = bt_component_class_set_finalize_method(sink_comp_class,
sink_finalize);
ret = bt_component_class_set_port_connected_method(sink_comp_class,
sink_port_connected);
ret = bt_graph_add_component(graph, sink_comp_class, "sink", NULL, sink);
ret = bt_graph_add_component(graph, sink_comp_class, "sink", NULL, sink);
create_source_muxer_sink(graph, &src_comp, &muxer_comp, &sink_comp);
/* Connect source output ports to muxer input ports */
if (with_upstream) {
count = bt_component_source_get_output_port_count(src_comp);
create_source_muxer_sink(graph, &src_comp, &muxer_comp, &sink_comp);
/* Connect source output ports to muxer input ports */
if (with_upstream) {
count = bt_component_source_get_output_port_count(src_comp);
graph_status = bt_graph_connect_ports(graph,
upstream_port, downstream_port, NULL);
graph_status = bt_graph_connect_ports(graph,
upstream_port, downstream_port, NULL);
/* Connect muxer output port to sink input port */
upstream_port = bt_component_filter_get_output_port_by_name(muxer_comp,
"out");
/* Connect muxer output port to sink input port */
upstream_port = bt_component_filter_get_output_port_by_name(muxer_comp,
"out");
for (i = 0; i < count; i++) {
struct bt_port *muxer_port =
bt_component_filter_get_input_port_by_index(
muxer_comp, i);
for (i = 0; i < count; i++) {
struct bt_port *muxer_port =
bt_component_filter_get_input_port_by_index(
muxer_comp, i);
if (!bt_port_is_connected(muxer_port)) {
BT_MOVE(avail_muxer_port, muxer_port);
if (!bt_port_is_connected(muxer_port)) {
BT_MOVE(avail_muxer_port, muxer_port);
create_source_muxer_sink(graph, &src_comp, &muxer_comp, &sink_comp);
graph_listener_data.graph = graph;
graph_listener_data.source = src_comp;
create_source_muxer_sink(graph, &src_comp, &muxer_comp, &sink_comp);
graph_listener_data.graph = graph;
graph_listener_data.source = src_comp;
ret = bt_graph_add_port_added_listener(graph,
graph_port_added_listener_connect_to_avail_muxer_port, NULL,
&graph_listener_data);
ret = bt_graph_add_port_added_listener(graph,
graph_port_added_listener_connect_to_avail_muxer_port, NULL,
&graph_listener_data);
/* Connect source output ports to muxer input ports */
count = bt_component_source_get_output_port_count(src_comp);
/* Connect source output ports to muxer input ports */
count = bt_component_source_get_output_port_count(src_comp);
connect_port_to_first_avail_muxer_port(graph,
upstream_port, muxer_comp);
bt_put(upstream_port);
connect_port_to_first_avail_muxer_port(graph,
upstream_port, muxer_comp);
bt_put(upstream_port);
/* Connect muxer output port to sink input port */
upstream_port = bt_component_filter_get_output_port_by_name(muxer_comp,
"out");
/* Connect muxer output port to sink input port */
upstream_port = bt_component_filter_get_output_port_by_name(muxer_comp,
"out");
clear_test_events();
current_test = TEST_SINGLE_AGAIN_END_THEN_MULTIPLE_FULL;
diag("test: single again then end then multiple full");
clear_test_events();
current_test = TEST_SINGLE_AGAIN_END_THEN_MULTIPLE_FULL;
diag("test: single again then end then multiple full");
create_source_muxer_sink(graph, &src_comp, &muxer_comp, &sink_comp);
graph_listener_data.graph = graph;
graph_listener_data.source = src_comp;
create_source_muxer_sink(graph, &src_comp, &muxer_comp, &sink_comp);
graph_listener_data.graph = graph;
graph_listener_data.source = src_comp;
ret = bt_graph_add_port_added_listener(graph,
graph_port_added_listener_connect_to_avail_muxer_port, NULL,
&graph_listener_data);
ret = bt_graph_add_port_added_listener(graph,
graph_port_added_listener_connect_to_avail_muxer_port, NULL,
&graph_listener_data);
/* Connect source output ports to muxer input ports */
count = bt_component_source_get_output_port_count(src_comp);
/* Connect source output ports to muxer input ports */
count = bt_component_source_get_output_port_count(src_comp);
connect_port_to_first_avail_muxer_port(graph,
upstream_port, muxer_comp);
bt_put(upstream_port);
connect_port_to_first_avail_muxer_port(graph,
upstream_port, muxer_comp);
bt_put(upstream_port);
/* Connect muxer output port to sink input port */
upstream_port = bt_component_filter_get_output_port_by_name(muxer_comp,
"out");
/* Connect muxer output port to sink input port */
upstream_port = bt_component_filter_get_output_port_by_name(muxer_comp,
"out");