libpurple/media/backend-iface.c

Fri, 20 Oct 2023 02:10:54 -0500

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Fri, 20 Oct 2023 02:10:54 -0500
changeset 42376
c6aa66fec38a
parent 41685
ca22b00972d4
child 42584
687260353985
permissions
-rw-r--r--

Prefix version.h with purple

And split constants into a separate file as in hasl.

Testing Done:
Compiled.

Reviewed at https://reviews.imfreedom.org/r/2680/

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
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
22 #include "backend-iface.h"
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
23
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
24 enum {
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
25 S_ERROR,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
26 CANDIDATES_PREPARED,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
27 CODECS_CHANGED,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
28 NEW_CANDIDATE,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
29 ACTIVE_CANDIDATE_PAIR,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
30 LAST_SIGNAL
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
31 };
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
32
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
33 static guint purple_media_backend_signals[LAST_SIGNAL] = {0};
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
34
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
35 static void
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
36 purple_media_backend_base_init(gpointer iface)
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 static gboolean is_initialized = FALSE;
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
39
41489
8026339f5ace Modernize some media files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41146
diff changeset
40 if (is_initialized) {
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
41 return;
41489
8026339f5ace Modernize some media files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41146
diff changeset
42 }
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
43
29562
7f2e253c266e This is an interface and not a class.
Michael Ruprecht <maiku@pidgin.im>
parents: 29560
diff changeset
44 g_object_interface_install_property(iface,
41490
2b1695327414 Make VV libraries required
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41489
diff changeset
45 g_param_spec_string("conference-type",
29558
a151d2be726c Add the conference-type property to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 29555
diff changeset
46 "Conference Type",
a151d2be726c Add the conference-type property to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 29555
diff changeset
47 "The type of conference that this backend "
a151d2be726c Add the conference-type property to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 29555
diff changeset
48 "has been created to provide.",
29560
0af31a3eb297 Fix parameter to actually be a string instead of an object.
Michael Ruprecht <maiku@pidgin.im>
parents: 29558
diff changeset
49 NULL,
35063
8ac1510a27ae media: Use G_PARAM_STATIC_STRINGS and ensure g_object_notify is always called
Ankit Vani <a@nevitus.org>
parents: 31687
diff changeset
50 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE |
8ac1510a27ae media: Use G_PARAM_STATIC_STRINGS and ensure g_object_notify is always called
Ankit Vani <a@nevitus.org>
parents: 31687
diff changeset
51 G_PARAM_STATIC_STRINGS));
29562
7f2e253c266e This is an interface and not a class.
Michael Ruprecht <maiku@pidgin.im>
parents: 29560
diff changeset
52 g_object_interface_install_property(iface,
41490
2b1695327414 Make VV libraries required
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41489
diff changeset
53 g_param_spec_object(
36841
53531102aa3a g-ir-scanner gives a critical warning for PurpleMedia not being a GObject with USE_VV not defined
Ankit Vani <a@nevitus.org>
parents: 31687
diff changeset
54 "media", "Purple Media",
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
55 "The media object that this backend is bound to.",
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
56 PURPLE_TYPE_MEDIA,
35063
8ac1510a27ae media: Use G_PARAM_STATIC_STRINGS and ensure g_object_notify is always called
Ankit Vani <a@nevitus.org>
parents: 31687
diff changeset
57 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE |
8ac1510a27ae media: Use G_PARAM_STATIC_STRINGS and ensure g_object_notify is always called
Ankit Vani <a@nevitus.org>
parents: 31687
diff changeset
58 G_PARAM_STATIC_STRINGS));
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
59 purple_media_backend_signals[S_ERROR] =
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
60 g_signal_new("error", G_TYPE_FROM_CLASS(iface),
38365
2ee19fb5fb0d libpurple: Use default marshaller for GObject signals
Mike Ruprecht <cmaiku@gmail.com>
parents: 37191
diff changeset
61 G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
62 G_TYPE_NONE, 1, G_TYPE_STRING);
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
63 purple_media_backend_signals[CANDIDATES_PREPARED] =
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
64 g_signal_new("candidates-prepared",
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
65 G_TYPE_FROM_CLASS(iface),
38365
2ee19fb5fb0d libpurple: Use default marshaller for GObject signals
Mike Ruprecht <cmaiku@gmail.com>
parents: 37191
diff changeset
66 G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
67 G_TYPE_NONE, 2, G_TYPE_STRING,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
68 G_TYPE_STRING);
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
69 purple_media_backend_signals[CODECS_CHANGED] =
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
70 g_signal_new("codecs-changed",
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
71 G_TYPE_FROM_CLASS(iface),
38365
2ee19fb5fb0d libpurple: Use default marshaller for GObject signals
Mike Ruprecht <cmaiku@gmail.com>
parents: 37191
diff changeset
72 G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
73 G_TYPE_NONE, 1, G_TYPE_STRING);
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
74 purple_media_backend_signals[NEW_CANDIDATE] =
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
75 g_signal_new("new-candidate",
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
76 G_TYPE_FROM_CLASS(iface),
38365
2ee19fb5fb0d libpurple: Use default marshaller for GObject signals
Mike Ruprecht <cmaiku@gmail.com>
parents: 37191
diff changeset
77 G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
78 G_TYPE_NONE, 3, G_TYPE_POINTER,
40890
631788774f96 Use PurpleMedia/PURPLE_MEDIA prefix for everything in libpurple/media.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40268
diff changeset
79 G_TYPE_POINTER, PURPLE_MEDIA_TYPE_CANDIDATE);
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
80 purple_media_backend_signals[ACTIVE_CANDIDATE_PAIR] =
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
81 g_signal_new("active-candidate-pair",
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
82 G_TYPE_FROM_CLASS(iface),
38365
2ee19fb5fb0d libpurple: Use default marshaller for GObject signals
Mike Ruprecht <cmaiku@gmail.com>
parents: 37191
diff changeset
83 G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
84 G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_STRING,
40890
631788774f96 Use PurpleMedia/PURPLE_MEDIA prefix for everything in libpurple/media.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40268
diff changeset
85 PURPLE_MEDIA_TYPE_CANDIDATE,
631788774f96 Use PurpleMedia/PURPLE_MEDIA prefix for everything in libpurple/media.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40268
diff changeset
86 PURPLE_MEDIA_TYPE_CANDIDATE);
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
87
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
88 is_initialized = TRUE;
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
89 }
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
90
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
91 GType
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
92 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
93 {
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
94 static GType iface_type = 0;
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
95 if (iface_type == 0) {
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
96 static const GTypeInfo info = {
39757
4a5ba806d8c9 Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38365
diff changeset
97 sizeof(PurpleMediaBackendInterface),
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
98 purple_media_backend_base_init,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
99 NULL,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
100 NULL,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
101 NULL,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
102 NULL,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
103 0,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
104 0,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
105 NULL,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
106 NULL
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
107 };
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
108
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
109 iface_type = g_type_register_static (G_TYPE_INTERFACE,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
110 "PurpleMediaBackend", &info, 0);
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
111 }
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
112
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
113 return iface_type;
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
114 }
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
115
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
116 gboolean
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
117 purple_media_backend_add_stream(PurpleMediaBackend *self,
41146
d1a4975ae036 Use fs_stream_set_transmitter_ht
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40890
diff changeset
118 const gchar *sess_id, const gchar *who, PurpleMediaSessionType type,
d1a4975ae036 Use fs_stream_set_transmitter_ht
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40890
diff changeset
119 gboolean initiator, const gchar *transmitter, GHashTable *params)
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
120 {
40890
631788774f96 Use PurpleMedia/PURPLE_MEDIA prefix for everything in libpurple/media.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40268
diff changeset
121 g_return_val_if_fail(PURPLE_MEDIA_IS_BACKEND(self), FALSE);
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
122 return PURPLE_MEDIA_BACKEND_GET_INTERFACE(self)->add_stream(self,
41146
d1a4975ae036 Use fs_stream_set_transmitter_ht
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40890
diff changeset
123 sess_id, who, type, initiator, transmitter, params);
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
124 }
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
125
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
126 void
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
127 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
128 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
129 GList *remote_candidates)
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
130 {
40890
631788774f96 Use PurpleMedia/PURPLE_MEDIA prefix for everything in libpurple/media.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40268
diff changeset
131 g_return_if_fail(PURPLE_MEDIA_IS_BACKEND(self));
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
132 PURPLE_MEDIA_BACKEND_GET_INTERFACE(self)->add_remote_candidates(self,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
133 sess_id, participant, remote_candidates);
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
134 }
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
135
29597
22843326ee22 Add codecs_ready to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 29590
diff changeset
136 gboolean
22843326ee22 Add codecs_ready to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 29590
diff changeset
137 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
138 const gchar *sess_id)
22843326ee22 Add codecs_ready to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 29590
diff changeset
139 {
40890
631788774f96 Use PurpleMedia/PURPLE_MEDIA prefix for everything in libpurple/media.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40268
diff changeset
140 g_return_val_if_fail(PURPLE_MEDIA_IS_BACKEND(self), FALSE);
29597
22843326ee22 Add codecs_ready to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 29590
diff changeset
141 return PURPLE_MEDIA_BACKEND_GET_INTERFACE(self)->codecs_ready(self,
22843326ee22 Add codecs_ready to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 29590
diff changeset
142 sess_id);
22843326ee22 Add codecs_ready to the media backend interface.
Michael Ruprecht <maiku@pidgin.im>
parents: 29590
diff changeset
143 }
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
144
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
145 GList *
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
146 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
147 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
148 {
40890
631788774f96 Use PurpleMedia/PURPLE_MEDIA prefix for everything in libpurple/media.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40268
diff changeset
149 g_return_val_if_fail(PURPLE_MEDIA_IS_BACKEND(self), NULL);
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
150 return PURPLE_MEDIA_BACKEND_GET_INTERFACE(self)->get_codecs(self,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
151 sess_id);
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
152 }
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
153
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
154 GList *
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
155 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
156 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
157 {
40890
631788774f96 Use PurpleMedia/PURPLE_MEDIA prefix for everything in libpurple/media.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40268
diff changeset
158 g_return_val_if_fail(PURPLE_MEDIA_IS_BACKEND(self), NULL);
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
159 return PURPLE_MEDIA_BACKEND_GET_INTERFACE(self)->
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
160 get_local_candidates(self,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
161 sess_id, participant);
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
162 }
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
163
29588
a3fef46ce04a Make the backend interface's set_remote_codecs function return gboolean.
Michael Ruprecht <maiku@pidgin.im>
parents: 29562
diff changeset
164 gboolean
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
165 purple_media_backend_set_remote_codecs(PurpleMediaBackend *self,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
166 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
167 GList *codecs)
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
168 {
40890
631788774f96 Use PurpleMedia/PURPLE_MEDIA prefix for everything in libpurple/media.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40268
diff changeset
169 g_return_val_if_fail(PURPLE_MEDIA_IS_BACKEND(self), FALSE);
29588
a3fef46ce04a Make the backend interface's set_remote_codecs function return gboolean.
Michael Ruprecht <maiku@pidgin.im>
parents: 29562
diff changeset
170 return PURPLE_MEDIA_BACKEND_GET_INTERFACE(self)->set_remote_codecs(
a3fef46ce04a Make the backend interface's set_remote_codecs function return gboolean.
Michael Ruprecht <maiku@pidgin.im>
parents: 29562
diff changeset
171 self, sess_id, participant, codecs);
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
172 }
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
173
29590
bec92b90acc9 Change the media backend interface's set_send_codec to return gboolean to
Michael Ruprecht <maiku@pidgin.im>
parents: 29588
diff changeset
174 gboolean
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
175 purple_media_backend_set_send_codec(PurpleMediaBackend *self,
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
176 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
177 {
40890
631788774f96 Use PurpleMedia/PURPLE_MEDIA prefix for everything in libpurple/media.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40268
diff changeset
178 g_return_val_if_fail(PURPLE_MEDIA_IS_BACKEND(self), FALSE);
29590
bec92b90acc9 Change the media backend interface's set_send_codec to return gboolean to
Michael Ruprecht <maiku@pidgin.im>
parents: 29588
diff changeset
179 return PURPLE_MEDIA_BACKEND_GET_INTERFACE(self)->set_send_codec(self,
29555
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
180 sess_id, codec);
15bb28ca4cf6 Add a media backend interface to handle different backends in addition to
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
181 }
31687
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29597
diff changeset
182
36318
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
183 gboolean
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
184 purple_media_backend_set_encryption_parameters(PurpleMediaBackend *self,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
185 const gchar *sess_id, const gchar *cipher,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
186 const gchar *auth, const gchar *key, gsize key_len)
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
187 {
39757
4a5ba806d8c9 Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38365
diff changeset
188 PurpleMediaBackendInterface *backend_iface;
36318
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
189
40890
631788774f96 Use PurpleMedia/PURPLE_MEDIA prefix for everything in libpurple/media.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40268
diff changeset
190 g_return_val_if_fail(PURPLE_MEDIA_IS_BACKEND(self), FALSE);
36318
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
191 backend_iface = PURPLE_MEDIA_BACKEND_GET_INTERFACE(self);
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
192 g_return_val_if_fail(backend_iface->set_encryption_parameters, FALSE);
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
193 return backend_iface->set_encryption_parameters(self,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
194 sess_id, cipher, auth, key, key_len);
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
195 }
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
196
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
197 gboolean
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
198 purple_media_backend_set_decryption_parameters(PurpleMediaBackend *self,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
199 const gchar *sess_id, const gchar *participant,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
200 const gchar *cipher, const gchar *auth,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
201 const gchar *key, gsize key_len)
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
202 {
39757
4a5ba806d8c9 Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38365
diff changeset
203 PurpleMediaBackendInterface *backend_iface;
36318
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
204
40890
631788774f96 Use PurpleMedia/PURPLE_MEDIA prefix for everything in libpurple/media.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40268
diff changeset
205 g_return_val_if_fail(PURPLE_MEDIA_IS_BACKEND(self), FALSE);
36318
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
206 backend_iface = PURPLE_MEDIA_BACKEND_GET_INTERFACE(self);
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
207 g_return_val_if_fail(backend_iface->set_decryption_parameters, FALSE);
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
208 return backend_iface->set_decryption_parameters(self,
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
209 sess_id, participant, cipher, auth, key, key_len);
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
210 }
a0906e7a6bae Implement media encryption
Jakub Adam <jakub.adam@ktknet.cz>
parents: 31687
diff changeset
211
40268
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
212 gboolean
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
213 purple_media_backend_set_require_encryption(PurpleMediaBackend *self,
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
214 const gchar *sess_id, const gchar *participant,
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
215 gboolean require_encryption)
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
216 {
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
217 PurpleMediaBackendInterface *backend_iface;
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
218
40890
631788774f96 Use PurpleMedia/PURPLE_MEDIA prefix for everything in libpurple/media.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40268
diff changeset
219 g_return_val_if_fail(PURPLE_MEDIA_IS_BACKEND(self), FALSE);
40268
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
220 backend_iface = PURPLE_MEDIA_BACKEND_GET_INTERFACE(self);
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
221
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
222 if (!backend_iface->set_require_encryption) {
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
223 return FALSE;
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
224 }
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
225
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
226 return backend_iface->set_require_encryption(self,
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
227 sess_id, participant, require_encryption);
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
228 }
a7be471404ba Port purple_media_set_require_encryption api
Fabrice Bellet <fabrice@bellet.info>
parents: 39757
diff changeset
229
31687
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29597
diff changeset
230 void
41146
d1a4975ae036 Use fs_stream_set_transmitter_ht
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40890
diff changeset
231 purple_media_backend_set_params(PurpleMediaBackend *self, GHashTable *params)
31687
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29597
diff changeset
232 {
40890
631788774f96 Use PurpleMedia/PURPLE_MEDIA prefix for everything in libpurple/media.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40268
diff changeset
233 g_return_if_fail(PURPLE_MEDIA_IS_BACKEND(self));
41146
d1a4975ae036 Use fs_stream_set_transmitter_ht
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40890
diff changeset
234 PURPLE_MEDIA_BACKEND_GET_INTERFACE(self)->set_params(self, params);
31687
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29597
diff changeset
235 }
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29597
diff changeset
236
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29597
diff changeset
237 const gchar **
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29597
diff changeset
238 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: 29597
diff changeset
239 {
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29597
diff changeset
240 static const gchar *NULL_ARRAY[] = { NULL };
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29597
diff changeset
241
40890
631788774f96 Use PurpleMedia/PURPLE_MEDIA prefix for everything in libpurple/media.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40268
diff changeset
242 g_return_val_if_fail(PURPLE_MEDIA_IS_BACKEND(self), NULL_ARRAY);
31687
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29597
diff changeset
243 return PURPLE_MEDIA_BACKEND_GET_INTERFACE(self)->get_available_params();
4877d06f3234 media: Allow setting SDES properties of RTP conferences. Fixes #12981.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29597
diff changeset
244 }
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
245
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
246 gboolean
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
247 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
248 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
249 {
39757
4a5ba806d8c9 Rename *Iface to more standard names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38365
diff changeset
250 PurpleMediaBackendInterface *backend_iface;
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
251
40890
631788774f96 Use PurpleMedia/PURPLE_MEDIA prefix for everything in libpurple/media.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40268
diff changeset
252 g_return_val_if_fail(PURPLE_MEDIA_IS_BACKEND(self), FALSE);
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
253 backend_iface = PURPLE_MEDIA_BACKEND_GET_INTERFACE(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
254 g_return_val_if_fail(backend_iface->set_send_rtcp_mux, FALSE);
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
255 return backend_iface->set_send_rtcp_mux(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
256 sess_id, participant, 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
257 }

mercurial