Mercurial > pidgin
comparison libpurple/mediamanager.h @ 26083: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
26082:fc100e71de5d | 26083: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 |