diff libpurple/mediamanager.h @ 26165:0e8814c437b2

Add active elements to PurpleMediaManager. These are the elements that will be created when media sessions require new srcs or sinks.
author Mike Ruprecht <maiku@soc.pidgin.im>
date Wed, 04 Feb 2009 09:27:27 +0000
parents fc100e71de5d
children 730e760ca39f
line wrap: on
line diff
--- a/libpurple/mediamanager.h	Tue Feb 03 23:34:53 2009 +0000
+++ b/libpurple/mediamanager.h	Wed Feb 04 09:27:27 2009 +0000
@@ -85,12 +85,16 @@
 	PURPLE_MEDIA_ELEMENT_UNIQUE = 1 << 8,		/** This element is unique and
 							 only one instance of it should
 							 be created at a time */
+
+	PURPLE_MEDIA_ELEMENT_SRC = 1 << 9,		/** can be set as an active src */
+	PURPLE_MEDIA_ELEMENT_SINK = 1 << 10,		/** can be set as an active sink */
 } PurpleMediaElementType;
 
 struct _PurpleMediaElementInfo
 {
 	const gchar *id;
 	PurpleMediaElementType type;
+	GstElement *(*create)(void);
 };
 
 #ifdef __cplusplus
@@ -166,6 +170,10 @@
 		PurpleMediaElementInfo *info);
 gboolean purple_media_manager_unregister_element(PurpleMediaManager *manager,
 		const gchar *name);
+gboolean purple_media_manager_set_active_element(PurpleMediaManager *manager,
+		PurpleMediaElementInfo *info);
+PurpleMediaElementInfo *purple_media_manager_get_active_element(
+		PurpleMediaManager *manager, PurpleMediaElementType type);
 /*}@*/
 
 #ifdef __cplusplus