Mercurial > pidgin
annotate libpurple/mediamanager.h @ 31537:6ec53e134447
bonjour: Recurse through user IP addresses instead of using the first one only
This, among other things, makes interactivity with iChat more reliable because
iChat apparently advertises an IPv6 address, but doesn't listen on it.
Fixes #13773
committer: Daniel Atallah <daniel.atallah@gmail.com>
author | Simon van der Linden <simon@vanderlinden.eu.org> |
---|---|
date | Tue, 03 May 2011 16:12:36 +0000 |
parents | 2b2b930281a0 |
children | 02a2e8183b1d |
rev | line source |
---|---|
23760 | 1 /** |
23766 | 2 * @file mediamanager.h Media Manager API |
23760 | 3 * @ingroup core |
23865
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
4 */ |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
5 |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
6 /* purple |
23760 | 7 * |
8 * Purple is the legal property of its developers, whose names are too numerous | |
9 * to list here. Please refer to the COPYRIGHT file distributed with this | |
10 * source distribution. | |
11 * | |
12 * This program is free software; you can redistribute it and/or modify | |
13 * it under the terms of the GNU General Public License as published by | |
14 * the Free Software Foundation; either version 2 of the License, or | |
15 * (at your option) any later version. | |
16 * | |
17 * This program is distributed in the hope that it will be useful, | |
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 * GNU General Public License for more details. | |
21 * | |
22 * You should have received a copy of the GNU General Public License | |
23 * along with this program; if not, write to the Free Software | |
28047
8c991e09efcb
Update various header copyrights thanks to licensecheck.
Paul Aurich <paul@darkrain42.org>
parents:
26683
diff
changeset
|
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
23760 | 25 */ |
26 | |
26438
fd97c0de433d
Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <paul@darkrain42.org>
parents:
26437
diff
changeset
|
27 #ifndef _PURPLE_MEDIA_MANAGER_H_ |
fd97c0de433d
Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <paul@darkrain42.org>
parents:
26437
diff
changeset
|
28 #define _PURPLE_MEDIA_MANAGER_H_ |
23760 | 29 |
30 #include <glib.h> | |
31 #include <glib-object.h> | |
32 | |
28135
713987ae3215
Fix some docs warnings. Thanks to darkrain for pointing them out.
maiku@pidgin.im
parents:
28047
diff
changeset
|
33 /** An opaque structure representing a group of (usually all) media calls. */ |
26438
fd97c0de433d
Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <paul@darkrain42.org>
parents:
26437
diff
changeset
|
34 typedef struct _PurpleMediaManager PurpleMediaManager; |
28135
713987ae3215
Fix some docs warnings. Thanks to darkrain for pointing them out.
maiku@pidgin.im
parents:
28047
diff
changeset
|
35 /** The GObject class structure of the PurpleMediaManager object. */ |
26438
fd97c0de433d
Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <paul@darkrain42.org>
parents:
26437
diff
changeset
|
36 typedef struct _PurpleMediaManagerClass PurpleMediaManagerClass; |
fd97c0de433d
Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <paul@darkrain42.org>
parents:
26437
diff
changeset
|
37 |
26524
df9042312063
Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26438
diff
changeset
|
38 #include "account.h" |
23760 | 39 #include "media.h" |
40 | |
41 G_BEGIN_DECLS | |
42 | |
43 #define PURPLE_TYPE_MEDIA_MANAGER (purple_media_manager_get_type()) | |
44 #define PURPLE_MEDIA_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_MEDIA_MANAGER, PurpleMediaManager)) | |
45 #define PURPLE_MEDIA_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_MEDIA_MANAGER, PurpleMediaManagerClass)) | |
46 #define PURPLE_IS_MEDIA_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_MEDIA_MANAGER)) | |
47 #define PURPLE_IS_MEDIA_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_MEDIA_MANAGER)) | |
48 #define PURPLE_MEDIA_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_MEDIA_MANAGER, PurpleMediaManagerClass)) | |
49 | |
23865
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
50 #ifdef __cplusplus |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
51 extern "C" { |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
52 #endif |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
53 |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
54 /**************************************************************************/ |
26683 | 55 /** @name Media Manager API */ |
23865
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
56 /**************************************************************************/ |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
57 /*@{*/ |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
58 |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
59 /** |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
60 * Gets the media manager's GType. |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
61 * |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
62 * @return The media manager's GType. |
26437
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
63 * |
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
64 * @since 2.6.0 |
23865
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
65 */ |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
66 GType purple_media_manager_get_type(void); |
23760 | 67 |
23865
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
68 /** |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
69 * Gets the "global" media manager object. It's created if it doesn't already exist. |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
70 * |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
71 * @return The "global" instance of the media manager object. |
26437
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
72 * |
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
73 * @since 2.6.0 |
23865
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
74 */ |
23766 | 75 PurpleMediaManager *purple_media_manager_get(void); |
23865
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
76 |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
77 /** |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
78 * Creates a media session. |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
79 * |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
80 * @param manager The media manager to create the session under. |
26524
df9042312063
Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26438
diff
changeset
|
81 * @param account The account to create the session on. |
23865
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
82 * @param conference_type The conference type to feed into Farsight2. |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
83 * @param remote_user The remote user to initiate the session with. |
28135
713987ae3215
Fix some docs warnings. Thanks to darkrain for pointing them out.
maiku@pidgin.im
parents:
28047
diff
changeset
|
84 * @param initiator TRUE if the local user is the initiator of this media call, FALSE otherwise. |
23865
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
85 * |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
86 * @return A newly created media session. |
26437
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
87 * |
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
88 * @since 2.6.0 |
23865
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
89 */ |
23760 | 90 PurpleMedia *purple_media_manager_create_media(PurpleMediaManager *manager, |
26524
df9042312063
Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26438
diff
changeset
|
91 PurpleAccount *account, |
23797
e1c8ec1259de
Updates voice and video to use Farsight 2, gets XMPP voice conferences
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23775
diff
changeset
|
92 const char *conference_type, |
24987
c7d4b67b3332
Add initiator property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
24950
diff
changeset
|
93 const char *remote_user, |
c7d4b67b3332
Add initiator property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
24950
diff
changeset
|
94 gboolean initiator); |
23760 | 95 |
23876
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
96 /** |
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
97 * Gets all of the media sessions. |
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
98 * |
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
99 * @param manager The media manager to get all of the sessions from. |
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
100 * |
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
101 * @return A list of all the media sessions. |
26437
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
102 * |
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
103 * @since 2.6.0 |
23876
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
104 */ |
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
105 GList *purple_media_manager_get_media(PurpleMediaManager *manager); |
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
106 |
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
107 /** |
26524
df9042312063
Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26438
diff
changeset
|
108 * Gets all of the media sessions for a given account. |
26123
75a02ffb0139
Added purple_media_manager_get_media_by_connection.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26117
diff
changeset
|
109 * |
75a02ffb0139
Added purple_media_manager_get_media_by_connection.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26117
diff
changeset
|
110 * @param manager The media manager to get the sessions from. |
26524
df9042312063
Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26438
diff
changeset
|
111 * @param account The account the sessions are on. |
26123
75a02ffb0139
Added purple_media_manager_get_media_by_connection.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26117
diff
changeset
|
112 * |
26524
df9042312063
Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26438
diff
changeset
|
113 * @return A list of the media sessions on the given account. |
26437
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
114 * |
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
115 * @since 2.6.0 |
26123
75a02ffb0139
Added purple_media_manager_get_media_by_connection.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26117
diff
changeset
|
116 */ |
26524
df9042312063
Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26438
diff
changeset
|
117 GList *purple_media_manager_get_media_by_account( |
df9042312063
Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26438
diff
changeset
|
118 PurpleMediaManager *manager, PurpleAccount *account); |
26123
75a02ffb0139
Added purple_media_manager_get_media_by_connection.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26117
diff
changeset
|
119 |
75a02ffb0139
Added purple_media_manager_get_media_by_connection.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26117
diff
changeset
|
120 /** |
23876
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
121 * Removes a media session from the media manager. |
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
122 * |
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
123 * @param manager The media manager to remove the media session from. |
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
124 * @param media The media session to remove. |
26437
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
125 * |
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
126 * @since 2.6.0 |
23876
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
127 */ |
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
128 void |
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
129 purple_media_manager_remove_media(PurpleMediaManager *manager, |
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
130 PurpleMedia *media); |
f10e0ac24595
* Added input/output volume preferences for voice conversations.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23865
diff
changeset
|
131 |
24950
431c59a6959d
Add purple_media_manager_get_element.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
24938
diff
changeset
|
132 /** |
26361
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
133 * Signals that output windows should be created for the chosen stream. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
134 * |
26117
6cf36f68033c
Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26114
diff
changeset
|
135 * This shouldn't be called outside of mediamanager.c and media.c |
26361
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
136 * |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
137 * @param manager Manager the output windows are registered with. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
138 * @param media Media session the output windows are registered for. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
139 * @param session_id The session the output windows are registered with. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
140 * @param participant The participant the output windows are registered with. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
141 * |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
142 * @return TRUE if it succeeded, FALSE if it failed. |
26437
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
143 * |
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
144 * @since 2.6.0 |
26117
6cf36f68033c
Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26114
diff
changeset
|
145 */ |
6cf36f68033c
Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26114
diff
changeset
|
146 gboolean purple_media_manager_create_output_window( |
6cf36f68033c
Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26114
diff
changeset
|
147 PurpleMediaManager *manager, PurpleMedia *media, |
6cf36f68033c
Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26114
diff
changeset
|
148 const gchar *session_id, const gchar *participant); |
26361
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
149 |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
150 /** |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
151 * Registers a video output window to be created for a given stream. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
152 * |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
153 * @param manager The manager to register the output window with. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
154 * @param media The media instance to find the stream in. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
155 * @param session_id The session the stream is associated with. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
156 * @param participant The participant the stream is associated with. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
157 * @param window_id The window ID to embed the video in. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
158 * |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
159 * @return A unique ID to the registered output window, 0 if it failed. |
26437
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
160 * |
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
161 * @since 2.6.0 |
26361
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
162 */ |
26117
6cf36f68033c
Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26114
diff
changeset
|
163 gulong purple_media_manager_set_output_window(PurpleMediaManager *manager, |
6cf36f68033c
Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26114
diff
changeset
|
164 PurpleMedia *media, const gchar *session_id, |
6cf36f68033c
Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26114
diff
changeset
|
165 const gchar *participant, gulong window_id); |
26361
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
166 |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
167 /** |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
168 * Remove a previously registerd output window. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
169 * |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
170 * @param manager The manager the output window was registered with. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
171 * @param output_window_id The ID of the output window. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
172 * |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
173 * @return TRUE if it found the output window and was successful, else FALSE. |
26437
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
174 * |
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
175 * @since 2.6.0 |
26361
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
176 */ |
26117
6cf36f68033c
Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26114
diff
changeset
|
177 gboolean purple_media_manager_remove_output_window( |
6cf36f68033c
Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26114
diff
changeset
|
178 PurpleMediaManager *manager, gulong output_window_id); |
26361
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
179 |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
180 /** |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
181 * Remove all output windows for a given conference/session/participant/stream. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
182 * |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
183 * @param manager The manager the output windows were registered with. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
184 * @param media The media instance the output windows were registered for. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
185 * @param session_id The session the output windows were registered for. |
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
186 * @param participant The participant the output windows were registered for. |
26437
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
187 * |
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
188 * @since 2.6.0 |
26361
e9b5d68887ff
Add some documentation to mediamanager.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26350
diff
changeset
|
189 */ |
26117
6cf36f68033c
Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26114
diff
changeset
|
190 void purple_media_manager_remove_output_windows( |
6cf36f68033c
Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26114
diff
changeset
|
191 PurpleMediaManager *manager, PurpleMedia *media, |
6cf36f68033c
Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26114
diff
changeset
|
192 const gchar *session_id, const gchar *participant); |
26390
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
193 |
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
194 /** |
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
195 * Sets which media caps the UI supports. |
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
196 * |
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
197 * @param manager The manager to set the caps on. |
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
198 * @param caps The caps to set. |
26437
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
199 * |
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
200 * @since 2.6.0 |
26390
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
201 */ |
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
202 void purple_media_manager_set_ui_caps(PurpleMediaManager *manager, |
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
203 PurpleMediaCaps caps); |
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
204 |
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
205 /** |
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
206 * Gets which media caps the UI supports. |
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
207 * |
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
208 * @param manager The manager to get caps from. |
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
209 * |
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
210 * @return caps The caps retrieved. |
26437
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
211 * |
9eb8c8ec0a75
Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
26400
diff
changeset
|
212 * @since 2.6.0 |
26390
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
213 */ |
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
214 PurpleMediaCaps purple_media_manager_get_ui_caps(PurpleMediaManager *manager); |
507d2366d329
Add purple_media_manager_{get,set}_ui_caps.
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
26361
diff
changeset
|
215 |
29210
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
216 /** |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
217 * Sets which media backend type media objects will use. |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
218 * |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
219 * @param manager The manager to set the caps on. |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
220 * @param backend_type The media backend type to use. |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
221 * |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
222 * @since 2.7.0 |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
223 */ |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
224 void purple_media_manager_set_backend_type(PurpleMediaManager *manager, |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
225 GType backend_type); |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
226 |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
227 /** |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
228 * Gets which media backend type media objects will use. |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
229 * |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
230 * @param manager The manager to get the media backend type from. |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
231 * |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
232 * @return The type of media backend type media objects will use. |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
233 * |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
234 * @since 2.7.0 |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
235 */ |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
236 GType purple_media_manager_get_backend_type(PurpleMediaManager *manager); |
2b2b930281a0
Add a way to set and get which media backend type to use.
maiku@pidgin.im
parents:
28135
diff
changeset
|
237 |
23865
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
238 /*}@*/ |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
239 |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
240 #ifdef __cplusplus |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
241 } |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
242 #endif |
b8a73b6dc0a4
* Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents:
23804
diff
changeset
|
243 |
23760 | 244 G_END_DECLS |
245 | |
26438
fd97c0de433d
Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <paul@darkrain42.org>
parents:
26437
diff
changeset
|
246 #endif /* _PURPLE_MEDIA_MANAGER_H_ */ |