comparison 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
comparison
equal deleted inserted replaced
26164:fc100e71de5d 26165:0e8814c437b2
83 PURPLE_MEDIA_ELEMENT_REQUEST_SINK = 1 << 7, /** sink pads must be requested */ 83 PURPLE_MEDIA_ELEMENT_REQUEST_SINK = 1 << 7, /** sink pads must be requested */
84 84
85 PURPLE_MEDIA_ELEMENT_UNIQUE = 1 << 8, /** This element is unique and 85 PURPLE_MEDIA_ELEMENT_UNIQUE = 1 << 8, /** This element is unique and
86 only one instance of it should 86 only one instance of it should
87 be created at a time */ 87 be created at a time */
88
89 PURPLE_MEDIA_ELEMENT_SRC = 1 << 9, /** can be set as an active src */
90 PURPLE_MEDIA_ELEMENT_SINK = 1 << 10, /** can be set as an active sink */
88 } PurpleMediaElementType; 91 } PurpleMediaElementType;
89 92
90 struct _PurpleMediaElementInfo 93 struct _PurpleMediaElementInfo
91 { 94 {
92 const gchar *id; 95 const gchar *id;
93 PurpleMediaElementType type; 96 PurpleMediaElementType type;
97 GstElement *(*create)(void);
94 }; 98 };
95 99
96 #ifdef __cplusplus 100 #ifdef __cplusplus
97 extern "C" { 101 extern "C" {
98 #endif 102 #endif
164 PurpleMediaManager *manager, const gchar *name); 168 PurpleMediaManager *manager, const gchar *name);
165 gboolean purple_media_manager_register_element(PurpleMediaManager *manager, 169 gboolean purple_media_manager_register_element(PurpleMediaManager *manager,
166 PurpleMediaElementInfo *info); 170 PurpleMediaElementInfo *info);
167 gboolean purple_media_manager_unregister_element(PurpleMediaManager *manager, 171 gboolean purple_media_manager_unregister_element(PurpleMediaManager *manager,
168 const gchar *name); 172 const gchar *name);
173 gboolean purple_media_manager_set_active_element(PurpleMediaManager *manager,
174 PurpleMediaElementInfo *info);
175 PurpleMediaElementInfo *purple_media_manager_get_active_element(
176 PurpleMediaManager *manager, PurpleMediaElementType type);
169 /*}@*/ 177 /*}@*/
170 178
171 #ifdef __cplusplus 179 #ifdef __cplusplus
172 } 180 }
173 #endif 181 #endif