#include <gst/gst_private.h>
#include <gst/gstconfig.h>
#include <gst/gstelement.h>
+#include <gst/gsttracerfactory.h>
#include <gst/gsttypefind.h>
#include <gst/gsttypefindfactory.h>
-#include <gst/gstdevicemonitorfactory.h>
+#include <gst/gstdeviceproviderfactory.h>
+#include <gst/gstdynamictypefactory.h>
#include <gst/gsturi.h>
#include <gst/gstinfo.h>
#include <gst/gstenumtypes.h>
return TRUE;
}
-#define VALIDATE_UTF8(__details, __entry) \
-G_STMT_START { \
- if (!g_utf8_validate (__details->__entry, -1, NULL)) { \
- g_warning ("Invalid UTF-8 in " G_STRINGIFY (__entry) ": %s", \
- __details->__entry); \
- g_free (__details->__entry); \
- __details->__entry = g_strdup ("[ERROR: invalid UTF-8]"); \
- } \
-} G_STMT_END
-
/*
* gst_registry_chunks_save_feature:
*
GstElementFactory *factory = GST_ELEMENT_FACTORY (feature);
/* Initialize with zeroes because of struct padding and
- * valgrind complaining about copying unitialized memory
+ * valgrind complaining about copying uninitialized memory
*/
ef = g_slice_new0 (GstRegistryChunkElementFactory);
pf_size = sizeof (GstRegistryChunkElementFactory);
gchar *str;
/* Initialize with zeroes because of struct padding and
- * valgrind complaining about copying unitialized memory
+ * valgrind complaining about copying uninitialized memory
*/
tff = g_slice_new0 (GstRegistryChunkTypeFindFactory);
pf_size = sizeof (GstRegistryChunkTypeFindFactory);
} else {
gst_registry_chunks_save_const_string (list, "");
}
- } else if (GST_IS_DEVICE_MONITOR_FACTORY (feature)) {
- GstRegistryChunkDeviceMonitorFactory *tff;
- GstDeviceMonitorFactory *factory = GST_DEVICE_MONITOR_FACTORY (feature);
+ } else if (GST_IS_DEVICE_PROVIDER_FACTORY (feature)) {
+ GstRegistryChunkDeviceProviderFactory *tff;
+ GstDeviceProviderFactory *factory = GST_DEVICE_PROVIDER_FACTORY (feature);
/* Initialize with zeroes because of struct padding and
- * valgrind complaining about copying unitialized memory
+ * valgrind complaining about copying uninitialized memory
*/
- tff = g_slice_new0 (GstRegistryChunkDeviceMonitorFactory);
+ tff = g_slice_new0 (GstRegistryChunkDeviceProviderFactory);
chk =
gst_registry_chunks_make_data (tff,
- sizeof (GstRegistryChunkDeviceMonitorFactory));
+ sizeof (GstRegistryChunkDeviceProviderFactory));
pf = (GstRegistryChunkPluginFeature *) tff;
/* pack element metadata strings */
gst_registry_chunks_save_string (list,
gst_structure_to_string (factory->metadata));
+ } else if (GST_IS_TRACER_FACTORY (feature)) {
+ /* Initialize with zeroes because of struct padding and
+ * valgrind complaining about copying uninitialized memory
+ */
+ pf = g_slice_new0 (GstRegistryChunkPluginFeature);
+ pf_size = sizeof (GstRegistryChunkPluginFeature);
+ chk = gst_registry_chunks_make_data (pf, pf_size);
+ } else if (GST_IS_DYNAMIC_TYPE_FACTORY (feature)) {
+ GstRegistryChunkDynamicTypeFactory *tmp;
+
+ tmp = g_slice_new0 (GstRegistryChunkDynamicTypeFactory);
+ chk =
+ gst_registry_chunks_make_data (tmp,
+ sizeof (GstRegistryChunkDynamicTypeFactory));
+ pf = (GstRegistryChunkPluginFeature *) tmp;
} else {
GST_WARNING_OBJECT (feature, "unhandled feature type '%s'", type_name);
}
plugin_name);
return FALSE;
}
- if (G_UNLIKELY ((feature = g_object_newv (type, 0, NULL)) == NULL)) {
+ if (G_UNLIKELY ((feature = g_object_new (type, NULL)) == NULL)) {
GST_ERROR ("Can't create feature from type");
return FALSE;
}
factory->extensions[i - 1] = str;
}
}
- } else if (GST_IS_DEVICE_MONITOR_FACTORY (feature)) {
- GstRegistryChunkDeviceMonitorFactory *dmf;
- GstDeviceMonitorFactory *factory = GST_DEVICE_MONITOR_FACTORY (feature);
+ } else if (GST_IS_DEVICE_PROVIDER_FACTORY (feature)) {
+ GstRegistryChunkDeviceProviderFactory *dmf;
+ GstDeviceProviderFactory *factory = GST_DEVICE_PROVIDER_FACTORY (feature);
const gchar *meta_data_str;
align (*in);
GST_DEBUG
("Reading/casting for GstRegistryChunkPluginFeature at address %p",
*in);
- unpack_element (*in, dmf, GstRegistryChunkDeviceMonitorFactory, end, fail);
+
+ unpack_element (*in, dmf, GstRegistryChunkDeviceProviderFactory, end, fail);
pf = (GstRegistryChunkPluginFeature *) dmf;
goto fail;
}
}
+ } else if (GST_IS_TRACER_FACTORY (feature)) {
+ align (*in);
+ GST_DEBUG
+ ("Reading/casting for GstRegistryChunkPluginFeature at address %p",
+ *in);
+ unpack_element (*in, pf, GstRegistryChunkPluginFeature, end, fail);
+ } else if (GST_IS_DYNAMIC_TYPE_FACTORY (feature)) {
+ GstRegistryChunkDynamicTypeFactory *tmp;
+
+ align (*in);
+ unpack_element (*in, tmp, GstRegistryChunkDynamicTypeFactory, end, fail);
+
+ pf = (GstRegistryChunkPluginFeature *) tmp;
} else {
GST_WARNING ("unhandled factory type : %s", G_OBJECT_TYPE_NAME (feature));
goto fail;
return arr;
fail:
GST_INFO ("Reading plugin dependency strings failed");
+ g_strfreev (arr);
return NULL;
}
*in);
unpack_element (*in, pe, GstRegistryChunkPluginElement, end, fail);
- plugin = g_object_newv (GST_TYPE_PLUGIN, 0, NULL);
+ plugin = g_object_new (GST_TYPE_PLUGIN, NULL);
/* TODO: also set GST_PLUGIN_FLAG_CONST */
GST_OBJECT_FLAG_SET (plugin, GST_PLUGIN_FLAG_CACHED);