Example #1
0
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);
  }
}
Example #2
0
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);
}
Example #3
0
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;
}
Example #4
0
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);
  }
}