annotate libpurple/media.h @ 31390:11211e6427ae

pidgin: Remove a timeout when destroying this object to avoid a use-after-free Patch from Jakub "haakon" Adam. Closes #12806 committer: Paul Aurich <paul@darkrain42.org>
author jakub.adam@ktknet.cz
date Sun, 21 Nov 2010 22:07:08 +0000
parents dcd52d2b1b97
children 539aa44be788
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25546
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1 /**
25552
f0e32b734ef7 Cosmetics.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 25549
diff changeset
2 * @file media.h Media API
25546
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3 * @ingroup core
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
4 */
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
5
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
6 /* purple
25546
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
7 *
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
8 * Purple is the legal property of its developers, whose names are too numerous
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
10 * source distribution.
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
11 *
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
15 * (at your option) any later version.
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
16 *
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
20 * GNU General Public License for more details.
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
21 *
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
23 * along with this program; if not, write to the Free Software
28397
8c991e09efcb Update various header copyrights thanks to licensecheck.
Paul Aurich <paul@darkrain42.org>
parents: 28199
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
25546
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
25 */
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
26
26520
fd97c0de433d Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <paul@darkrain42.org>
parents: 26519
diff changeset
27 #ifndef _PURPLE_MEDIA_H_
fd97c0de433d Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <paul@darkrain42.org>
parents: 26519
diff changeset
28 #define _PURPLE_MEDIA_H_
26485
f0de2405c2f1 Use PurpleMediaKeyPair. Remove PurpleMediaCodecParameter.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26481
diff changeset
29
29536
f585e10f156b Split out PurpleMediaCandidate into its own file.
maiku@pidgin.im
parents: 29535
diff changeset
30 #include "media/candidate.h"
29538
e18c1d347e37 Break PurpleMediaCodec out into its own file.
maiku@pidgin.im
parents: 29536
diff changeset
31 #include "media/codec.h"
29535
ab1e29779722 Split the media API's enum types out into its own file.
maiku@pidgin.im
parents: 29524
diff changeset
32 #include "media/enum-types.h"
ab1e29779722 Split the media API's enum types out into its own file.
maiku@pidgin.im
parents: 29524
diff changeset
33
25546
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
34 #include <glib.h>
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
35 #include <glib-object.h>
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
36
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
37 G_BEGIN_DECLS
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
38
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
39 #define PURPLE_TYPE_MEDIA (purple_media_get_type())
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
40 #define PURPLE_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_MEDIA, PurpleMedia))
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
41 #define PURPLE_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_MEDIA, PurpleMediaClass))
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
42 #define PURPLE_IS_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_MEDIA))
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
43 #define PURPLE_IS_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_MEDIA))
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
44 #define PURPLE_MEDIA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_MEDIA, PurpleMediaClass))
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
45
28490
713987ae3215 Fix some docs warnings. Thanks to darkrain for pointing them out.
maiku@pidgin.im
parents: 28397
diff changeset
46 /** An opaque structure representing a media call. */
25546
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
47 typedef struct _PurpleMedia PurpleMedia;
26103
f7cf50180e1d Duplicate FsCandidate to remove it from the public interface.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26099
diff changeset
48
26520
fd97c0de433d Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <paul@darkrain42.org>
parents: 26519
diff changeset
49 #include "signals.h"
fd97c0de433d Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <paul@darkrain42.org>
parents: 26519
diff changeset
50 #include "util.h"
fd97c0de433d Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <paul@darkrain42.org>
parents: 26519
diff changeset
51
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
52 #ifdef __cplusplus
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
53 extern "C" {
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
54 #endif
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
55
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
56 /**
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
57 * Gets the media class's GType
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
58 *
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
59 * @return The media class's GType.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
60 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
61 * @since 2.6.0
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
62 */
25560
750d700098c1 Fix the prplinfo structs and get rid of some compile warnings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 25552
diff changeset
63 GType purple_media_get_type(void);
25546
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
64
26069
7d2e06b29f88 Add state-changed signal to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26060
diff changeset
65 /**
26815
6543ecbb0717 Distinguish name and participant in PurpleMedia API
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
66 * Gets a list of session IDs.
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
67 *
26815
6543ecbb0717 Distinguish name and participant in PurpleMedia API
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
68 * @param media The media session from which to retrieve session IDs.
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
69 *
26815
6543ecbb0717 Distinguish name and participant in PurpleMedia API
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
70 * @return GList of session IDs. The caller must free the list.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
71 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
72 * @since 2.6.0
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
73 */
26815
6543ecbb0717 Distinguish name and participant in PurpleMedia API
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
74 GList *purple_media_get_session_ids(PurpleMedia *media);
25671
12a16471f94e Refactored PurpleMedia to make creating audio or video sessions virtually identical. Audio, video, and audio/video sessions now work. Also added videotestsrc to the video plugin preference.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25654
diff changeset
75
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
76 /**
26606
df9042312063 Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26520
diff changeset
77 * Gets the PurpleAccount this media session is on.
26203
7738f530a967 Added the connection property back to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26199
diff changeset
78 *
26606
df9042312063 Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26520
diff changeset
79 * @param media The media session to retrieve the account from.
26203
7738f530a967 Added the connection property back to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26199
diff changeset
80 *
26606
df9042312063 Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26520
diff changeset
81 * @return The account retrieved.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
82 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
83 * @since 2.6.0
26203
7738f530a967 Added the connection property back to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26199
diff changeset
84 */
26606
df9042312063 Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26520
diff changeset
85 PurpleAccount *purple_media_get_account(PurpleMedia *media);
26203
7738f530a967 Added the connection property back to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26199
diff changeset
86
7738f530a967 Added the connection property back to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26199
diff changeset
87 /**
26204
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
88 * Gets the prpl data from the media session.
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
89 *
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
90 * @param media The media session to retrieve the prpl data from.
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
91 *
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
92 * @return The prpl data retrieved.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
93 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
94 * @since 2.6.0
26204
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
95 */
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
96 gpointer purple_media_get_prpl_data(PurpleMedia *media);
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
97
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
98 /**
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
99 * Sets the prpl data on the media session.
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
100 *
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
101 * @param media The media session to set the prpl data on.
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
102 * @param prpl_data The data to set on the media session.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
103 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
104 * @since 2.6.0
26204
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
105 */
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
106 void purple_media_set_prpl_data(PurpleMedia *media, gpointer prpl_data);
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
107
e411aad4346b Add a prpl-data property to PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26203
diff changeset
108 /**
26058
0ad1b8e950d7 Add purple_media_error.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26052
diff changeset
109 * Signals an error in the media session.
0ad1b8e950d7 Add purple_media_error.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26052
diff changeset
110 *
0ad1b8e950d7 Add purple_media_error.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26052
diff changeset
111 * @param media The media object to set the state on.
0ad1b8e950d7 Add purple_media_error.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26052
diff changeset
112 * @param error The format of the error message to send in the signal.
0ad1b8e950d7 Add purple_media_error.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26052
diff changeset
113 * @param ... The arguments to plug into the format.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
114 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
115 * @since 2.6.0
26058
0ad1b8e950d7 Add purple_media_error.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26052
diff changeset
116 */
0ad1b8e950d7 Add purple_media_error.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26052
diff changeset
117 void purple_media_error(PurpleMedia *media, const gchar *error, ...);
0ad1b8e950d7 Add purple_media_error.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26052
diff changeset
118
0ad1b8e950d7 Add purple_media_error.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26052
diff changeset
119 /**
26140
ac56e5707a72 Added purple_media_end and removed the purple_media_got_hangup.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26135
diff changeset
120 * Ends all streams that match the given parameters
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
121 *
26140
ac56e5707a72 Added purple_media_end and removed the purple_media_got_hangup.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26135
diff changeset
122 * @param media The media object with which to end streams.
ac56e5707a72 Added purple_media_end and removed the purple_media_got_hangup.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26135
diff changeset
123 * @param session_id The session to end streams on.
ac56e5707a72 Added purple_media_end and removed the purple_media_got_hangup.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26135
diff changeset
124 * @param participant The participant to end streams with.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
125 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
126 * @since 2.6.0
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
127 */
26140
ac56e5707a72 Added purple_media_end and removed the purple_media_got_hangup.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26135
diff changeset
128 void purple_media_end(PurpleMedia *media, const gchar *session_id,
ac56e5707a72 Added purple_media_end and removed the purple_media_got_hangup.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26135
diff changeset
129 const gchar *participant);
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
130
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
131 /**
26448
4e1286e76f1f Create purple_media_stream_info. Add local parameter to stream-info signal.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26432
diff changeset
132 * Signals different information about the given stream.
4e1286e76f1f Create purple_media_stream_info. Add local parameter to stream-info signal.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26432
diff changeset
133 *
4e1286e76f1f Create purple_media_stream_info. Add local parameter to stream-info signal.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26432
diff changeset
134 * @param media The media instance to containing the stream to signal.
4e1286e76f1f Create purple_media_stream_info. Add local parameter to stream-info signal.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26432
diff changeset
135 * @param type The type of info being signaled.
4e1286e76f1f Create purple_media_stream_info. Add local parameter to stream-info signal.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26432
diff changeset
136 * @param session_id The id of the session of the stream being signaled.
4e1286e76f1f Create purple_media_stream_info. Add local parameter to stream-info signal.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26432
diff changeset
137 * @param participant The participant of the stream being signaled.
4e1286e76f1f Create purple_media_stream_info. Add local parameter to stream-info signal.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26432
diff changeset
138 * @param local TRUE if the info originated locally, FALSE if on the remote end.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
139 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
140 * @since 2.6.0
26448
4e1286e76f1f Create purple_media_stream_info. Add local parameter to stream-info signal.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26432
diff changeset
141 */
4e1286e76f1f Create purple_media_stream_info. Add local parameter to stream-info signal.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26432
diff changeset
142 void purple_media_stream_info(PurpleMedia *media, PurpleMediaInfoType type,
4e1286e76f1f Create purple_media_stream_info. Add local parameter to stream-info signal.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26432
diff changeset
143 const gchar *session_id, const gchar *participant,
4e1286e76f1f Create purple_media_stream_info. Add local parameter to stream-info signal.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26432
diff changeset
144 gboolean local);
4e1286e76f1f Create purple_media_stream_info. Add local parameter to stream-info signal.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26432
diff changeset
145
4e1286e76f1f Create purple_media_stream_info. Add local parameter to stream-info signal.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26432
diff changeset
146 /**
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
147 * Adds a stream to a session.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
148 *
26010
3b4b9795f987 purple_media_add_stream should only add a stream to one session.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26009
diff changeset
149 * It only adds a stream to one audio session or video session as
3b4b9795f987 purple_media_add_stream should only add a stream to one session.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26009
diff changeset
150 * the @c sess_id must be unique between sessions.
3b4b9795f987 purple_media_add_stream should only add a stream to one session.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26009
diff changeset
151 *
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
152 * @param media The media object to find the session in.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
153 * @param sess_id The session id of the session to add the stream to.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
154 * @param who The name of the remote user to add the stream for.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
155 * @param type The type of stream to create.
26466
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26465
diff changeset
156 * @param initiator Whether or not the local user initiated the stream.
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
157 * @param transmitter The transmitter to use for the stream.
26010
3b4b9795f987 purple_media_add_stream should only add a stream to one session.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26009
diff changeset
158 * @param num_params The number of parameters to pass to Farsight.
3b4b9795f987 purple_media_add_stream should only add a stream to one session.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26009
diff changeset
159 * @param params The parameters to pass to Farsight.
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
160 *
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
161 * @return @c TRUE The stream was added successfully, @c FALSE otherwise.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
162 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
163 * @since 2.6.0
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
164 */
26466
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26465
diff changeset
165 gboolean purple_media_add_stream(PurpleMedia *media, const gchar *sess_id,
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26465
diff changeset
166 const gchar *who, PurpleMediaSessionType type,
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26465
diff changeset
167 gboolean initiator, const gchar *transmitter,
26009
6ab96d5d8ac6 Add params to purple_media_add_stream to allow for different libNice
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26007
diff changeset
168 guint num_params, GParameter *params);
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
169
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
170 /**
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
171 * Gets the session type from a session
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
172 *
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
173 * @param media The media object to find the session in.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
174 * @param sess_id The session id of the session to get the type from.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
175 *
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
176 * @return The retreived session type.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
177 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
178 * @since 2.6.0
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
179 */
25720
551a462b346a Changed PurpleMediaStreamType to PurpleMediaSessionType.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25715
diff changeset
180 PurpleMediaSessionType purple_media_get_session_type(PurpleMedia *media, const gchar *sess_id);
25647
e1c8ec1259de Updates voice and video to use Farsight 2, gets XMPP voice conferences
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25643
diff changeset
181
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
182 /**
26475
462e5c27dbd7 Use purple_media_manager_get_pipeline instead.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26468
diff changeset
183 * Gets the PurpleMediaManager this media session is a part of.
462e5c27dbd7 Use purple_media_manager_get_pipeline instead.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26468
diff changeset
184 *
462e5c27dbd7 Use purple_media_manager_get_pipeline instead.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26468
diff changeset
185 * @param media The media object to get the manager instance from.
462e5c27dbd7 Use purple_media_manager_get_pipeline instead.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26468
diff changeset
186 *
462e5c27dbd7 Use purple_media_manager_get_pipeline instead.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26468
diff changeset
187 * @return The PurpleMediaManager instance retrieved.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
188 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
189 * @since 2.6.0
26475
462e5c27dbd7 Use purple_media_manager_get_pipeline instead.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26468
diff changeset
190 */
462e5c27dbd7 Use purple_media_manager_get_pipeline instead.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26468
diff changeset
191 struct _PurpleMediaManager *purple_media_get_manager(PurpleMedia *media);
462e5c27dbd7 Use purple_media_manager_get_pipeline instead.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26468
diff changeset
192
462e5c27dbd7 Use purple_media_manager_get_pipeline instead.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26468
diff changeset
193 /**
26036
a5f1804fcb4b Combine get_*_codecs functions to mirror Farsight 2.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26014
diff changeset
194 * Gets the codecs from a session.
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
195 *
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
196 * @param media The media object to find the session in.
26036
a5f1804fcb4b Combine get_*_codecs functions to mirror Farsight 2.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26014
diff changeset
197 * @param sess_id The session id of the session to get the codecs from.
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
198 *
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
199 * @return The retreieved codecs.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
200 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
201 * @since 2.6.0
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
202 */
26036
a5f1804fcb4b Combine get_*_codecs functions to mirror Farsight 2.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26014
diff changeset
203 GList *purple_media_get_codecs(PurpleMedia *media, const gchar *sess_id);
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
204
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
205 /**
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
206 * Adds remote candidates to the stream.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
207 *
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
208 * @param media The media object to find the session in.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
209 * @param sess_id The session id of the session find the stream in.
26815
6543ecbb0717 Distinguish name and participant in PurpleMedia API
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
210 * @param participant The name of the remote user to add the candidates for.
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
211 * @param remote_candidates The remote candidates to add.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
212 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
213 * @since 2.6.0
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
214 */
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
215 void purple_media_add_remote_candidates(PurpleMedia *media,
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
216 const gchar *sess_id,
26815
6543ecbb0717 Distinguish name and participant in PurpleMedia API
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
217 const gchar *participant,
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
218 GList *remote_candidates);
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
219
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
220 /**
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
221 * Gets the local candidates from a stream.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
222 *
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
223 * @param media The media object to find the session in.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
224 * @param sess_id The session id of the session to find the stream in.
26815
6543ecbb0717 Distinguish name and participant in PurpleMedia API
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
225 * @param participant The name of the remote user to get the candidates from.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
226 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
227 * @since 2.6.0
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
228 */
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
229 GList *purple_media_get_local_candidates(PurpleMedia *media,
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
230 const gchar *sess_id,
26815
6543ecbb0717 Distinguish name and participant in PurpleMedia API
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
231 const gchar *participant);
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
232
26468
6d9f4ca72828 Comment out purple_media_get_active_{local,remote}_candidates.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26466
diff changeset
233 #if 0
6d9f4ca72828 Comment out purple_media_get_active_{local,remote}_candidates.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26466
diff changeset
234 /*
6d9f4ca72828 Comment out purple_media_get_active_{local,remote}_candidates.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26466
diff changeset
235 * These two functions aren't being used and I'd rather not lock in the API
6d9f4ca72828 Comment out purple_media_get_active_{local,remote}_candidates.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26466
diff changeset
236 * until they are needed. If they ever are.
6d9f4ca72828 Comment out purple_media_get_active_{local,remote}_candidates.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26466
diff changeset
237 */
6d9f4ca72828 Comment out purple_media_get_active_{local,remote}_candidates.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26466
diff changeset
238
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
239 /**
26181
dcff28a0415c Handle having multiple active candidates.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26157
diff changeset
240 * Gets the active local candidates for the stream.
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
241 *
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
242 * @param media The media object to find the session in.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
243 * @param sess_id The session id of the session to find the stream in.
26815
6543ecbb0717 Distinguish name and participant in PurpleMedia API
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
244 * @param participant The name of the remote user to get the active candidate
6543ecbb0717 Distinguish name and participant in PurpleMedia API
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
245 * from.
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
246 *
26181
dcff28a0415c Handle having multiple active candidates.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26157
diff changeset
247 * @return The active candidates retrieved.
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
248 */
26181
dcff28a0415c Handle having multiple active candidates.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26157
diff changeset
249 GList *purple_media_get_active_local_candidates(PurpleMedia *media,
26815
6543ecbb0717 Distinguish name and participant in PurpleMedia API
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
250 const gchar *sess_id, const gchar *participant);
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
251
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
252 /**
26181
dcff28a0415c Handle having multiple active candidates.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26157
diff changeset
253 * Gets the active remote candidates for the stream.
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
254 *
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
255 * @param media The media object to find the session in.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
256 * @param sess_id The session id of the session to find the stream in.
26815
6543ecbb0717 Distinguish name and participant in PurpleMedia API
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
257 * @param participant The name of the remote user to get the remote candidate
6543ecbb0717 Distinguish name and participant in PurpleMedia API
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
258 * from.
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
259 *
26181
dcff28a0415c Handle having multiple active candidates.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26157
diff changeset
260 * @return The remote candidates retrieved.
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
261 */
26181
dcff28a0415c Handle having multiple active candidates.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26157
diff changeset
262 GList *purple_media_get_active_remote_candidates(PurpleMedia *media,
26815
6543ecbb0717 Distinguish name and participant in PurpleMedia API
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
263 const gchar *sess_id, const gchar *participant);
26468
6d9f4ca72828 Comment out purple_media_get_active_{local,remote}_candidates.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26466
diff changeset
264 #endif
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
265
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
266 /**
26508
c8a495ad479b Fix purple_media_set_remote_codecs ()'s docstring
Will Thompson <will.thompson@collabora.co.uk>
parents: 26489
diff changeset
267 * Sets remote candidates from the stream.
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
268 *
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
269 * @param media The media object to find the session in.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
270 * @param sess_id The session id of the session find the stream in.
26815
6543ecbb0717 Distinguish name and participant in PurpleMedia API
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
271 * @param participant The name of the remote user to set the candidates from.
28490
713987ae3215 Fix some docs warnings. Thanks to darkrain for pointing them out.
maiku@pidgin.im
parents: 28397
diff changeset
272 * @param codecs The list of remote codecs to set.
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
273 *
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
274 * @return @c TRUE The codecs were set successfully, or @c FALSE otherwise.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
275 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
276 * @since 2.6.0
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
277 */
25695
13936e4405b7 Added better Farsight error handling.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25687
diff changeset
278 gboolean purple_media_set_remote_codecs(PurpleMedia *media, const gchar *sess_id,
26815
6543ecbb0717 Distinguish name and participant in PurpleMedia API
Paul Aurich <paul@darkrain42.org>
parents: 26606
diff changeset
279 const gchar *participant, GList *codecs);
25647
e1c8ec1259de Updates voice and video to use Farsight 2, gets XMPP voice conferences
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25643
diff changeset
280
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
281 /**
26392
17929a84c1fb Change purple_media_candidates_prepared to use wildcards.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26204
diff changeset
282 * Returns whether or not the candidates for set of streams are prepared
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
283 *
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
284 * @param media The media object to find the remote user in.
26392
17929a84c1fb Change purple_media_candidates_prepared to use wildcards.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26204
diff changeset
285 * @param session_id The session id of the session to check.
17929a84c1fb Change purple_media_candidates_prepared to use wildcards.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26204
diff changeset
286 * @param participant The remote user to check for.
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
287 *
26392
17929a84c1fb Change purple_media_candidates_prepared to use wildcards.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26204
diff changeset
288 * @return @c TRUE All streams for the given session_id/participant combination have candidates prepared, @c FALSE otherwise.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
289 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
290 * @since 2.6.0
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
291 */
26392
17929a84c1fb Change purple_media_candidates_prepared to use wildcards.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26204
diff changeset
292 gboolean purple_media_candidates_prepared(PurpleMedia *media,
17929a84c1fb Change purple_media_candidates_prepared to use wildcards.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26204
diff changeset
293 const gchar *session_id, const gchar *participant);
25680
b5a00ddb7077 Jingle sessions now keep track of their transaction state to a degree.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25674
diff changeset
294
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
295 /**
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
296 * Sets the send codec for the a session.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
297 *
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
298 * @param media The media object to find the session in.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
299 * @param sess_id The session id of the session to set the codec for.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
300 * @param codec The codec to set the session to stream.
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
301 *
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
302 * @return @c TRUE The codec was successfully changed, or @c FALSE otherwise.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
303 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
304 * @since 2.6.0
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
305 */
26106
ac4d7695dbc7 Wrap FsCodec and remove the Farsight2 include from media.h.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26104
diff changeset
306 gboolean purple_media_set_send_codec(PurpleMedia *media, const gchar *sess_id, PurpleMediaCodec *codec);
25712
3ffe166a355e Set the proper send codec in Farsight.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25709
diff changeset
307
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
308 /**
26013
5a774d0817d8 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26011
diff changeset
309 * Gets whether a session's codecs are ready to be used.
5a774d0817d8 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26011
diff changeset
310 *
5a774d0817d8 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26011
diff changeset
311 * @param media The media object to find the session in.
5a774d0817d8 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26011
diff changeset
312 * @param sess_id The session id of the session to check.
5a774d0817d8 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26011
diff changeset
313 *
5a774d0817d8 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26011
diff changeset
314 * @return @c TRUE The codecs are ready, or @c FALSE otherwise.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
315 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
316 * @since 2.6.0
26013
5a774d0817d8 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26011
diff changeset
317 */
5a774d0817d8 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26011
diff changeset
318 gboolean purple_media_codecs_ready(PurpleMedia *media, const gchar *sess_id);
5a774d0817d8 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26011
diff changeset
319
5a774d0817d8 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26011
diff changeset
320 /**
26466
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26465
diff changeset
321 * Gets whether the local user is the conference/session/stream's initiator.
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26465
diff changeset
322 *
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26465
diff changeset
323 * @param media The media instance to find the session in.
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26465
diff changeset
324 * @param sess_id The session id of the session to check.
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26465
diff changeset
325 * @param participant The participant of the stream to check.
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26465
diff changeset
326 *
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26465
diff changeset
327 * @return TRUE if the local user is the stream's initator, else FALSE.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
328 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
329 * @since 2.6.0
26466
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26465
diff changeset
330 */
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26465
diff changeset
331 gboolean purple_media_is_initiator(PurpleMedia *media,
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26465
diff changeset
332 const gchar *sess_id, const gchar *participant);
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26465
diff changeset
333
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26465
diff changeset
334 /**
26143
f6a98b2b8d92 Add the accepted signal and make the accept button go away immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26140
diff changeset
335 * Gets whether a streams selected have been accepted.
f6a98b2b8d92 Add the accepted signal and make the accept button go away immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26140
diff changeset
336 *
f6a98b2b8d92 Add the accepted signal and make the accept button go away immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26140
diff changeset
337 * @param media The media object to find the session in.
f6a98b2b8d92 Add the accepted signal and make the accept button go away immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26140
diff changeset
338 * @param sess_id The session id of the session to check.
f6a98b2b8d92 Add the accepted signal and make the accept button go away immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26140
diff changeset
339 * @param participant The participant to check.
f6a98b2b8d92 Add the accepted signal and make the accept button go away immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26140
diff changeset
340 *
f6a98b2b8d92 Add the accepted signal and make the accept button go away immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26140
diff changeset
341 * @return @c TRUE The selected streams have been accepted, or @c FALSE otherwise.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
342 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
343 * @since 2.6.0
26143
f6a98b2b8d92 Add the accepted signal and make the accept button go away immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26140
diff changeset
344 */
f6a98b2b8d92 Add the accepted signal and make the accept button go away immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26140
diff changeset
345 gboolean purple_media_accepted(PurpleMedia *media, const gchar *sess_id,
f6a98b2b8d92 Add the accepted signal and make the accept button go away immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26140
diff changeset
346 const gchar *participant);
f6a98b2b8d92 Add the accepted signal and make the accept button go away immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26140
diff changeset
347
f6a98b2b8d92 Add the accepted signal and make the accept button go away immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26140
diff changeset
348 /**
26047
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
349 * Sets the input volume of all the selected sessions.
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
350 *
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
351 * @param media The media object the sessions are in.
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
352 * @param session_id The session to select (if any).
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
353 * @param level The level to set the volume to.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
354 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
355 * @since 2.6.0
26047
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
356 */
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
357 void purple_media_set_input_volume(PurpleMedia *media, const gchar *session_id, double level);
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
358
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
359 /**
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
360 * Sets the output volume of all the selected streams.
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
361 *
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
362 * @param media The media object the streams are in.
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
363 * @param session_id The session to limit the streams to (if any).
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
364 * @param participant The participant to limit the streams to (if any).
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
365 * @param level The level to set the volume to.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
366 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
367 * @since 2.6.0
26047
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
368 */
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
369 void purple_media_set_output_volume(PurpleMedia *media, const gchar *session_id,
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
370 const gchar *participant, double level);
1ce297c8923b Added media functions to set input and output volume.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26038
diff changeset
371
26415
4143990b5c09 Add documentation for a few media functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26414
diff changeset
372 /**
4143990b5c09 Add documentation for a few media functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26414
diff changeset
373 * Sets a video output window for the given session/stream.
4143990b5c09 Add documentation for a few media functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26414
diff changeset
374 *
4143990b5c09 Add documentation for a few media functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26414
diff changeset
375 * @param media The media instance to set the output window on.
4143990b5c09 Add documentation for a few media functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26414
diff changeset
376 * @param session_id The session to set the output window on.
4143990b5c09 Add documentation for a few media functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26414
diff changeset
377 * @param participant Optionally, the participant to set the output window on.
4143990b5c09 Add documentation for a few media functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26414
diff changeset
378 * @param window_id The window id use for embedding the video in.
4143990b5c09 Add documentation for a few media functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26414
diff changeset
379 *
4143990b5c09 Add documentation for a few media functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26414
diff changeset
380 * @return An id to reference the output window.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
381 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
382 * @since 2.6.0
26415
4143990b5c09 Add documentation for a few media functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26414
diff changeset
383 */
26199
6cf36f68033c Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26190
diff changeset
384 gulong purple_media_set_output_window(PurpleMedia *media,
26135
c334a9e17426 Wait to create the sinks until the frames are ready.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26122
diff changeset
385 const gchar *session_id, const gchar *participant,
c334a9e17426 Wait to create the sinks until the frames are ready.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26122
diff changeset
386 gulong window_id);
26199
6cf36f68033c Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26190
diff changeset
387
26415
4143990b5c09 Add documentation for a few media functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26414
diff changeset
388 /**
4143990b5c09 Add documentation for a few media functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26414
diff changeset
389 * Removes all output windows from a given media session.
4143990b5c09 Add documentation for a few media functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26414
diff changeset
390 *
4143990b5c09 Add documentation for a few media functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26414
diff changeset
391 * @param media The instance to remove all output windows from.
26519
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
392 *
9eb8c8ec0a75 Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26508
diff changeset
393 * @since 2.6.0
26415
4143990b5c09 Add documentation for a few media functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26414
diff changeset
394 */
26199
6cf36f68033c Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26190
diff changeset
395 void purple_media_remove_output_windows(PurpleMedia *media);
6cf36f68033c Only create output windows once there's data to be output.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26190
diff changeset
396
25715
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
397 #ifdef __cplusplus
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
398 }
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
399 #endif
b8a73b6dc0a4 * Added documentation to media.h and mediamanager.h
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 25713
diff changeset
400
25546
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
401 G_END_DECLS
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
402
26520
fd97c0de433d Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <paul@darkrain42.org>
parents: 26519
diff changeset
403 #endif /* _PURPLE_MEDIA_H_ */