diff libpurple/mediamanager.h @ 26163:521366dfd8db

Implement functions to register and unregister media elements for use in allowing plugins and GUIs to alter the pipeline.
author Mike Ruprecht <maiku@soc.pidgin.im>
date Tue, 03 Feb 2009 22:37:24 +0000
parents b93df44a5afb
children fc100e71de5d
line wrap: on
line diff
--- a/libpurple/mediamanager.h	Tue Feb 03 21:37:27 2009 +0000
+++ b/libpurple/mediamanager.h	Tue Feb 03 22:37:24 2009 +0000
@@ -50,6 +50,8 @@
 typedef struct _PurpleMediaManagerClass PurpleMediaManagerClass;
 /** @copydoc _PurpleMediaManagerPrivate */
 typedef struct _PurpleMediaManagerPrivate PurpleMediaManagerPrivate;
+/** @copydoc _PurpleMediaElementInfo */
+typedef struct _PurpleMediaElementInfo PurpleMediaElementInfo;
 
 /** The media manager class. */
 struct _PurpleMediaManagerClass
@@ -64,6 +66,11 @@
 	PurpleMediaManagerPrivate *priv; /**< Private data for the manager. */
 };
 
+struct _PurpleMediaElementInfo
+{
+	const gchar *id;
+};
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -131,6 +138,12 @@
 GstElement *purple_media_manager_get_element(PurpleMediaManager *manager,
 		PurpleMediaSessionType type);
 
+PurpleMediaElementInfo *purple_media_manager_get_element_info(
+		PurpleMediaManager *manager, const gchar *name);
+gboolean purple_media_manager_register_element(PurpleMediaManager *manager,
+		PurpleMediaElementInfo *info);
+gboolean purple_media_manager_unregister_element(PurpleMediaManager *manager,
+		const gchar *name);
 /*}@*/
 
 #ifdef __cplusplus