We clearly uniquely identify assets by both their IDs and their
extractable type, and we should make sure that you can have a
TrackElement and a Clip with the same ID.
There is one exception in our implementation which is GESFormatter
because we treat their subclasses as 1 type with different IDs.
/* Internal methods */
-/* Find the type that implemented the GESExtractable interface */
static inline const gchar *
_extractable_type_name (GType type)
{
- while (1) {
- if (g_type_is_a (g_type_parent (type), GES_TYPE_EXTRACTABLE))
- type = g_type_parent (type);
- else
- return g_type_name (type);
- }
+ /* We can use `ges_asset_request (GES_TYPE_FORMATTER);` */
+ if (g_type_is_a (type, GES_TYPE_FORMATTER))
+ return g_type_name (GES_TYPE_FORMATTER);
+
+ return g_type_name (type);
}
static void