comparison 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
comparison
equal deleted inserted replaced
26162:88f183f7dfc7 26163:521366dfd8db
48 typedef struct _PurpleMediaManager PurpleMediaManager; 48 typedef struct _PurpleMediaManager PurpleMediaManager;
49 /** @copydoc _PurpleMediaManagerClass */ 49 /** @copydoc _PurpleMediaManagerClass */
50 typedef struct _PurpleMediaManagerClass PurpleMediaManagerClass; 50 typedef struct _PurpleMediaManagerClass PurpleMediaManagerClass;
51 /** @copydoc _PurpleMediaManagerPrivate */ 51 /** @copydoc _PurpleMediaManagerPrivate */
52 typedef struct _PurpleMediaManagerPrivate PurpleMediaManagerPrivate; 52 typedef struct _PurpleMediaManagerPrivate PurpleMediaManagerPrivate;
53 /** @copydoc _PurpleMediaElementInfo */
54 typedef struct _PurpleMediaElementInfo PurpleMediaElementInfo;
53 55
54 /** The media manager class. */ 56 /** The media manager class. */
55 struct _PurpleMediaManagerClass 57 struct _PurpleMediaManagerClass
56 { 58 {
57 GObjectClass parent_class; /**< The parent class. */ 59 GObjectClass parent_class; /**< The parent class. */
60 /** The media manager's data. */ 62 /** The media manager's data. */
61 struct _PurpleMediaManager 63 struct _PurpleMediaManager
62 { 64 {
63 GObject parent; /**< The parent of this manager. */ 65 GObject parent; /**< The parent of this manager. */
64 PurpleMediaManagerPrivate *priv; /**< Private data for the manager. */ 66 PurpleMediaManagerPrivate *priv; /**< Private data for the manager. */
67 };
68
69 struct _PurpleMediaElementInfo
70 {
71 const gchar *id;
65 }; 72 };
66 73
67 #ifdef __cplusplus 74 #ifdef __cplusplus
68 extern "C" { 75 extern "C" {
69 #endif 76 #endif
129 * @param type The type of source/sink to get. 136 * @param type The type of source/sink to get.
130 */ 137 */
131 GstElement *purple_media_manager_get_element(PurpleMediaManager *manager, 138 GstElement *purple_media_manager_get_element(PurpleMediaManager *manager,
132 PurpleMediaSessionType type); 139 PurpleMediaSessionType type);
133 140
141 PurpleMediaElementInfo *purple_media_manager_get_element_info(
142 PurpleMediaManager *manager, const gchar *name);
143 gboolean purple_media_manager_register_element(PurpleMediaManager *manager,
144 PurpleMediaElementInfo *info);
145 gboolean purple_media_manager_unregister_element(PurpleMediaManager *manager,
146 const gchar *name);
134 /*}@*/ 147 /*}@*/
135 148
136 #ifdef __cplusplus 149 #ifdef __cplusplus
137 } 150 }
138 #endif 151 #endif