示例#1
0
文件: sound.c 项目: 4179e1/gtkqq
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;
}
示例#2
0
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;
  }
}