static void take_photo (GtkWidget * widget, GstPipeline * pipeline) { GstElement *encoder, *filesink; gst_bus_add_watch (gst_pipeline_get_bus (GST_PIPELINE (pipeline)), my_bus_callback, NULL); encoder = gst_bin_get_by_name (GST_BIN (pipeline), "encoder"); filesink = gst_bin_get_by_name (GST_BIN (pipeline), "filesink"); gst_element_set_state (encoder, GST_STATE_PLAYING); g_warning ("I'm here!"); }