libpurple/media.h

Wed, 13 May 2009 20:29:03 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Wed, 13 May 2009 20:29:03 +0000
changeset 27110
05ca719b901b
parent 26960
6ab1af0e17f7
child 28133
4b84b16a01af
permissions
-rw-r--r--

Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.

19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1 /**
19889
defa6a4f45cc Cosmetics.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19887
diff changeset
2 * @file media.h Media API
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
3 * @ingroup core
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
4 */
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
5
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
6 /* purple
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
7 *
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
8 * Purple is the legal property of its developers, whose names are too numerous
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
10 * source distribution.
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
11 *
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
15 * (at your option) any later version.
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
16 *
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
20 * GNU General Public License for more details.
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
21 *
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
23 * along with this program; if not, write to the Free Software
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
24 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
25 */
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
26
26649
1a6c4fd19355 Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <darkrain42@pidgin.im>
parents: 26648
diff changeset
27 #ifndef _PURPLE_MEDIA_H_
1a6c4fd19355 Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <darkrain42@pidgin.im>
parents: 26648
diff changeset
28 #define _PURPLE_MEDIA_H_
26617
514bdfc137d5 Use PurpleMediaKeyPair. Remove PurpleMediaCodecParameter.
Michael Ruprecht <maiku@pidgin.im>
parents: 26613
diff changeset
29
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
30 #include <glib.h>
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
31 #include <glib-object.h>
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
32
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
33 G_BEGIN_DECLS
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
34
26620
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
35 #define PURPLE_TYPE_MEDIA_CANDIDATE (purple_media_candidate_get_type())
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
36 #define PURPLE_MEDIA_CANDIDATE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_MEDIA_CANDIDATE, PurpleMediaCandidate))
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
37 #define PURPLE_MEDIA_CANDIDATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_MEDIA_CANDIDATE, PurpleMediaCandidate))
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
38 #define PURPLE_IS_MEDIA_CANDIDATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_MEDIA_CANDIDATE))
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
39 #define PURPLE_IS_MEDIA_CANDIDATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_MEDIA_CANDIDATE))
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
40 #define PURPLE_MEDIA_CANDIDATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_MEDIA_CANDIDATE, PurpleMediaCandidate))
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
41
26618
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
42 #define PURPLE_TYPE_MEDIA_CODEC (purple_media_codec_get_type())
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
43 #define PURPLE_MEDIA_CODEC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_MEDIA_CODEC, PurpleMediaCodec))
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
44 #define PURPLE_MEDIA_CODEC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_MEDIA_CODEC, PurpleMediaCodec))
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
45 #define PURPLE_IS_MEDIA_CODEC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_MEDIA_CODEC))
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
46 #define PURPLE_IS_MEDIA_CODEC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_MEDIA_CODEC))
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
47 #define PURPLE_MEDIA_CODEC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_MEDIA_CODEC, PurpleMediaCodec))
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
48
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
49 #define PURPLE_TYPE_MEDIA_SESSION_TYPE (purple_media_session_type_get_type())
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
50 #define PURPLE_TYPE_MEDIA (purple_media_get_type())
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
51 #define PURPLE_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_MEDIA, PurpleMedia))
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
52 #define PURPLE_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_MEDIA, PurpleMediaClass))
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
53 #define PURPLE_IS_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_MEDIA))
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
54 #define PURPLE_IS_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_MEDIA))
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
55 #define PURPLE_MEDIA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_MEDIA, PurpleMediaClass))
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
56
26620
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
57 #define PURPLE_TYPE_MEDIA_CANDIDATE_TYPE (purple_media_candidate_type_get_type())
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
58 #define PURPLE_TYPE_MEDIA_NETWORK_PROTOCOL (purple_media_network_protocol_get_type())
26449
9e381dc6ed24 Rename state-changed enum and values.
Michael Ruprecht <maiku@pidgin.im>
parents: 26448
diff changeset
59 #define PURPLE_MEDIA_TYPE_STATE (purple_media_state_changed_get_type())
26447
d966eb10953d Use the right enum for the stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26446
diff changeset
60 #define PURPLE_MEDIA_TYPE_INFO_TYPE (purple_media_info_type_get_type())
26193
101122f0f3dd Add state-changed signal to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26184
diff changeset
61
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
62 /** @copydoc _PurpleMedia */
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
63 typedef struct _PurpleMedia PurpleMedia;
26229
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
64 /** @copydoc _PurpleMediaCandidate */
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
65 typedef struct _PurpleMediaCandidate PurpleMediaCandidate;
26232
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
66 /** @copydoc _PurpleMediaCodec */
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
67 typedef struct _PurpleMediaCodec PurpleMediaCodec;
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
68
26316
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26304
diff changeset
69 /** Media caps */
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26304
diff changeset
70 typedef enum {
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26304
diff changeset
71 PURPLE_MEDIA_CAPS_NONE = 0,
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26304
diff changeset
72 PURPLE_MEDIA_CAPS_AUDIO = 1,
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26304
diff changeset
73 PURPLE_MEDIA_CAPS_AUDIO_SINGLE_DIRECTION = 1 << 1,
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26304
diff changeset
74 PURPLE_MEDIA_CAPS_VIDEO = 1 << 2,
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26304
diff changeset
75 PURPLE_MEDIA_CAPS_VIDEO_SINGLE_DIRECTION = 1 << 3,
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26304
diff changeset
76 PURPLE_MEDIA_CAPS_AUDIO_VIDEO = 1 << 4,
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26304
diff changeset
77 PURPLE_MEDIA_CAPS_MODIFY_SESSION = 1 << 5,
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26304
diff changeset
78 PURPLE_MEDIA_CAPS_CHANGE_DIRECTION = 1 << 6,
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26304
diff changeset
79 } PurpleMediaCaps;
950c0d491c0d Change purple_prpl_can_do_media to purple_prpl_get_media_caps.
Michael Ruprecht <maiku@pidgin.im>
parents: 26304
diff changeset
80
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
81 /** Media session types */
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
82 typedef enum {
23724
5d3300ffacad Added some utility functions to convert PurpleMediaStreamType
Michael Ruprecht <maiku@pidgin.im>
parents: 23721
diff changeset
83 PURPLE_MEDIA_NONE = 0,
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
84 PURPLE_MEDIA_RECV_AUDIO = 1 << 0,
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
85 PURPLE_MEDIA_SEND_AUDIO = 1 << 1,
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
86 PURPLE_MEDIA_RECV_VIDEO = 1 << 2,
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
87 PURPLE_MEDIA_SEND_VIDEO = 1 << 3,
23697
299bafcd8eb8 Updates voice and video to use Farsight 2, gets XMPP voice conferences
Michael Ruprecht <maiku@pidgin.im>
parents: 22682
diff changeset
88 PURPLE_MEDIA_AUDIO = PURPLE_MEDIA_RECV_AUDIO | PURPLE_MEDIA_SEND_AUDIO,
299bafcd8eb8 Updates voice and video to use Farsight 2, gets XMPP voice conferences
Michael Ruprecht <maiku@pidgin.im>
parents: 22682
diff changeset
89 PURPLE_MEDIA_VIDEO = PURPLE_MEDIA_RECV_VIDEO | PURPLE_MEDIA_SEND_VIDEO
26108
8d0fd2f195aa Changed PurpleMediaStreamType to PurpleMediaSessionType.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
90 } PurpleMediaSessionType;
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
91
26193
101122f0f3dd Add state-changed signal to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26184
diff changeset
92 /** Media state-changed types */
101122f0f3dd Add state-changed signal to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26184
diff changeset
93 typedef enum {
26449
9e381dc6ed24 Rename state-changed enum and values.
Michael Ruprecht <maiku@pidgin.im>
parents: 26448
diff changeset
94 PURPLE_MEDIA_STATE_NEW = 0,
9e381dc6ed24 Rename state-changed enum and values.
Michael Ruprecht <maiku@pidgin.im>
parents: 26448
diff changeset
95 PURPLE_MEDIA_STATE_CONNECTED,
9e381dc6ed24 Rename state-changed enum and values.
Michael Ruprecht <maiku@pidgin.im>
parents: 26448
diff changeset
96 PURPLE_MEDIA_STATE_END,
9e381dc6ed24 Rename state-changed enum and values.
Michael Ruprecht <maiku@pidgin.im>
parents: 26448
diff changeset
97 } PurpleMediaState;
26193
101122f0f3dd Add state-changed signal to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26184
diff changeset
98
26440
1ece473ab51a Add stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26434
diff changeset
99 /** Media info types */
1ece473ab51a Add stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26434
diff changeset
100 typedef enum {
1ece473ab51a Add stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26434
diff changeset
101 PURPLE_MEDIA_INFO_HANGUP = 0,
26497
f1bdba5a6236 Add some more PurpleMediaInfo values.
Michael Ruprecht <maiku@pidgin.im>
parents: 26496
diff changeset
102 PURPLE_MEDIA_INFO_ACCEPT,
26440
1ece473ab51a Add stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26434
diff changeset
103 PURPLE_MEDIA_INFO_REJECT,
1ece473ab51a Add stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26434
diff changeset
104 PURPLE_MEDIA_INFO_MUTE,
26497
f1bdba5a6236 Add some more PurpleMediaInfo values.
Michael Ruprecht <maiku@pidgin.im>
parents: 26496
diff changeset
105 PURPLE_MEDIA_INFO_UNMUTE,
26440
1ece473ab51a Add stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26434
diff changeset
106 PURPLE_MEDIA_INFO_HOLD,
26497
f1bdba5a6236 Add some more PurpleMediaInfo values.
Michael Ruprecht <maiku@pidgin.im>
parents: 26496
diff changeset
107 PURPLE_MEDIA_INFO_UNHOLD,
26440
1ece473ab51a Add stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26434
diff changeset
108 } PurpleMediaInfoType;
26193
101122f0f3dd Add state-changed signal to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26184
diff changeset
109
26229
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
110 typedef enum {
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
111 PURPLE_MEDIA_CANDIDATE_TYPE_HOST,
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
112 PURPLE_MEDIA_CANDIDATE_TYPE_SRFLX,
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
113 PURPLE_MEDIA_CANDIDATE_TYPE_PRFLX,
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
114 PURPLE_MEDIA_CANDIDATE_TYPE_RELAY,
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
115 PURPLE_MEDIA_CANDIDATE_TYPE_MULTICAST,
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
116 } PurpleMediaCandidateType;
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
117
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
118 typedef enum {
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
119 PURPLE_MEDIA_COMPONENT_NONE = 0,
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
120 PURPLE_MEDIA_COMPONENT_RTP = 1,
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
121 PURPLE_MEDIA_COMPONENT_RTCP = 2,
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
122 } PurpleMediaComponentType;
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
123
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
124 typedef enum {
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
125 PURPLE_MEDIA_NETWORK_PROTOCOL_UDP,
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
126 PURPLE_MEDIA_NETWORK_PROTOCOL_TCP,
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
127 } PurpleMediaNetworkProtocol;
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
128
26649
1a6c4fd19355 Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <darkrain42@pidgin.im>
parents: 26648
diff changeset
129 #include "signals.h"
1a6c4fd19355 Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <darkrain42@pidgin.im>
parents: 26648
diff changeset
130 #include "util.h"
1a6c4fd19355 Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <darkrain42@pidgin.im>
parents: 26648
diff changeset
131
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
132 #ifdef __cplusplus
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
133 extern "C" {
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
134 #endif
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
135
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
136 /**
26618
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
137 * Gets the media session type's GType
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
138 *
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
139 * @return The media session type's GType.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
140 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
141 * @since 2.6.0
26618
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
142 */
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
143 GType purple_media_session_type_get_type(void);
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
144
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
145 /**
26620
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
146 * Gets the media candidate type's GType
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
147 *
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
148 * @return The media candidate type's GType.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
149 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
150 * @since 2.6.0
26620
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
151 */
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
152 GType purple_media_candidate_type_get_type(void);
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
153
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
154 /**
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
155 * Gets the media network protocol's GType
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
156 *
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
157 * @return The media network protocol's GType.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
158 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
159 * @since 2.6.0
26620
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
160 */
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
161 GType purple_media_network_protocol_get_type(void);
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
162
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
163 /**
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
164 * Gets the media class's GType
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
165 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
166 * @return The media class's GType.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
167 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
168 * @since 2.6.0
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
169 */
22071
4c47e360e467 Fix the prplinfo structs and get rid of some compile warnings.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19889
diff changeset
170 GType purple_media_get_type(void);
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
171
26193
101122f0f3dd Add state-changed signal to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26184
diff changeset
172 /**
101122f0f3dd Add state-changed signal to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26184
diff changeset
173 * Gets the type of the state-changed enum
101122f0f3dd Add state-changed signal to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26184
diff changeset
174 *
101122f0f3dd Add state-changed signal to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26184
diff changeset
175 * @return The state-changed enum's GType
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
176 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
177 * @since 2.6.0
26193
101122f0f3dd Add state-changed signal to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26184
diff changeset
178 */
101122f0f3dd Add state-changed signal to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26184
diff changeset
179 GType purple_media_state_changed_get_type(void);
101122f0f3dd Add state-changed signal to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26184
diff changeset
180
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
181 /**
26448
64c7d1b462c3 Declare purple_media_state_changed_get_type.
Michael Ruprecht <maiku@pidgin.im>
parents: 26447
diff changeset
182 * Gets the type of the info type enum
64c7d1b462c3 Declare purple_media_state_changed_get_type.
Michael Ruprecht <maiku@pidgin.im>
parents: 26447
diff changeset
183 *
64c7d1b462c3 Declare purple_media_state_changed_get_type.
Michael Ruprecht <maiku@pidgin.im>
parents: 26447
diff changeset
184 * @return The info type enum's GType
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
185 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
186 * @since 2.6.0
26448
64c7d1b462c3 Declare purple_media_state_changed_get_type.
Michael Ruprecht <maiku@pidgin.im>
parents: 26447
diff changeset
187 */
64c7d1b462c3 Declare purple_media_state_changed_get_type.
Michael Ruprecht <maiku@pidgin.im>
parents: 26447
diff changeset
188 GType purple_media_info_type_get_type(void);
64c7d1b462c3 Declare purple_media_state_changed_get_type.
Michael Ruprecht <maiku@pidgin.im>
parents: 26447
diff changeset
189
64c7d1b462c3 Declare purple_media_state_changed_get_type.
Michael Ruprecht <maiku@pidgin.im>
parents: 26447
diff changeset
190 /**
26229
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
191 * Gets the type of the media candidate structure.
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
192 *
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
193 * @return The media canditate's GType
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
194 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
195 * @since 2.6.0
26229
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
196 */
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
197 GType purple_media_candidate_get_type(void);
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
198
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
199 /**
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
200 * Creates a PurpleMediaCandidate instance.
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
201 *
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
202 * @param foundation The foundation of the candidate.
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
203 * @param component_id The component this candidate is for.
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
204 * @param type The type of candidate.
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
205 * @param proto The protocol this component is for.
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
206 * @param ip The IP address of this component.
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
207 * @param port The network port.
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
208 *
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
209 * @return The newly created PurpleMediaCandidate instance.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
210 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
211 * @since 2.6.0
26229
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
212 */
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
213 PurpleMediaCandidate *purple_media_candidate_new(
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
214 const gchar *foundation, guint component_id,
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
215 PurpleMediaCandidateType type,
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
216 PurpleMediaNetworkProtocol proto,
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
217 const gchar *ip, guint port);
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
218
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
219 /**
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
220 * Copies a GList of PurpleMediaCandidate and its contents.
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
221 *
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
222 * @param candidates The list of candidates to be copied.
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
223 *
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
224 * @return The copy of the GList.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
225 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
226 * @since 2.6.0
26229
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
227 */
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
228 GList *purple_media_candidate_list_copy(GList *candidates);
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
229
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
230 /**
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
231 * Frees a GList of PurpleMediaCandidate and its contents.
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
232 *
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
233 * @param candidates The list of candidates to be freed.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
234 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
235 * @since 2.6.0
26229
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
236 */
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
237 void purple_media_candidate_list_free(GList *candidates);
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
238
26620
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
239 gchar *purple_media_candidate_get_foundation(PurpleMediaCandidate *candidate);
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
240 guint purple_media_candidate_get_component_id(PurpleMediaCandidate *candidate);
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
241 gchar *purple_media_candidate_get_ip(PurpleMediaCandidate *candidate);
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
242 guint16 purple_media_candidate_get_port(PurpleMediaCandidate *candidate);
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
243 gchar *purple_media_candidate_get_base_ip(PurpleMediaCandidate *candidate);
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
244 guint16 purple_media_candidate_get_base_port(PurpleMediaCandidate *candidate);
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
245 PurpleMediaNetworkProtocol purple_media_candidate_get_protocol(
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
246 PurpleMediaCandidate *candidate);
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
247 guint32 purple_media_candidate_get_priority(PurpleMediaCandidate *candidate);
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
248 PurpleMediaCandidateType purple_media_candidate_get_candidate_type(
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
249 PurpleMediaCandidate *candidate);
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
250 gchar *purple_media_candidate_get_username(PurpleMediaCandidate *candidate);
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
251 gchar *purple_media_candidate_get_password(PurpleMediaCandidate *candidate);
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
252 guint purple_media_candidate_get_ttl(PurpleMediaCandidate *candidate);
a34fb2386da5 Hide and GObjectify PurpleMediaCandidate.
Michael Ruprecht <maiku@pidgin.im>
parents: 26618
diff changeset
253
26229
3e786c9ebb62 Duplicate FsCandidate to remove it from the public interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 26226
diff changeset
254 /**
26232
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
255 * Gets the type of the media codec structure.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
256 *
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
257 * @return The media codec's GType
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
258 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
259 * @since 2.6.0
26232
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
260 */
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
261 GType purple_media_codec_get_type(void);
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
262
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
263 /**
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
264 * Creates a new PurpleMediaCodec instance.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
265 *
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
266 * @param id Codec identifier.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
267 * @param encoding_name Name of the media type this encodes.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
268 * @param media_type PurpleMediaSessionType of this codec.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
269 * @param clock_rate The clock rate this codec encodes at, if applicable.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
270 *
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
271 * @return The newly created PurpleMediaCodec.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
272 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
273 * @since 2.6.0
26232
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
274 */
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
275 PurpleMediaCodec *purple_media_codec_new(int id, const char *encoding_name,
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
276 PurpleMediaSessionType media_type, guint clock_rate);
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
277
26618
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
278 guint purple_media_codec_get_id(PurpleMediaCodec *codec);
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
279 gchar *purple_media_codec_get_encoding_name(PurpleMediaCodec *codec);
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
280 guint purple_media_codec_get_clock_rate(PurpleMediaCodec *codec);
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
281 guint purple_media_codec_get_channels(PurpleMediaCodec *codec);
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
282 GList *purple_media_codec_get_optional_parameters(PurpleMediaCodec *codec);
9e9e610ca1a1 Hide and gobjectify PurpleMediaCodec.
Michael Ruprecht <maiku@pidgin.im>
parents: 26617
diff changeset
283
26232
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
284 /**
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
285 * Creates a string representation of the codec.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
286 *
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
287 * @param codec The codec to create the string of.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
288 *
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
289 * @return The new string representation.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
290 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
291 * @since 2.6.0
26232
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
292 */
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
293 gchar *purple_media_codec_to_string(const PurpleMediaCodec *codec);
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
294
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
295 /**
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
296 * Adds an optional parameter to the codec.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
297 *
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
298 * @param codec The codec to add the parameter to.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
299 * @param name The name of the parameter to add.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
300 * @param value The value of the parameter to add.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
301 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
302 * @since 2.6.0
26232
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
303 */
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
304 void purple_media_codec_add_optional_parameter(PurpleMediaCodec *codec,
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
305 const gchar *name, const gchar *value);
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
306
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
307 /**
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
308 * Removes an optional parameter from the codec.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
309 *
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
310 * @param codec The codec to remove the parameter from.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
311 * @param param A pointer to the parameter to remove.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
312 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
313 * @since 2.6.0
26232
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
314 */
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
315 void purple_media_codec_remove_optional_parameter(PurpleMediaCodec *codec,
26617
514bdfc137d5 Use PurpleMediaKeyPair. Remove PurpleMediaCodecParameter.
Michael Ruprecht <maiku@pidgin.im>
parents: 26613
diff changeset
316 PurpleKeyValuePair *param);
26232
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
317
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
318 /**
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
319 * Gets an optional parameter based on the values given.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
320 *
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
321 * @param codec The codec to find the parameter in.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
322 * @param name The name of the parameter to search for.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
323 * @param value The value to search for or NULL.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
324 *
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
325 * @return The value found or NULL.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
326 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
327 * @since 2.6.0
26232
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
328 */
26617
514bdfc137d5 Use PurpleMediaKeyPair. Remove PurpleMediaCodecParameter.
Michael Ruprecht <maiku@pidgin.im>
parents: 26613
diff changeset
329 PurpleKeyValuePair *purple_media_codec_get_optional_parameter(
26232
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
330 PurpleMediaCodec *codec, const gchar *name,
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
331 const gchar *value);
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
332
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
333 /**
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
334 * Copies a GList of PurpleMediaCodec and its contents.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
335 *
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
336 * @param codecs The list of codecs to be copied.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
337 *
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
338 * @return The copy of the GList.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
339 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
340 * @since 2.6.0
26232
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
341 */
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
342 GList *purple_media_codec_list_copy(GList *codecs);
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
343
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
344 /**
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
345 * Frees a GList of PurpleMediaCodec and its contents.
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
346 *
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
347 * @param codecs The list of codecs to be freed.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
348 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
349 * @since 2.6.0
26232
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
350 */
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
351 void purple_media_codec_list_free(GList *codecs);
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
352
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
353 /**
26956
bcea44c3efa1 Distinguish name and participant in PurpleMedia API
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
354 * Gets a list of session IDs.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
355 *
26956
bcea44c3efa1 Distinguish name and participant in PurpleMedia API
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
356 * @param media The media session from which to retrieve session IDs.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
357 *
26956
bcea44c3efa1 Distinguish name and participant in PurpleMedia API
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
358 * @return GList of session IDs. The caller must free the list.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
359 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
360 * @since 2.6.0
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
361 */
26956
bcea44c3efa1 Distinguish name and participant in PurpleMedia API
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
362 GList *purple_media_get_session_ids(PurpleMedia *media);
23721
15285d082f6c 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.
Michael Ruprecht <maiku@pidgin.im>
parents: 23704
diff changeset
363
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
364 /**
26746
2a2d45ac9774 Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents: 26649
diff changeset
365 * Gets the PurpleAccount this media session is on.
26327
6a436310d508 Added the connection property back to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26323
diff changeset
366 *
26746
2a2d45ac9774 Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents: 26649
diff changeset
367 * @param media The media session to retrieve the account from.
26327
6a436310d508 Added the connection property back to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26323
diff changeset
368 *
26746
2a2d45ac9774 Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents: 26649
diff changeset
369 * @return The account retrieved.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
370 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
371 * @since 2.6.0
26327
6a436310d508 Added the connection property back to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26323
diff changeset
372 */
26746
2a2d45ac9774 Switch media to store accounts rather than connections.
Michael Ruprecht <maiku@pidgin.im>
parents: 26649
diff changeset
373 PurpleAccount *purple_media_get_account(PurpleMedia *media);
26327
6a436310d508 Added the connection property back to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26323
diff changeset
374
6a436310d508 Added the connection property back to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26323
diff changeset
375 /**
26328
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
376 * Gets the prpl data from the media session.
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
377 *
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
378 * @param media The media session to retrieve the prpl data from.
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
379 *
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
380 * @return The prpl data retrieved.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
381 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
382 * @since 2.6.0
26328
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
383 */
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
384 gpointer purple_media_get_prpl_data(PurpleMedia *media);
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
385
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
386 /**
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
387 * Sets the prpl data on the media session.
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
388 *
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
389 * @param media The media session to set the prpl data on.
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
390 * @param prpl_data The data to set on the media session.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
391 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
392 * @since 2.6.0
26328
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
393 */
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
394 void purple_media_set_prpl_data(PurpleMedia *media, gpointer prpl_data);
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
395
9c15d3c83e24 Add a prpl-data property to PurpleMedia.
Michael Ruprecht <maiku@pidgin.im>
parents: 26327
diff changeset
396 /**
26182
728ad1da9cbc Add purple_media_error.
Michael Ruprecht <maiku@pidgin.im>
parents: 26176
diff changeset
397 * Signals an error in the media session.
728ad1da9cbc Add purple_media_error.
Michael Ruprecht <maiku@pidgin.im>
parents: 26176
diff changeset
398 *
728ad1da9cbc Add purple_media_error.
Michael Ruprecht <maiku@pidgin.im>
parents: 26176
diff changeset
399 * @param media The media object to set the state on.
728ad1da9cbc Add purple_media_error.
Michael Ruprecht <maiku@pidgin.im>
parents: 26176
diff changeset
400 * @param error The format of the error message to send in the signal.
728ad1da9cbc Add purple_media_error.
Michael Ruprecht <maiku@pidgin.im>
parents: 26176
diff changeset
401 * @param ... The arguments to plug into the format.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
402 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
403 * @since 2.6.0
26182
728ad1da9cbc Add purple_media_error.
Michael Ruprecht <maiku@pidgin.im>
parents: 26176
diff changeset
404 */
728ad1da9cbc Add purple_media_error.
Michael Ruprecht <maiku@pidgin.im>
parents: 26176
diff changeset
405 void purple_media_error(PurpleMedia *media, const gchar *error, ...);
728ad1da9cbc Add purple_media_error.
Michael Ruprecht <maiku@pidgin.im>
parents: 26176
diff changeset
406
728ad1da9cbc Add purple_media_error.
Michael Ruprecht <maiku@pidgin.im>
parents: 26176
diff changeset
407 /**
26264
c062fc1f212f Added purple_media_end and removed the purple_media_got_hangup.
Michael Ruprecht <maiku@pidgin.im>
parents: 26259
diff changeset
408 * Ends all streams that match the given parameters
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
409 *
26264
c062fc1f212f Added purple_media_end and removed the purple_media_got_hangup.
Michael Ruprecht <maiku@pidgin.im>
parents: 26259
diff changeset
410 * @param media The media object with which to end streams.
c062fc1f212f Added purple_media_end and removed the purple_media_got_hangup.
Michael Ruprecht <maiku@pidgin.im>
parents: 26259
diff changeset
411 * @param session_id The session to end streams on.
c062fc1f212f Added purple_media_end and removed the purple_media_got_hangup.
Michael Ruprecht <maiku@pidgin.im>
parents: 26259
diff changeset
412 * @param participant The participant to end streams with.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
413 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
414 * @since 2.6.0
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
415 */
26264
c062fc1f212f Added purple_media_end and removed the purple_media_got_hangup.
Michael Ruprecht <maiku@pidgin.im>
parents: 26259
diff changeset
416 void purple_media_end(PurpleMedia *media, const gchar *session_id,
c062fc1f212f Added purple_media_end and removed the purple_media_got_hangup.
Michael Ruprecht <maiku@pidgin.im>
parents: 26259
diff changeset
417 const gchar *participant);
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
418
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
419 /**
26496
11e1e5221460 Create purple_media_stream_info. Add local parameter to stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
420 * Signals different information about the given stream.
11e1e5221460 Create purple_media_stream_info. Add local parameter to stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
421 *
11e1e5221460 Create purple_media_stream_info. Add local parameter to stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
422 * @param media The media instance to containing the stream to signal.
11e1e5221460 Create purple_media_stream_info. Add local parameter to stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
423 * @param type The type of info being signaled.
11e1e5221460 Create purple_media_stream_info. Add local parameter to stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
424 * @param session_id The id of the session of the stream being signaled.
11e1e5221460 Create purple_media_stream_info. Add local parameter to stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
425 * @param participant The participant of the stream being signaled.
11e1e5221460 Create purple_media_stream_info. Add local parameter to stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
426 * @param local TRUE if the info originated locally, FALSE if on the remote end.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
427 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
428 * @since 2.6.0
26496
11e1e5221460 Create purple_media_stream_info. Add local parameter to stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
429 */
11e1e5221460 Create purple_media_stream_info. Add local parameter to stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
430 void purple_media_stream_info(PurpleMedia *media, PurpleMediaInfoType type,
11e1e5221460 Create purple_media_stream_info. Add local parameter to stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
431 const gchar *session_id, const gchar *participant,
11e1e5221460 Create purple_media_stream_info. Add local parameter to stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
432 gboolean local);
11e1e5221460 Create purple_media_stream_info. Add local parameter to stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
433
11e1e5221460 Create purple_media_stream_info. Add local parameter to stream-info signal.
Michael Ruprecht <maiku@pidgin.im>
parents: 26480
diff changeset
434 /**
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
435 * Adds a stream to a session.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
436 *
26134
2def4b29fcfe purple_media_add_stream should only add a stream to one session.
Michael Ruprecht <maiku@pidgin.im>
parents: 26133
diff changeset
437 * It only adds a stream to one audio session or video session as
2def4b29fcfe purple_media_add_stream should only add a stream to one session.
Michael Ruprecht <maiku@pidgin.im>
parents: 26133
diff changeset
438 * the @c sess_id must be unique between sessions.
2def4b29fcfe purple_media_add_stream should only add a stream to one session.
Michael Ruprecht <maiku@pidgin.im>
parents: 26133
diff changeset
439 *
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
440 * @param media The media object to find the session in.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
441 * @param sess_id The session id of the session to add the stream to.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
442 * @param who The name of the remote user to add the stream for.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
443 * @param type The type of stream to create.
26514
058053cffc0e Add purple_media_is_initiator.
Michael Ruprecht <maiku@pidgin.im>
parents: 26513
diff changeset
444 * @param initiator Whether or not the local user initiated the stream.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
445 * @param transmitter The transmitter to use for the stream.
26134
2def4b29fcfe purple_media_add_stream should only add a stream to one session.
Michael Ruprecht <maiku@pidgin.im>
parents: 26133
diff changeset
446 * @param num_params The number of parameters to pass to Farsight.
2def4b29fcfe purple_media_add_stream should only add a stream to one session.
Michael Ruprecht <maiku@pidgin.im>
parents: 26133
diff changeset
447 * @param params The parameters to pass to Farsight.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
448 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
449 * @return @c TRUE The stream was added successfully, @c FALSE otherwise.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
450 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
451 * @since 2.6.0
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
452 */
26514
058053cffc0e Add purple_media_is_initiator.
Michael Ruprecht <maiku@pidgin.im>
parents: 26513
diff changeset
453 gboolean purple_media_add_stream(PurpleMedia *media, const gchar *sess_id,
058053cffc0e Add purple_media_is_initiator.
Michael Ruprecht <maiku@pidgin.im>
parents: 26513
diff changeset
454 const gchar *who, PurpleMediaSessionType type,
058053cffc0e Add purple_media_is_initiator.
Michael Ruprecht <maiku@pidgin.im>
parents: 26513
diff changeset
455 gboolean initiator, const gchar *transmitter,
26133
a12ffee5bd73 Add params to purple_media_add_stream to allow for different libNice
Michael Ruprecht <maiku@pidgin.im>
parents: 26131
diff changeset
456 guint num_params, GParameter *params);
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
457
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
458 /**
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
459 * Gets the session type from a session
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
460 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
461 * @param media The media object to find the session in.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
462 * @param sess_id The session id of the session to get the type from.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
463 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
464 * @return The retreived session type.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
465 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
466 * @since 2.6.0
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
467 */
26108
8d0fd2f195aa Changed PurpleMediaStreamType to PurpleMediaSessionType.
Michael Ruprecht <maiku@pidgin.im>
parents: 26105
diff changeset
468 PurpleMediaSessionType purple_media_get_session_type(PurpleMedia *media, const gchar *sess_id);
23697
299bafcd8eb8 Updates voice and video to use Farsight 2, gets XMPP voice conferences
Michael Ruprecht <maiku@pidgin.im>
parents: 22682
diff changeset
469
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
470 /**
26523
4544b079e3dd Use purple_media_manager_get_pipeline instead.
Michael Ruprecht <maiku@pidgin.im>
parents: 26516
diff changeset
471 * Gets the PurpleMediaManager this media session is a part of.
4544b079e3dd Use purple_media_manager_get_pipeline instead.
Michael Ruprecht <maiku@pidgin.im>
parents: 26516
diff changeset
472 *
4544b079e3dd Use purple_media_manager_get_pipeline instead.
Michael Ruprecht <maiku@pidgin.im>
parents: 26516
diff changeset
473 * @param media The media object to get the manager instance from.
4544b079e3dd Use purple_media_manager_get_pipeline instead.
Michael Ruprecht <maiku@pidgin.im>
parents: 26516
diff changeset
474 *
4544b079e3dd Use purple_media_manager_get_pipeline instead.
Michael Ruprecht <maiku@pidgin.im>
parents: 26516
diff changeset
475 * @return The PurpleMediaManager instance retrieved.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
476 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
477 * @since 2.6.0
26523
4544b079e3dd Use purple_media_manager_get_pipeline instead.
Michael Ruprecht <maiku@pidgin.im>
parents: 26516
diff changeset
478 */
4544b079e3dd Use purple_media_manager_get_pipeline instead.
Michael Ruprecht <maiku@pidgin.im>
parents: 26516
diff changeset
479 struct _PurpleMediaManager *purple_media_get_manager(PurpleMedia *media);
4544b079e3dd Use purple_media_manager_get_pipeline instead.
Michael Ruprecht <maiku@pidgin.im>
parents: 26516
diff changeset
480
4544b079e3dd Use purple_media_manager_get_pipeline instead.
Michael Ruprecht <maiku@pidgin.im>
parents: 26516
diff changeset
481 /**
26160
46bc5e18d59c Combine get_*_codecs functions to mirror Farsight 2.
Michael Ruprecht <maiku@pidgin.im>
parents: 26143
diff changeset
482 * Gets the codecs from a session.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
483 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
484 * @param media The media object to find the session in.
26160
46bc5e18d59c Combine get_*_codecs functions to mirror Farsight 2.
Michael Ruprecht <maiku@pidgin.im>
parents: 26143
diff changeset
485 * @param sess_id The session id of the session to get the codecs from.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
486 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
487 * @return The retreieved codecs.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
488 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
489 * @since 2.6.0
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
490 */
26160
46bc5e18d59c Combine get_*_codecs functions to mirror Farsight 2.
Michael Ruprecht <maiku@pidgin.im>
parents: 26143
diff changeset
491 GList *purple_media_get_codecs(PurpleMedia *media, const gchar *sess_id);
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
492
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
493 /**
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
494 * Adds remote candidates to the stream.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
495 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
496 * @param media The media object to find the session in.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
497 * @param sess_id The session id of the session find the stream in.
26956
bcea44c3efa1 Distinguish name and participant in PurpleMedia API
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
498 * @param participant The name of the remote user to add the candidates for.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
499 * @param remote_candidates The remote candidates to add.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
500 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
501 * @since 2.6.0
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
502 */
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
503 void purple_media_add_remote_candidates(PurpleMedia *media,
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
504 const gchar *sess_id,
26956
bcea44c3efa1 Distinguish name and participant in PurpleMedia API
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
505 const gchar *participant,
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
506 GList *remote_candidates);
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
507
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
508 /**
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
509 * Gets the local candidates from a stream.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
510 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
511 * @param media The media object to find the session in.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
512 * @param sess_id The session id of the session to find the stream in.
26956
bcea44c3efa1 Distinguish name and participant in PurpleMedia API
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
513 * @param participant The name of the remote user to get the candidates from.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
514 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
515 * @since 2.6.0
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
516 */
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
517 GList *purple_media_get_local_candidates(PurpleMedia *media,
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
518 const gchar *sess_id,
26956
bcea44c3efa1 Distinguish name and participant in PurpleMedia API
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
519 const gchar *participant);
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
520
26516
ba01d3212cac Comment out purple_media_get_active_{local,remote}_candidates.
Michael Ruprecht <maiku@pidgin.im>
parents: 26514
diff changeset
521 #if 0
ba01d3212cac Comment out purple_media_get_active_{local,remote}_candidates.
Michael Ruprecht <maiku@pidgin.im>
parents: 26514
diff changeset
522 /*
ba01d3212cac Comment out purple_media_get_active_{local,remote}_candidates.
Michael Ruprecht <maiku@pidgin.im>
parents: 26514
diff changeset
523 * These two functions aren't being used and I'd rather not lock in the API
ba01d3212cac Comment out purple_media_get_active_{local,remote}_candidates.
Michael Ruprecht <maiku@pidgin.im>
parents: 26514
diff changeset
524 * until they are needed. If they ever are.
ba01d3212cac Comment out purple_media_get_active_{local,remote}_candidates.
Michael Ruprecht <maiku@pidgin.im>
parents: 26514
diff changeset
525 */
ba01d3212cac Comment out purple_media_get_active_{local,remote}_candidates.
Michael Ruprecht <maiku@pidgin.im>
parents: 26514
diff changeset
526
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
527 /**
26304
6e19bf6af065 Handle having multiple active candidates.
Michael Ruprecht <maiku@pidgin.im>
parents: 26281
diff changeset
528 * Gets the active local candidates for the stream.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
529 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
530 * @param media The media object to find the session in.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
531 * @param sess_id The session id of the session to find the stream in.
26956
bcea44c3efa1 Distinguish name and participant in PurpleMedia API
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
532 * @param participant The name of the remote user to get the active candidate
bcea44c3efa1 Distinguish name and participant in PurpleMedia API
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
533 * from.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
534 *
26304
6e19bf6af065 Handle having multiple active candidates.
Michael Ruprecht <maiku@pidgin.im>
parents: 26281
diff changeset
535 * @return The active candidates retrieved.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
536 */
26304
6e19bf6af065 Handle having multiple active candidates.
Michael Ruprecht <maiku@pidgin.im>
parents: 26281
diff changeset
537 GList *purple_media_get_active_local_candidates(PurpleMedia *media,
26956
bcea44c3efa1 Distinguish name and participant in PurpleMedia API
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
538 const gchar *sess_id, const gchar *participant);
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
539
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
540 /**
26304
6e19bf6af065 Handle having multiple active candidates.
Michael Ruprecht <maiku@pidgin.im>
parents: 26281
diff changeset
541 * Gets the active remote candidates for the stream.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
542 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
543 * @param media The media object to find the session in.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
544 * @param sess_id The session id of the session to find the stream in.
26956
bcea44c3efa1 Distinguish name and participant in PurpleMedia API
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
545 * @param participant The name of the remote user to get the remote candidate
bcea44c3efa1 Distinguish name and participant in PurpleMedia API
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
546 * from.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
547 *
26304
6e19bf6af065 Handle having multiple active candidates.
Michael Ruprecht <maiku@pidgin.im>
parents: 26281
diff changeset
548 * @return The remote candidates retrieved.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
549 */
26304
6e19bf6af065 Handle having multiple active candidates.
Michael Ruprecht <maiku@pidgin.im>
parents: 26281
diff changeset
550 GList *purple_media_get_active_remote_candidates(PurpleMedia *media,
26956
bcea44c3efa1 Distinguish name and participant in PurpleMedia API
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
551 const gchar *sess_id, const gchar *participant);
26516
ba01d3212cac Comment out purple_media_get_active_{local,remote}_candidates.
Michael Ruprecht <maiku@pidgin.im>
parents: 26514
diff changeset
552 #endif
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
553
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
554 /**
26638
064f8329214e Fix purple_media_set_remote_codecs ()'s docstring
Will Thompson <resiak@pidgin.im>
parents: 26621
diff changeset
555 * Sets remote candidates from the stream.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
556 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
557 * @param media The media object to find the session in.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
558 * @param sess_id The session id of the session find the stream in.
26956
bcea44c3efa1 Distinguish name and participant in PurpleMedia API
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
559 * @param participant The name of the remote user to set the candidates from.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
560 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
561 * @return @c TRUE The codecs were set successfully, or @c FALSE otherwise.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
562 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
563 * @since 2.6.0
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
564 */
23745
091a506a7018 Added better Farsight error handling.
Michael Ruprecht <maiku@pidgin.im>
parents: 23737
diff changeset
565 gboolean purple_media_set_remote_codecs(PurpleMedia *media, const gchar *sess_id,
26956
bcea44c3efa1 Distinguish name and participant in PurpleMedia API
Paul Aurich <darkrain42@pidgin.im>
parents: 26746
diff changeset
566 const gchar *participant, GList *codecs);
23697
299bafcd8eb8 Updates voice and video to use Farsight 2, gets XMPP voice conferences
Michael Ruprecht <maiku@pidgin.im>
parents: 22682
diff changeset
567
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
568 /**
26430
439ade36af30 Change purple_media_candidates_prepared to use wildcards.
Michael Ruprecht <maiku@pidgin.im>
parents: 26328
diff changeset
569 * Returns whether or not the candidates for set of streams are prepared
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
570 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
571 * @param media The media object to find the remote user in.
26430
439ade36af30 Change purple_media_candidates_prepared to use wildcards.
Michael Ruprecht <maiku@pidgin.im>
parents: 26328
diff changeset
572 * @param session_id The session id of the session to check.
439ade36af30 Change purple_media_candidates_prepared to use wildcards.
Michael Ruprecht <maiku@pidgin.im>
parents: 26328
diff changeset
573 * @param participant The remote user to check for.
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
574 *
26430
439ade36af30 Change purple_media_candidates_prepared to use wildcards.
Michael Ruprecht <maiku@pidgin.im>
parents: 26328
diff changeset
575 * @return @c TRUE All streams for the given session_id/participant combination have candidates prepared, @c FALSE otherwise.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
576 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
577 * @since 2.6.0
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
578 */
26430
439ade36af30 Change purple_media_candidates_prepared to use wildcards.
Michael Ruprecht <maiku@pidgin.im>
parents: 26328
diff changeset
579 gboolean purple_media_candidates_prepared(PurpleMedia *media,
439ade36af30 Change purple_media_candidates_prepared to use wildcards.
Michael Ruprecht <maiku@pidgin.im>
parents: 26328
diff changeset
580 const gchar *session_id, const gchar *participant);
23730
ed15b42da75c Jingle sessions now keep track of their transaction state to a degree.
Michael Ruprecht <maiku@pidgin.im>
parents: 23724
diff changeset
581
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
582 /**
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
583 * Sets the send codec for the a session.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
584 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
585 * @param media The media object to find the session in.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
586 * @param sess_id The session id of the session to set the codec for.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
587 * @param codec The codec to set the session to stream.
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
588 *
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
589 * @return @c TRUE The codec was successfully changed, or @c FALSE otherwise.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
590 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
591 * @since 2.6.0
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
592 */
26232
f91c96072586 Wrap FsCodec and remove the Farsight2 include from media.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 26230
diff changeset
593 gboolean purple_media_set_send_codec(PurpleMedia *media, const gchar *sess_id, PurpleMediaCodec *codec);
26102
881a436d77eb Set the proper send codec in Farsight.
Michael Ruprecht <maiku@pidgin.im>
parents: 26099
diff changeset
594
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
595 /**
26137
0688cf5221c9 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Michael Ruprecht <maiku@pidgin.im>
parents: 26135
diff changeset
596 * Gets whether a session's codecs are ready to be used.
0688cf5221c9 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Michael Ruprecht <maiku@pidgin.im>
parents: 26135
diff changeset
597 *
0688cf5221c9 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Michael Ruprecht <maiku@pidgin.im>
parents: 26135
diff changeset
598 * @param media The media object to find the session in.
0688cf5221c9 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Michael Ruprecht <maiku@pidgin.im>
parents: 26135
diff changeset
599 * @param sess_id The session id of the session to check.
0688cf5221c9 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Michael Ruprecht <maiku@pidgin.im>
parents: 26135
diff changeset
600 *
0688cf5221c9 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Michael Ruprecht <maiku@pidgin.im>
parents: 26135
diff changeset
601 * @return @c TRUE The codecs are ready, or @c FALSE otherwise.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
602 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
603 * @since 2.6.0
26137
0688cf5221c9 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Michael Ruprecht <maiku@pidgin.im>
parents: 26135
diff changeset
604 */
0688cf5221c9 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Michael Ruprecht <maiku@pidgin.im>
parents: 26135
diff changeset
605 gboolean purple_media_codecs_ready(PurpleMedia *media, const gchar *sess_id);
0688cf5221c9 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Michael Ruprecht <maiku@pidgin.im>
parents: 26135
diff changeset
606
0688cf5221c9 Wait for Farsight 2's codecs-ready property to be TRUE before using codecs.
Michael Ruprecht <maiku@pidgin.im>
parents: 26135
diff changeset
607 /**
26514
058053cffc0e Add purple_media_is_initiator.
Michael Ruprecht <maiku@pidgin.im>
parents: 26513
diff changeset
608 * Gets whether the local user is the conference/session/stream's initiator.
058053cffc0e Add purple_media_is_initiator.
Michael Ruprecht <maiku@pidgin.im>
parents: 26513
diff changeset
609 *
058053cffc0e Add purple_media_is_initiator.
Michael Ruprecht <maiku@pidgin.im>
parents: 26513
diff changeset
610 * @param media The media instance to find the session in.
058053cffc0e Add purple_media_is_initiator.
Michael Ruprecht <maiku@pidgin.im>
parents: 26513
diff changeset
611 * @param sess_id The session id of the session to check.
058053cffc0e Add purple_media_is_initiator.
Michael Ruprecht <maiku@pidgin.im>
parents: 26513
diff changeset
612 * @param participant The participant of the stream to check.
058053cffc0e Add purple_media_is_initiator.
Michael Ruprecht <maiku@pidgin.im>
parents: 26513
diff changeset
613 *
058053cffc0e Add purple_media_is_initiator.
Michael Ruprecht <maiku@pidgin.im>
parents: 26513
diff changeset
614 * @return TRUE if the local user is the stream's initator, else FALSE.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
615 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
616 * @since 2.6.0
26514
058053cffc0e Add purple_media_is_initiator.
Michael Ruprecht <maiku@pidgin.im>
parents: 26513
diff changeset
617 */
058053cffc0e Add purple_media_is_initiator.
Michael Ruprecht <maiku@pidgin.im>
parents: 26513
diff changeset
618 gboolean purple_media_is_initiator(PurpleMedia *media,
058053cffc0e Add purple_media_is_initiator.
Michael Ruprecht <maiku@pidgin.im>
parents: 26513
diff changeset
619 const gchar *sess_id, const gchar *participant);
058053cffc0e Add purple_media_is_initiator.
Michael Ruprecht <maiku@pidgin.im>
parents: 26513
diff changeset
620
058053cffc0e Add purple_media_is_initiator.
Michael Ruprecht <maiku@pidgin.im>
parents: 26513
diff changeset
621 /**
26267
3bd0240f0632 Add the accepted signal and make the accept button go away immediately.
Michael Ruprecht <maiku@pidgin.im>
parents: 26264
diff changeset
622 * Gets whether a streams selected have been accepted.
3bd0240f0632 Add the accepted signal and make the accept button go away immediately.
Michael Ruprecht <maiku@pidgin.im>
parents: 26264
diff changeset
623 *
3bd0240f0632 Add the accepted signal and make the accept button go away immediately.
Michael Ruprecht <maiku@pidgin.im>
parents: 26264
diff changeset
624 * @param media The media object to find the session in.
3bd0240f0632 Add the accepted signal and make the accept button go away immediately.
Michael Ruprecht <maiku@pidgin.im>
parents: 26264
diff changeset
625 * @param sess_id The session id of the session to check.
3bd0240f0632 Add the accepted signal and make the accept button go away immediately.
Michael Ruprecht <maiku@pidgin.im>
parents: 26264
diff changeset
626 * @param participant The participant to check.
3bd0240f0632 Add the accepted signal and make the accept button go away immediately.
Michael Ruprecht <maiku@pidgin.im>
parents: 26264
diff changeset
627 *
3bd0240f0632 Add the accepted signal and make the accept button go away immediately.
Michael Ruprecht <maiku@pidgin.im>
parents: 26264
diff changeset
628 * @return @c TRUE The selected streams have been accepted, or @c FALSE otherwise.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
629 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
630 * @since 2.6.0
26267
3bd0240f0632 Add the accepted signal and make the accept button go away immediately.
Michael Ruprecht <maiku@pidgin.im>
parents: 26264
diff changeset
631 */
3bd0240f0632 Add the accepted signal and make the accept button go away immediately.
Michael Ruprecht <maiku@pidgin.im>
parents: 26264
diff changeset
632 gboolean purple_media_accepted(PurpleMedia *media, const gchar *sess_id,
3bd0240f0632 Add the accepted signal and make the accept button go away immediately.
Michael Ruprecht <maiku@pidgin.im>
parents: 26264
diff changeset
633 const gchar *participant);
3bd0240f0632 Add the accepted signal and make the accept button go away immediately.
Michael Ruprecht <maiku@pidgin.im>
parents: 26264
diff changeset
634
3bd0240f0632 Add the accepted signal and make the accept button go away immediately.
Michael Ruprecht <maiku@pidgin.im>
parents: 26264
diff changeset
635 /**
26172
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
636 * Sets the input volume of all the selected sessions.
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
637 *
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
638 * @param media The media object the sessions are in.
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
639 * @param session_id The session to select (if any).
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
640 * @param level The level to set the volume to.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
641 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
642 * @since 2.6.0
26172
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
643 */
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
644 void purple_media_set_input_volume(PurpleMedia *media, const gchar *session_id, double level);
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
645
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
646 /**
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
647 * Sets the output volume of all the selected streams.
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
648 *
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
649 * @param media The media object the streams are in.
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
650 * @param session_id The session to limit the streams to (if any).
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
651 * @param participant The participant to limit the streams to (if any).
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
652 * @param level The level to set the volume to.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
653 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
654 * @since 2.6.0
26172
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
655 */
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
656 void purple_media_set_output_volume(PurpleMedia *media, const gchar *session_id,
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
657 const gchar *participant, double level);
b14249e42983 Added media functions to set input and output volume.
Michael Ruprecht <maiku@pidgin.im>
parents: 26162
diff changeset
658
26453
41db8e31e6ff Add documentation for a few media functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 26452
diff changeset
659 /**
41db8e31e6ff Add documentation for a few media functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 26452
diff changeset
660 * Sets a video output window for the given session/stream.
41db8e31e6ff Add documentation for a few media functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 26452
diff changeset
661 *
41db8e31e6ff Add documentation for a few media functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 26452
diff changeset
662 * @param media The media instance to set the output window on.
41db8e31e6ff Add documentation for a few media functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 26452
diff changeset
663 * @param session_id The session to set the output window on.
41db8e31e6ff Add documentation for a few media functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 26452
diff changeset
664 * @param participant Optionally, the participant to set the output window on.
41db8e31e6ff Add documentation for a few media functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 26452
diff changeset
665 * @param window_id The window id use for embedding the video in.
41db8e31e6ff Add documentation for a few media functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 26452
diff changeset
666 *
41db8e31e6ff Add documentation for a few media functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 26452
diff changeset
667 * @return An id to reference the output window.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
668 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
669 * @since 2.6.0
26453
41db8e31e6ff Add documentation for a few media functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 26452
diff changeset
670 */
26323
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26316
diff changeset
671 gulong purple_media_set_output_window(PurpleMedia *media,
26259
0983517fc75f Wait to create the sinks until the frames are ready.
Michael Ruprecht <maiku@pidgin.im>
parents: 26248
diff changeset
672 const gchar *session_id, const gchar *participant,
0983517fc75f Wait to create the sinks until the frames are ready.
Michael Ruprecht <maiku@pidgin.im>
parents: 26248
diff changeset
673 gulong window_id);
26323
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26316
diff changeset
674
26453
41db8e31e6ff Add documentation for a few media functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 26452
diff changeset
675 /**
41db8e31e6ff Add documentation for a few media functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 26452
diff changeset
676 * Removes all output windows from a given media session.
41db8e31e6ff Add documentation for a few media functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 26452
diff changeset
677 *
41db8e31e6ff Add documentation for a few media functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 26452
diff changeset
678 * @param media The instance to remove all output windows from.
26648
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
679 *
1a733d58d74a Even more @since tags, because Maiku's watching...
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26638
diff changeset
680 * @since 2.6.0
26453
41db8e31e6ff Add documentation for a few media functions.
Michael Ruprecht <maiku@pidgin.im>
parents: 26452
diff changeset
681 */
26323
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26316
diff changeset
682 void purple_media_remove_output_windows(PurpleMedia *media);
cf93de98325c Only create output windows once there's data to be output.
Michael Ruprecht <maiku@pidgin.im>
parents: 26316
diff changeset
683
26105
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
684 #ifdef __cplusplus
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
685 }
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
686 #endif
7647c0dcf202 * Added documentation to media.h and mediamanager.h
Michael Ruprecht <maiku@pidgin.im>
parents: 26103
diff changeset
687
19883
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
688 G_END_DECLS
2b59550f211d Missed files
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
689
26649
1a6c4fd19355 Add PURPLE to the media header sentinels and reorder includes to fix building gf2
Paul Aurich <darkrain42@pidgin.im>
parents: 26648
diff changeset
690 #endif /* _PURPLE_MEDIA_H_ */

mercurial