- sr_session_datafeed_callback_add(session, datafeed_in, NULL);
- sr_session_start(session);
- sr_session_run(session);
- sr_session_stop(session);
+ main_loop = g_main_loop_new(NULL, FALSE);
+
+ df_arg.session = session;
+ sr_session_datafeed_callback_add(session,
+ datafeed_in, &df_arg);
+ sr_session_stopped_callback_set(session,
+ (sr_session_stopped_callback)g_main_loop_quit,
+ main_loop);
+ if (sr_session_start(session) == SR_OK)
+ g_main_loop_run(main_loop);
+
+ g_main_loop_unref(main_loop);
+ df_arg.session = NULL;
+ sr_session_destroy(session);