G_OBJECT_CLASS (ges_layer_parent_class)->dispose (object);
}
+static gboolean
+_register_metas (GESLayer * layer)
+{
+ ges_meta_container_register_meta_float (GES_META_CONTAINER (layer),
+ GES_META_READ_WRITE, GES_META_VOLUME, 1.0);
+
+ return TRUE;
+}
+
static void
ges_meta_container_interface_init (GESMetaContainerInterface * iface)
{
self->priv->auto_transition = FALSE;
self->min_gnl_priority = MIN_GNL_PRIO;
self->max_gnl_priority = LAYER_HEIGHT + MIN_GNL_PRIO;
+
+ _register_metas (self);
}
/**
*/
#define GES_META_FORMATTER_RANK "rank"
+/**
+ * GES_META_VOLUME:
+ *
+ * The volume, can be used for audio track or layers
+ *
+ * The volume for a track or a layer, it is register as a float
+ */
+#define GES_META_VOLUME "volume"
+
+/**
+ * GES_META_VOLUME_DEFAULT:
+ *
+ * The default volume
+ *
+ * The default volume for a track or a layer as a float
+ */
+#define GES_META_VOLUME_DEFAULT 1.0
+
typedef struct _GESMetaContainer GESMetaContainer;
typedef struct _GESMetaContainerInterface GESMetaContainerInterface;
GValue * value, gpointer user_data)
{
fail_unless ((0 == g_strcmp0 (key, "some-string")) ||
- (0 == g_strcmp0 (key, "some-int")));
+ (0 == g_strcmp0 (key, "some-int")) || (0 == g_strcmp0 (key, "volume")));
}
GST_START_TEST (test_layer_meta_foreach)