static void gst_cmml_tag_head_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { GstCmmlTagHead *head = GST_CMML_TAG_HEAD (object); switch (property_id) { case GST_CMML_TAG_HEAD_TITLE: g_free (head->title); head->title = (guchar *) g_value_dup_string (value); break; case GST_CMML_TAG_HEAD_BASE: g_free (head->base); head->base = (guchar *) g_value_dup_string (value); break; case GST_CMML_TAG_HEAD_META: { GValueArray *va = g_value_get_boxed (value); if (head->meta) g_value_array_free (head->meta); head->meta = va != NULL ? g_value_array_copy (va) : NULL; break; } default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } }
static void gst_cmml_tag_head_finalize (GObject * object) { GstCmmlTagHead *head = GST_CMML_TAG_HEAD (object); g_free (head->title); g_free (head->base); if (head->meta) g_value_array_free (head->meta); if (G_OBJECT_CLASS (gst_cmml_tag_head_parent_class)->finalize) G_OBJECT_CLASS (gst_cmml_tag_head_parent_class)->finalize (object); }
guchar * gst_cmml_parser_tag_object_to_string (GstCmmlParser * parser, GObject * tag) { guchar *tag_string = NULL; GType tag_type = G_OBJECT_TYPE (tag); if (tag_type == GST_TYPE_CMML_TAG_STREAM) tag_string = gst_cmml_parser_tag_stream_to_string (parser, GST_CMML_TAG_STREAM (tag)); else if (tag_type == GST_TYPE_CMML_TAG_HEAD) tag_string = gst_cmml_parser_tag_head_to_string (parser, GST_CMML_TAG_HEAD (tag)); else if (tag_type == GST_TYPE_CMML_TAG_CLIP) tag_string = gst_cmml_parser_tag_clip_to_string (parser, GST_CMML_TAG_CLIP (tag)); else g_warning ("could not convert object to cmml"); return tag_string; }
static void gst_cmml_tag_head_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { GstCmmlTagHead *head = GST_CMML_TAG_HEAD (object); switch (property_id) { case GST_CMML_TAG_HEAD_TITLE: g_value_set_string (value, (gchar *) head->title); break; case GST_CMML_TAG_HEAD_BASE: g_value_set_string (value, (gchar *) head->base); break; case GST_CMML_TAG_HEAD_META: g_value_set_boxed (value, head->meta); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } }