static void gst_cmml_tag_stream_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { GstCmmlTagStream *stream = GST_CMML_TAG_STREAM (object); switch (property_id) { case GST_CMML_TAG_STREAM_TIMEBASE: g_free (stream->timebase); stream->timebase = (guchar *) g_value_dup_string (value); break; case GST_CMML_TAG_STREAM_UTC: g_free (stream->utc); stream->utc = (guchar *) g_value_dup_string (value); break; case GST_CMML_TAG_STREAM_IMPORTS: { GValueArray *va = g_value_get_boxed (value); if (stream->imports) g_value_array_free (stream->imports); stream->imports = 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_stream_finalize (GObject * object) { GstCmmlTagStream *stream = GST_CMML_TAG_STREAM (object); g_free (stream->timebase); g_free (stream->utc); if (stream->imports) g_value_array_free (stream->imports); if (G_OBJECT_CLASS (gst_cmml_tag_stream_parent_class)->finalize) G_OBJECT_CLASS (gst_cmml_tag_stream_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_stream_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { GstCmmlTagStream *stream = GST_CMML_TAG_STREAM (object); switch (property_id) { case GST_CMML_TAG_STREAM_TIMEBASE: g_value_set_string (value, (gchar *) stream->timebase); break; case GST_CMML_TAG_STREAM_UTC: g_value_set_string (value, (gchar *) stream->utc); break; case GST_CMML_TAG_STREAM_IMPORTS: g_value_set_boxed (value, stream->imports); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } }