libpurple/media/backend-iface.h

Fri, 22 Nov 2019 00:22:50 -0500

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Fri, 22 Nov 2019 00:22:50 -0500
changeset 40230
620a23d172cb
parent 40013
69d398c30f7d
child 40268
a7be471404ba
permissions
-rw-r--r--

Add Since tags for 2.11.0.

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))
39757
4a5ba806d8c9 Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
41 #define PURPLE_MEDIA_BACKEND_GET_INTERFACE(inst)(G_TYPE_INSTANCE_GET_INTERFACE((inst), PURPLE_TYPE_MEDIA_BACKEND, PurpleMediaBackendInterface))
29555
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 /**
39757
4a5ba806d8c9 Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
51 * PurpleMediaBackendInterface:
35396
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 */
39757
4a5ba806d8c9 Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
55 typedef struct _PurpleMediaBackendInterface PurpleMediaBackendInterface;
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
56
39757
4a5ba806d8c9 Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
57 struct _PurpleMediaBackendInterface
29555
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_* */
40013
69d398c30f7d Add G_GNUC_BEGIN_IGNORE_DEPRECATIONS around uses of GParameter in our API
Gary Kramlich <grim@reaperworld.com>
parents: 39757
diff changeset
64 G_GNUC_BEGIN_IGNORE_DEPRECATIONS
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
65 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
66 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
67 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
68 const gchar *transmitter,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
69 guint num_params, GParameter *params);
40013
69d398c30f7d Add G_GNUC_BEGIN_IGNORE_DEPRECATIONS around uses of GParameter in our API
Gary Kramlich <grim@reaperworld.com>
parents: 39757
diff changeset
70 G_GNUC_END_IGNORE_DEPRECATIONS
69d398c30f7d Add G_GNUC_BEGIN_IGNORE_DEPRECATIONS around uses of GParameter in our API
Gary Kramlich <grim@reaperworld.com>
parents: 39757
diff changeset
71
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
72 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
73 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
74 GList *remote_candidates);
29597
22843326ee22 Add codecs_ready to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 29590
diff changeset
75 gboolean (*codecs_ready) (PurpleMediaBackend *self,
22843326ee22 Add codecs_ready to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 29590
diff changeset
76 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
77 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
78 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
79 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
80 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
81 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
82 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
83 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
84 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
85 const gchar *sess_id, PurpleMediaCodec *codec);
36318
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
86 gboolean (*set_encryption_parameters) (PurpleMediaBackend *self,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
87 const gchar *sess_id, const gchar *cipher,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
88 const gchar *auth, const gchar *key, gsize key_len);
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
89 gboolean (*set_decryption_parameters) (PurpleMediaBackend *self,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
90 const gchar *sess_id, const gchar *participant,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
91 const gchar *cipher, const gchar *auth,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
92 const gchar *key, gsize key_len);
40013
69d398c30f7d Add G_GNUC_BEGIN_IGNORE_DEPRECATIONS around uses of GParameter in our API
Gary Kramlich <grim@reaperworld.com>
parents: 39757
diff changeset
93 G_GNUC_BEGIN_IGNORE_DEPRECATIONS
31687
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
94 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
95 guint num_params, GParameter *params);
40013
69d398c30f7d Add G_GNUC_BEGIN_IGNORE_DEPRECATIONS around uses of GParameter in our API
Gary Kramlich <grim@reaperworld.com>
parents: 39757
diff changeset
96 G_GNUC_END_IGNORE_DEPRECATIONS
31687
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
97 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
98 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
99 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
100 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
101 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
102 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
103 };
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
104
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
105 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
106 * 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
107 *
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
108 * Gets the media backend's GType.
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
109 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
110 * Returns: The media backend's GType.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
111 */
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
112 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
113
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
114 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
115 * purple_media_backend_add_stream:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
116 * @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
117 * @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
118 * @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
119 * @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
120 * @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
121 * @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
122 * @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
123 * @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
124 *
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
125 * 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
126 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
127 * 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
128 */
40013
69d398c30f7d Add G_GNUC_BEGIN_IGNORE_DEPRECATIONS around uses of GParameter in our API
Gary Kramlich <grim@reaperworld.com>
parents: 39757
diff changeset
129 G_GNUC_BEGIN_IGNORE_DEPRECATIONS
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
130 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
131 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
132 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
133 const gchar *transmitter,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
134 guint num_params, GParameter *params);
40013
69d398c30f7d Add G_GNUC_BEGIN_IGNORE_DEPRECATIONS around uses of GParameter in our API
Gary Kramlich <grim@reaperworld.com>
parents: 39757
diff changeset
135 G_GNUC_END_IGNORE_DEPRECATIONS
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
136
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
137 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
138 * purple_media_backend_add_remote_candidates:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
139 * @self: The backend the stream is in.
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
140 * @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
141 * @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
142 * @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
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 * Add remote candidates to a stream.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
145 */
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
146 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
147 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
148 GList *remote_candidates);
29652
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 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
151 * 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
152 * @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
153 * @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
154 *
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
155 * 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
156 *
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
157 * 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
158 * parameters have been collected.
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
159 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
160 * 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
161 */
29597
22843326ee22 Add codecs_ready to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 29590
diff changeset
162 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
163 const gchar *sess_id);
29652
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 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
166 * 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
167 * @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
168 * @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
169 *
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
170 * Gets the codec intersection list for a session.
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
171 *
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
172 * 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
173 * between the local and remote software.
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
174 *
38632
4cbae4a1bac1 Add a lot of type annotations, still many more to go
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
175 * 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
176 */
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
177 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
178 const gchar *sess_id);
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
179
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
180 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
181 * purple_media_backend_get_local_candidates:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
182 * @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
183 * @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
184 * @participant: The participant associated with the stream.
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 * 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
187 *
38632
4cbae4a1bac1 Add a lot of type annotations, still many more to go
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
188 * 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
189 */
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
190 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
191 const gchar *sess_id, const gchar *participant);
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 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
194 * purple_media_backend_set_remote_codecs:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
195 * @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
196 * @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
197 * @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
198 * @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
199 *
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
200 * Sets the remote codecs on a stream.
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
201 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
202 * 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
203 */
29588
a3fef46ce04a Make the backend interface's set_remote_codecs function return gboolean.
Michael Ruprecht <maiku@pidgin.im>
parents: 29557
diff changeset
204 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
205 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
206 GList *codecs);
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
207
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
208 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
209 * purple_media_backend_set_send_codec:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
210 * @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
211 * @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
212 * @codec: The codec to set.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
213 *
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
214 * 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
215 *
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
216 * Returns: True if set successfully, otherwise False.
29652
ab0489bbe42e Add documentation to backend-iface.h.
Michael Ruprecht <maiku@pidgin.im>
parents: 29597
diff changeset
217 */
29590
bec92b90acc9 Change the media backend interface's set_send_codec to return gboolean to
Michael Ruprecht <maiku@pidgin.im>
parents: 29588
diff changeset
218 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
219 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
220
31687
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
221 /**
36314
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
222 * purple_media_backend_set_encryption_parameters:
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
223 * @self: The media backend the session is in.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
224 * @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
225 * @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
226 * @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
227 * frames.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
228 * @key: The encryption key.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
229 * @key_len: Byte length of the encryption key.
36318
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 * 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
232 */
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
233 gboolean purple_media_backend_set_encryption_parameters(PurpleMediaBackend *self,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
234 const gchar *sess_id, const gchar *cipher,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
235 const gchar *auth, const gchar *key, gsize key_len);
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
236
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
237 /**
36314
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
238 * purple_media_backend_set_decryption_parameters:
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
239 * @self: The media backend the session is in.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
240 * @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
241 * @participant: The participant of the session to set parameters of.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
242 * @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
243 * participant.
36314
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
244 * @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
245 * the session's participant.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
246 * @key: The decryption key.
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
247 * @key_len: Byte length of the decryption key.
36318
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
248 *
36314
c6262630ed7c Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36309
diff changeset
249 * 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
250 */
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
251 gboolean purple_media_backend_set_decryption_parameters(PurpleMediaBackend *self,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
252 const gchar *sess_id, const gchar *participant,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
253 const gchar *cipher, const gchar *auth,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
254 const gchar *key, gsize key_len);
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
255
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 36312
diff changeset
256 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
257 * purple_media_backend_set_params:
35393
00f876b129bc Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents: 32438
diff changeset
258 * @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
259 * @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
260 * @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
261 *
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
262 * 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
263 */
40013
69d398c30f7d Add G_GNUC_BEGIN_IGNORE_DEPRECATIONS around uses of GParameter in our API
Gary Kramlich <grim@reaperworld.com>
parents: 39757
diff changeset
264 G_GNUC_BEGIN_IGNORE_DEPRECATIONS
31687
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
265 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
266 guint num_params, GParameter *params);
40013
69d398c30f7d Add G_GNUC_BEGIN_IGNORE_DEPRECATIONS around uses of GParameter in our API
Gary Kramlich <grim@reaperworld.com>
parents: 39757
diff changeset
267 G_GNUC_END_IGNORE_DEPRECATIONS
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 /**
35396
7bfe75a37af7 Convert docs from doxygen to gtk-doc format for account*, blist*, media/*
Ankit Vani <a@nevitus.org>
parents: 35393
diff changeset
270 * 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
271 * @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
272 *
31687
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
273 * 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
274 * 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
275 *
38632
4cbae4a1bac1 Add a lot of type annotations, still many more to go
Gary Kramlich <grim@reaperworld.com>
parents: 37901
diff changeset
276 * 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
277 */
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31293
diff changeset
278 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
279
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
280 /**
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
281 * 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
282 * @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
283 * @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
284 * @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
285 * @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
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 * 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
288 *
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
289 * 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
290 *
40230
620a23d172cb Add Since tags for 2.11.0.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40013
diff changeset
291 * 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
292 */
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
293 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
294 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
295
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
296
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
297 G_END_DECLS
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
298
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38745
diff changeset
299 #endif /* PURPLE_MEDIA_BACKEND_IFACE_H */

mercurial