static gboolean bus_call(GstBus *bus, GstMessage *msg, gpointer data) { GstElement *play = (GstElement *)data; gboolean res = gst_pipeline_get_auto_flush_bus((GstPipeline *)play); GError *err = NULL; switch (GST_MESSAGE_TYPE (msg)) { case GST_MESSAGE_ERROR: gst_message_parse_error(msg, &err, NULL); g_warning("Play sound error!! (%s, %d)", __FILE__, __LINE__); g_error_free(err); case GST_MESSAGE_EOS: gst_element_set_state(play, GST_STATE_NULL); gst_object_unref(GST_OBJECT(play)); break; case GST_MESSAGE_WARNING: gst_message_parse_warning(msg, &err, NULL); g_warning("Play sound error!! (%s, %d)", __FILE__, __LINE__); g_error_free(err); break; default: break; } return TRUE; }
static void gst_pipeline_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec) { GstPipeline *pipeline = GST_PIPELINE (object); switch (prop_id) { case PROP_DELAY: g_value_set_uint64 (value, gst_pipeline_get_delay (pipeline)); break; case PROP_AUTO_FLUSH_BUS: g_value_set_boolean (value, gst_pipeline_get_auto_flush_bus (pipeline)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }