libpurple/media/backend-iface.h

Wed, 03 Jul 2019 00:21:33 -0400

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Wed, 03 Jul 2019 00:21:33 -0400
changeset 39659
e4dfb99b0cef
parent 38745
f4376b1f4682
child 39757
4a5ba806d8c9
permissions
-rw-r--r--

Fix libpurple header guards using reserved names.

29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
1 /* purple
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
2 *
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
5 * source distribution.
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
6 *
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
10 * (at your option) any later version.
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
11 *
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
15 * GNU General Public License for more details.
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
16 *
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
20 */
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
21
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38745
diff changeset
22 #ifndef PURPLE_MEDIA_BACKEND_IFACE_H
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38745
diff changeset
23 #define PURPLE_MEDIA_BACKEND_IFACE_H
35431
65668e608813 Add section blocks for libpurple/media/*.h
Ankit Vani <a@nevitus.org>
parents: 35396
diff changeset
24 /**
65668e608813 Add section blocks for libpurple/media/*.h
Ankit Vani <a@nevitus.org>
parents: 35396
diff changeset
25 * SECTION:backend-iface
65668e608813 Add section blocks for libpurple/media/*.h
Ankit Vani <a@nevitus.org>
parents: 35396
diff changeset
26 * @section_id: libpurple-backend-iface
35436
a69d2e5604c5 Swap @title and @short_description roles
Ankit Vani <a@nevitus.org>
parents: 35431
diff changeset
27 * @short_description: <filename>media/backend-iface.h</filename>
35444
a4ece5a5565a Use upper-case first letters
Ankit Vani <a@nevitus.org>
parents: 35436
diff changeset
28 * @title: Interface for Media Backends
35431
65668e608813 Add section blocks for libpurple/media/*.h
Ankit Vani <a@nevitus.org>
parents: 35396
diff changeset
29 */
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
30
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
31 #include "codec.h"
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
32 #include "enum-types.h"
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
33
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
34 #include <glib-object.h>
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
35
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
36 G_BEGIN_DECLS
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
37
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
38 #define PURPLE_TYPE_MEDIA_BACKEND (purple_media_backend_get_type())
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
39 #define PURPLE_IS_MEDIA_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_MEDIA_BACKEND))
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
40 #define PURPLE_MEDIA_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_MEDIA_BACKEND, PurpleMediaBackend))
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
41 #define PURPLE_MEDIA_BACKEND_GET_INTERFACE(inst)(G_TYPE_INSTANCE_GET_INTERFACE((inst), PURPLE_TYPE_MEDIA_BACKEND, PurpleMediaBackendIface))
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
42
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
43 /**
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
44 * PurpleMediaBackend:
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
45 *
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
46 * A placeholder to represent any media backend
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
47 */
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
48 typedef struct _PurpleMediaBackend PurpleMediaBackend;
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
49
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
50 /**
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
51 * PurpleMediaBackendIface:
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
52 *
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
53 * A structure to derive media backends from.
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
54 */
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
55 typedef struct _PurpleMediaBackendIface PurpleMediaBackendIface;
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
56
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
57 struct _PurpleMediaBackendIface
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
58 {
35467
975ae62dd895 Fix cross-references and some other warnings
Ankit Vani <a@nevitus.org>
parents: 35462
diff changeset
59 /*< private >*/
975ae62dd895 Fix cross-references and some other warnings
Ankit Vani <a@nevitus.org>
parents: 35462
diff changeset
60 GTypeInterface parent_iface; /* The parent iface class */
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
61
35467
975ae62dd895 Fix cross-references and some other warnings
Ankit Vani <a@nevitus.org>
parents: 35462
diff changeset
62 /*< public >*/
975ae62dd895 Fix cross-references and some other warnings
Ankit Vani <a@nevitus.org>
parents: 35462
diff changeset
63 /* Implementable functions called with purple_media_backend_* */
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
64 gboolean (*add_stream) (PurpleMediaBackend *self,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
65 const gchar *sess_id, const gchar *who,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
66 PurpleMediaSessionType type, gboolean initiator,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
67 const gchar *transmitter,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
68 guint num_params, GParameter *params);
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
69 void (*add_remote_candidates) (PurpleMediaBackend *self,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
70 const gchar *sess_id, const gchar *participant,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
71 GList *remote_candidates);
29597
22843326ee22 Add codecs_ready to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 29590
diff changeset
72 gboolean (*codecs_ready) (PurpleMediaBackend *self,
22843326ee22 Add codecs_ready to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 29590
diff changeset
73 const gchar *sess_id);
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
74 GList *(*get_codecs) (PurpleMediaBackend *self,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
75 const gchar *sess_id);
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
76 GList *(*get_local_candidates) (PurpleMediaBackend *self,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
77 const gchar *sess_id, const gchar *participant);
29588
a3fef46ce04a Make the backend interface's set_remote_codecs function return gboolean.
Michael Ruprecht <maiku@pidgin.im>
parents: 29557
diff changeset
78 gboolean (*set_remote_codecs) (PurpleMediaBackend *self,
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
79 const gchar *sess_id, const gchar *participant,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
80 GList *codecs);
29590
bec92b90acc9 Change the media backend interface's set_send_codec to return gboolean to
Michael Ruprecht <maiku@pidgin.im>
parents: 29588
diff changeset
81 gboolean (*set_send_codec) (PurpleMediaBackend *self,
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
82 const gchar *sess_id, PurpleMediaCodec *codec);
36318
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
83 gboolean (*set_encryption_parameters) (PurpleMediaBackend *self,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
84 const gchar *sess_id, const gchar *cipher,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
85 const gchar *auth, const gchar *key, gsize key_len);
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
86 gboolean (*set_decryption_parameters) (PurpleMediaBackend *self,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
87 const gchar *sess_id, const gchar *participant,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
88 const gchar *cipher, const gchar *auth,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
89 const gchar *key, gsize key_len);
31687
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
90 void (*set_params) (PurpleMediaBackend *self,
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
91 guint num_params, GParameter *params);
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
92 const gchar **(*get_available_params) (void);
36312
6b4576edf2a6 Add out-of-band DTMF support and dialpad to use it
David Woodhouse <David.Woodhouse@intel.com>
parents: 31687
diff changeset
93 gboolean (*send_dtmf) (PurpleMediaBackend *self,
6b4576edf2a6 Add out-of-band DTMF support and dialpad to use it
David Woodhouse <David.Woodhouse@intel.com>
parents: 31687
diff changeset
94 const gchar *sess_id, gchar dtmf, guint8 volume,
6b4576edf2a6 Add out-of-band DTMF support and dialpad to use it
David Woodhouse <David.Woodhouse@intel.com>
parents: 31687
diff changeset
95 guint16 duration);
36321
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
96 gboolean (*set_send_rtcp_mux) (PurpleMediaBackend *self,
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
97 const gchar *sess_id, const gchar *participant, gboolean send_rtcp_mux);
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
98 };
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
99
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
100 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
101 * purple_media_backend_get_type:
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
102 *
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
103 * Gets the media backend's GType.
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
104 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
105 * Returns: The media backend's GType.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
106 */
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
107 GType purple_media_backend_get_type(void);
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
108
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
109 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
110 * purple_media_backend_add_stream:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
111 * @self: The backend to add the stream to.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
112 * @sess_id: The session id of the stream to add.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
113 * @who: The remote participant of the stream to add.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
114 * @type: The media type and direction of the stream to add.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
115 * @initiator: True if the local user initiated the stream.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
116 * @transmitter: The string id of the tranmsitter to use.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
117 * @num_params: The number of parameters in the param parameter.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
118 * @params: The additional parameters to pass when creating the stream.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
119 *
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
120 * Creates and adds a stream to the media backend.
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
121 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
122 * Returns: True if the stream was successfully created, othewise False.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
123 */
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
124 gboolean purple_media_backend_add_stream(PurpleMediaBackend *self,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
125 const gchar *sess_id, const gchar *who,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
126 PurpleMediaSessionType type, gboolean initiator,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
127 const gchar *transmitter,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
128 guint num_params, GParameter *params);
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
129
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
130 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
131 * purple_media_backend_add_remote_candidates:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
132 * @self: The backend the stream is in.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
133 * @sess_id: The session id associated with the stream.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
134 * @participant: The participant associated with the stream.
38632
4cbae4a1bac1 Add a lot of type annotations, still many more to go
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
135 * @remote_candidates: (element-type PurpleMediaCandidate): The list of remote candidates to add.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
136 *
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
137 * Add remote candidates to a stream.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
138 */
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
139 void purple_media_backend_add_remote_candidates(PurpleMediaBackend *self,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
140 const gchar *sess_id, const gchar *participant,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
141 GList *remote_candidates);
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
142
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
143 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
144 * purple_media_backend_codecs_ready:
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
145 * @self: The media backend the session is in.
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
146 * @sess_id: The session id of the session to check.
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
147 *
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
148 * Get whether or not a session's codecs are ready.
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
149 *
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
150 * A codec is ready if all of the attributes and additional
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
151 * parameters have been collected.
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
152 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
153 * Returns: True if the codecs are ready, otherwise False.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
154 */
29597
22843326ee22 Add codecs_ready to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 29590
diff changeset
155 gboolean purple_media_backend_codecs_ready(PurpleMediaBackend *self,
22843326ee22 Add codecs_ready to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 29590
diff changeset
156 const gchar *sess_id);
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
157
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
158 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
159 * purple_media_backend_get_codecs:
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
160 * @self: The media backend the session is in.
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
161 * @sess_id: The session id of the session to use.
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
162 *
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
163 * Gets the codec intersection list for a session.
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
164 *
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
165 * The intersection list consists of all codecs that are compatible
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
166 * between the local and remote software.
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
167 *
38632
4cbae4a1bac1 Add a lot of type annotations, still many more to go
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
168 * Returns: (transfer full) (element-type PurpleMediaCodec): The codec intersection list.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
169 */
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
170 GList *purple_media_backend_get_codecs(PurpleMediaBackend *self,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
171 const gchar *sess_id);
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
172
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
173 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
174 * purple_media_backend_get_local_candidates:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
175 * @self: The media backend the stream is in.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
176 * @sess_id: The session id associated with the stream.
35462
901dfa763f15 Fix some gtk-doc warnings till proxy.c
Ankit Vani <a@nevitus.org>
parents: 35444
diff changeset
177 * @participant: The participant associated with the stream.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
178 *
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
179 * Gets the list of local candidates for a stream.
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
180 *
38632
4cbae4a1bac1 Add a lot of type annotations, still many more to go
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
181 * Return Value: (transfer full) (element-type PurpleMediaCandidate): The list of local candidates.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
182 */
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
183 GList *purple_media_backend_get_local_candidates(PurpleMediaBackend *self,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
184 const gchar *sess_id, const gchar *participant);
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
185
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
186 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
187 * purple_media_backend_set_remote_codecs:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
188 * @self: The media backend the stream is in.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
189 * @sess_id: The session id the stream is associated with.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
190 * @participant: The participant the stream is associated with.
38745
f4376b1f4682 A ton more of introspection cleanups
Gary Kramlich <grim@reaperworld.com>
parents: 38632
diff changeset
191 * @codecs: (element-type PurpleMediaCodec): The list of remote codecs to set.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
192 *
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
193 * Sets the remote codecs on a stream.
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
194 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
195 * Returns: True if the remote codecs were set successfully, otherwise False.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
196 */
29588
a3fef46ce04a Make the backend interface's set_remote_codecs function return gboolean.
Michael Ruprecht <maiku@pidgin.im>
parents: 29557
diff changeset
197 gboolean purple_media_backend_set_remote_codecs(PurpleMediaBackend *self,
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
198 const gchar *sess_id, const gchar *participant,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
199 GList *codecs);
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
200
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
201 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
202 * purple_media_backend_set_send_codec:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
203 * @self: The media backend the session is in.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
204 * @sess_id: The session id of the session to set the codec for.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
205 * @codec: The codec to set.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
206 *
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
207 * Sets which codec format to send media content in for a session.
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
208 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
209 * Returns: True if set successfully, otherwise False.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
210 */
29590
bec92b90acc9 Change the media backend interface's set_send_codec to return gboolean to
Michael Ruprecht <maiku@pidgin.im>
parents: 29588
diff changeset
211 gboolean purple_media_backend_set_send_codec(PurpleMediaBackend *self,
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
212 const gchar *sess_id, PurpleMediaCodec *codec);
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
213
31687
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
214 /**
36314
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
215 * purple_media_backend_set_encryption_parameters:
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
216 * @self: The media backend the session is in.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
217 * @sess_id: The session id of the session to set parameters of.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
218 * @cipher: The cipher to use to encrypt our media in the session.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
219 * @auth: The algorithm to use to compute authentication codes for our media
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
220 * frames.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
221 * @key: The encryption key.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
222 * @key_len: Byte length of the encryption key.
36318
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
223 *
36314
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
224 * Sets the encryption parameters of our media in the session.
36318
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
225 */
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
226 gboolean purple_media_backend_set_encryption_parameters(PurpleMediaBackend *self,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
227 const gchar *sess_id, const gchar *cipher,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
228 const gchar *auth, const gchar *key, gsize key_len);
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
229
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
230 /**
36314
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
231 * purple_media_backend_set_decryption_parameters:
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
232 * @self: The media backend the session is in.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
233 * @sess_id: The session id of the session to set parameters of.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
234 * @participant: The participant of the session to set parameters of.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
235 * @cipher: The cipher to use to decrypt media coming from this session's
36318
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
236 * participant.
36314
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
237 * @auth: The algorithm to use for authentication of the media coming from
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
238 * the session's participant.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
239 * @key: The decryption key.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
240 * @key_len: Byte length of the decryption key.
36318
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
241 *
36314
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
242 * Sets the decryption parameters for a session participant's media.
36318
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
243 */
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
244 gboolean purple_media_backend_set_decryption_parameters(PurpleMediaBackend *self,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
245 const gchar *sess_id, const gchar *participant,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
246 const gchar *cipher, const gchar *auth,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
247 const gchar *key, gsize key_len);
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
248
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
249 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
250 * purple_media_backend_set_params:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
251 * @self: The media backend to set the parameters on.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
252 * @num_params: The number of parameters to pass to backend
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
253 * @params: Array of @c GParameter to pass to backend
31687
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
254 *
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
255 * Sets various optional parameters of the media backend.
31687
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
256 */
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
257 void purple_media_backend_set_params(PurpleMediaBackend *self,
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
258 guint num_params, GParameter *params);
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
259
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
260 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
261 * purple_media_backend_get_available_params:
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
262 * @self: The media backend
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
263 *
31687
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
264 * Gets the list of optional parameters supported by the media backend.
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
265 * The list should NOT be freed.
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
266 *
38632
4cbae4a1bac1 Add a lot of type annotations, still many more to go
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
267 * Return Value: (transfer none): NULL-terminated array of names of supported parameters.
31687
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
268 */
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
269 const gchar **purple_media_backend_get_available_params(PurpleMediaBackend *self);
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
270
36321
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
271 /**
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
272 * purple_media_backend_set_send_rtcp_mux:
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
273 * @self: The media backend the session is in.
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
274 * @sess_id: The session id of the session to set the rtcp-mux option to
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
275 * @participant: The participant the stream is associated with.
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
276 * @send_rtcp_mux: Whether or not to enable rtcp-mux
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
277 *
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
278 * Controls whether or not the RTCP should be muxed with the RTP
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
279 *
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
280 * Returns: True if set successfully, otherwise False.
37757
270e9f74aad0 Document a few more symbols that were added in 2.11.0
Gary Kramlich <grim@reaperworld.com>
parents: 36321
diff changeset
281 *
270e9f74aad0 Document a few more symbols that were added in 2.11.0
Gary Kramlich <grim@reaperworld.com>
parents: 36321
diff changeset
282 * @since 2.11.0
36321
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
283 */
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
284 gboolean purple_media_backend_set_send_rtcp_mux(PurpleMediaBackend *self,
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
285 const gchar *sess_id, const gchar *participant, gboolean send_rtcp_mux);
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
286
5f5abd63c305 media: Add a send-rtcp-mux API to allow muxing of RTP and RTCP
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 36318
diff changeset
287
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
288 G_END_DECLS
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
289
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38745
diff changeset
290 #endif /* PURPLE_MEDIA_BACKEND_IFACE_H */

mercurial