libpurple/media/codec.c

Tue, 01 May 2018 16:32:13 -0400

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Tue, 01 May 2018 16:32:13 -0400
changeset 38995
80586ad5c5a4
parent 36346
f4c32aca3f1f
child 39259
bd13faf0172b
permissions
-rw-r--r--

Remove hacks for fixing warnings.

These are for some warning with G_DEFINE_TYPE_WITH_CODE, but I cannot
get any new warnings when removing them. The original commit does not
really say what warning the hack was fixing either.

29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
1 /* purple
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
2 *
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
5 * source distribution.
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
6 *
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
10 * (at your option) any later version.
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
11 *
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
15 * GNU General Public License for more details.
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
16 *
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
20 */
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
21
35078
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
22 #include "internal.h"
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
23 #include "glibcompat.h"
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
24 #include "codec.h"
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
25
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
26 /** @copydoc _PurpleMediaCodecClass */
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
27 typedef struct _PurpleMediaCodecClass PurpleMediaCodecClass;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
28 /** @copydoc _PurpleMediaCodecPrivate */
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
29 typedef struct _PurpleMediaCodecPrivate PurpleMediaCodecPrivate;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
30
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
31 #define PURPLE_MEDIA_CODEC_GET_PRIVATE(obj) \
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
32 (G_TYPE_INSTANCE_GET_PRIVATE((obj), \
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
33 PURPLE_TYPE_MEDIA_CODEC, PurpleMediaCodecPrivate))
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
34
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
35 struct _PurpleMediaCodecClass
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
36 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
37 GObjectClass parent_class;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
38 };
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
39
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
40 struct _PurpleMediaCodec
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
41 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
42 GObject parent;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
43 };
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
44
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
45 G_DEFINE_TYPE(PurpleMediaCodec, purple_media_codec, G_TYPE_OBJECT);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
46
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
47 struct _PurpleMediaCodecPrivate
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
48 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
49 gint id;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
50 char *encoding_name;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
51 PurpleMediaSessionType media_type;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
52 guint clock_rate;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
53 guint channels;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
54 GList *optional_params;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
55 };
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
56
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
57 enum {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
58 PROP_CODEC_0,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
59 PROP_ID,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
60 PROP_ENCODING_NAME,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
61 PROP_MEDIA_TYPE,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
62 PROP_CLOCK_RATE,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
63 PROP_CHANNELS,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
64 PROP_OPTIONAL_PARAMS,
35078
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
65 PROP_LAST
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
66 };
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
67
35078
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
68 static GParamSpec *properties[PROP_LAST];
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
69
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
70 static void
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
71 purple_media_codec_init(PurpleMediaCodec *info)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
72 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
73 PurpleMediaCodecPrivate *priv =
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
74 PURPLE_MEDIA_CODEC_GET_PRIVATE(info);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
75 priv->encoding_name = NULL;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
76 priv->optional_params = NULL;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
77 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
78
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
79 static void
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
80 purple_media_codec_finalize(GObject *info)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
81 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
82 PurpleMediaCodecPrivate *priv =
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
83 PURPLE_MEDIA_CODEC_GET_PRIVATE(info);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
84 g_free(priv->encoding_name);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
85 for (; priv->optional_params; priv->optional_params =
30715
61a0bd743512 Fix some media code leaks.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29554
diff changeset
86 g_list_delete_link(priv->optional_params, priv->optional_params)) {
61a0bd743512 Fix some media code leaks.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29554
diff changeset
87 PurpleKeyValuePair *param = priv->optional_params->data;
61a0bd743512 Fix some media code leaks.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29554
diff changeset
88 g_free(param->key);
61a0bd743512 Fix some media code leaks.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29554
diff changeset
89 g_free(param->value);
61a0bd743512 Fix some media code leaks.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29554
diff changeset
90 g_free(param);
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
91 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
92 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
93
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
94 static void
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
95 purple_media_codec_set_property (GObject *object, guint prop_id,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
96 const GValue *value, GParamSpec *pspec)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
97 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
98 PurpleMediaCodecPrivate *priv;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
99 g_return_if_fail(PURPLE_IS_MEDIA_CODEC(object));
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
100
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
101 priv = PURPLE_MEDIA_CODEC_GET_PRIVATE(object);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
102
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
103 switch (prop_id) {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
104 case PROP_ID:
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
105 priv->id = g_value_get_uint(value);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
106 break;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
107 case PROP_ENCODING_NAME:
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
108 g_free(priv->encoding_name);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
109 priv->encoding_name = g_value_dup_string(value);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
110 break;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
111 case PROP_MEDIA_TYPE:
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
112 priv->media_type = g_value_get_flags(value);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
113 break;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
114 case PROP_CLOCK_RATE:
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
115 priv->clock_rate = g_value_get_uint(value);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
116 break;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
117 case PROP_CHANNELS:
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
118 priv->channels = g_value_get_uint(value);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
119 break;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
120 case PROP_OPTIONAL_PARAMS:
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
121 priv->optional_params = g_value_get_pointer(value);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
122 break;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30715
diff changeset
123 default:
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
124 G_OBJECT_WARN_INVALID_PROPERTY_ID(
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
125 object, prop_id, pspec);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
126 break;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
127 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
128 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
129
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
130 static void
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
131 purple_media_codec_get_property (GObject *object, guint prop_id,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
132 GValue *value, GParamSpec *pspec)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
133 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
134 PurpleMediaCodecPrivate *priv;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
135 g_return_if_fail(PURPLE_IS_MEDIA_CODEC(object));
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30715
diff changeset
136
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
137 priv = PURPLE_MEDIA_CODEC_GET_PRIVATE(object);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
138
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
139 switch (prop_id) {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
140 case PROP_ID:
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
141 g_value_set_uint(value, priv->id);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
142 break;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
143 case PROP_ENCODING_NAME:
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
144 g_value_set_string(value, priv->encoding_name);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
145 break;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
146 case PROP_MEDIA_TYPE:
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
147 g_value_set_flags(value, priv->media_type);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
148 break;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
149 case PROP_CLOCK_RATE:
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
150 g_value_set_uint(value, priv->clock_rate);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
151 break;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
152 case PROP_CHANNELS:
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
153 g_value_set_uint(value, priv->channels);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
154 break;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
155 case PROP_OPTIONAL_PARAMS:
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
156 g_value_set_pointer(value, priv->optional_params);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
157 break;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30715
diff changeset
158 default:
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
159 G_OBJECT_WARN_INVALID_PROPERTY_ID(
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
160 object, prop_id, pspec);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
161 break;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
162 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
163 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
164
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
165 static void
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
166 purple_media_codec_class_init(PurpleMediaCodecClass *klass)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
167 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
168 GObjectClass *gobject_class = (GObjectClass*)klass;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 30715
diff changeset
169
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
170 gobject_class->finalize = purple_media_codec_finalize;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
171 gobject_class->set_property = purple_media_codec_set_property;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
172 gobject_class->get_property = purple_media_codec_get_property;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
173
35085
abab0adfa0ec libpurple: use g_object_class_install_properties instead of repeated g_object_class_install_property
Ankit Vani <a@nevitus.org>
parents: 35078
diff changeset
174 g_type_class_add_private(klass, sizeof(PurpleMediaCodecPrivate));
abab0adfa0ec libpurple: use g_object_class_install_properties instead of repeated g_object_class_install_property
Ankit Vani <a@nevitus.org>
parents: 35078
diff changeset
175
35078
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
176 properties[PROP_ID] = g_param_spec_uint("id",
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
177 "ID",
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
178 "The numeric identifier of the codec.",
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
179 0, G_MAXUINT, 0,
35063
8ac1510a27ae media: Use G_PARAM_STATIC_STRINGS and ensure g_object_notify is always called
Ankit Vani <a@nevitus.org>
parents: 31294
diff changeset
180 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE |
35078
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
181 G_PARAM_STATIC_STRINGS);
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
182
35078
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
183 properties[PROP_ENCODING_NAME] = g_param_spec_string("encoding-name",
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
184 "Encoding Name",
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
185 "The name of the codec.",
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
186 NULL,
35063
8ac1510a27ae media: Use G_PARAM_STATIC_STRINGS and ensure g_object_notify is always called
Ankit Vani <a@nevitus.org>
parents: 31294
diff changeset
187 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE |
35078
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
188 G_PARAM_STATIC_STRINGS);
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
189
35078
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
190 properties[PROP_MEDIA_TYPE] = g_param_spec_flags("media-type",
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
191 "Media Type",
36333
4fe1034f3dce Add application media type and APIs
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 31294
diff changeset
192 "Whether this is an audio, video or application codec.",
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
193 PURPLE_TYPE_MEDIA_SESSION_TYPE,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
194 PURPLE_MEDIA_NONE,
35063
8ac1510a27ae media: Use G_PARAM_STATIC_STRINGS and ensure g_object_notify is always called
Ankit Vani <a@nevitus.org>
parents: 31294
diff changeset
195 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE |
35078
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
196 G_PARAM_STATIC_STRINGS);
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
197
35078
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
198 properties[PROP_CLOCK_RATE] = g_param_spec_uint("clock-rate",
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
199 "Create Callback",
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
200 "The function called to create this element.",
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
201 0, G_MAXUINT, 0,
35078
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
202 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
203
35078
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
204 properties[PROP_CHANNELS] = g_param_spec_uint("channels",
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
205 "Channels",
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
206 "The number of channels in this codec.",
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
207 0, G_MAXUINT, 0,
35078
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
208 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
209
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
210 properties[PROP_OPTIONAL_PARAMS] = g_param_spec_pointer("optional-params",
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
211 "Optional Params",
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
212 "A list of optional parameters for the codec.",
35078
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
213 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
214
35085
abab0adfa0ec libpurple: use g_object_class_install_properties instead of repeated g_object_class_install_property
Ankit Vani <a@nevitus.org>
parents: 35078
diff changeset
215 g_object_class_install_properties(gobject_class, PROP_LAST, properties);
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
216 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
217
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
218 PurpleMediaCodec *
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
219 purple_media_codec_new(int id, const char *encoding_name,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
220 PurpleMediaSessionType media_type, guint clock_rate)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
221 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
222 PurpleMediaCodec *codec =
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
223 g_object_new(PURPLE_TYPE_MEDIA_CODEC,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
224 "id", id,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
225 "encoding_name", encoding_name,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
226 "media_type", media_type,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
227 "clock-rate", clock_rate, NULL);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
228 return codec;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
229 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
230
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
231 guint
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
232 purple_media_codec_get_id(PurpleMediaCodec *codec)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
233 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
234 guint id;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
235 g_return_val_if_fail(PURPLE_IS_MEDIA_CODEC(codec), 0);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
236 g_object_get(codec, "id", &id, NULL);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
237 return id;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
238 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
239
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
240 gchar *
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
241 purple_media_codec_get_encoding_name(PurpleMediaCodec *codec)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
242 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
243 gchar *name;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
244 g_return_val_if_fail(PURPLE_IS_MEDIA_CODEC(codec), NULL);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
245 g_object_get(codec, "encoding-name", &name, NULL);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
246 return name;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
247 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
248
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
249 guint
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
250 purple_media_codec_get_clock_rate(PurpleMediaCodec *codec)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
251 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
252 guint clock_rate;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
253 g_return_val_if_fail(PURPLE_IS_MEDIA_CODEC(codec), 0);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
254 g_object_get(codec, "clock-rate", &clock_rate, NULL);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
255 return clock_rate;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
256 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
257
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
258 guint
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
259 purple_media_codec_get_channels(PurpleMediaCodec *codec)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
260 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
261 guint channels;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
262 g_return_val_if_fail(PURPLE_IS_MEDIA_CODEC(codec), 0);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
263 g_object_get(codec, "channels", &channels, NULL);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
264 return channels;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
265 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
266
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
267 GList *
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
268 purple_media_codec_get_optional_parameters(PurpleMediaCodec *codec)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
269 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
270 GList *optional_params;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
271 g_return_val_if_fail(PURPLE_IS_MEDIA_CODEC(codec), NULL);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
272 g_object_get(codec, "optional-params", &optional_params, NULL);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
273 return optional_params;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
274 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
275
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
276 void
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
277 purple_media_codec_add_optional_parameter(PurpleMediaCodec *codec,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
278 const gchar *name, const gchar *value)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
279 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
280 PurpleMediaCodecPrivate *priv;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
281 PurpleKeyValuePair *new_param;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
282
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
283 g_return_if_fail(codec != NULL);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
284 g_return_if_fail(name != NULL && value != NULL);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
285
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
286 priv = PURPLE_MEDIA_CODEC_GET_PRIVATE(codec);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
287
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
288 new_param = g_new0(PurpleKeyValuePair, 1);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
289 new_param->key = g_strdup(name);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
290 new_param->value = g_strdup(value);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
291 priv->optional_params = g_list_append(
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
292 priv->optional_params, new_param);
35063
8ac1510a27ae media: Use G_PARAM_STATIC_STRINGS and ensure g_object_notify is always called
Ankit Vani <a@nevitus.org>
parents: 31294
diff changeset
293
35078
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
294 g_object_notify_by_pspec(G_OBJECT(codec), properties[PROP_OPTIONAL_PARAMS]);
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
295 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
296
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
297 void
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
298 purple_media_codec_remove_optional_parameter(PurpleMediaCodec *codec,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
299 PurpleKeyValuePair *param)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
300 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
301 PurpleMediaCodecPrivate *priv;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
302
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
303 g_return_if_fail(codec != NULL && param != NULL);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
304
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
305 priv = PURPLE_MEDIA_CODEC_GET_PRIVATE(codec);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
306
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
307 g_free(param->key);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
308 g_free(param->value);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
309
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
310 priv->optional_params =
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
311 g_list_remove(priv->optional_params, param);
30715
61a0bd743512 Fix some media code leaks.
Jakub Adam <jakub.adam@ktknet.cz>
parents: 29554
diff changeset
312 g_free(param);
35063
8ac1510a27ae media: Use G_PARAM_STATIC_STRINGS and ensure g_object_notify is always called
Ankit Vani <a@nevitus.org>
parents: 31294
diff changeset
313
35078
9e2aff0b8476 libpurple: started changing g_object_notify to g_object_notify_by_pspec
Ankit Vani <a@nevitus.org>
parents: 35063
diff changeset
314 g_object_notify_by_pspec(G_OBJECT(codec), properties[PROP_OPTIONAL_PARAMS]);
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
315 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
316
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
317 PurpleKeyValuePair *
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
318 purple_media_codec_get_optional_parameter(PurpleMediaCodec *codec,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
319 const gchar *name, const gchar *value)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
320 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
321 PurpleMediaCodecPrivate *priv;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
322 GList *iter;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
323
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
324 g_return_val_if_fail(codec != NULL, NULL);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
325 g_return_val_if_fail(name != NULL, NULL);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
326
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
327 priv = PURPLE_MEDIA_CODEC_GET_PRIVATE(codec);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
328
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
329 for (iter = priv->optional_params; iter; iter = g_list_next(iter)) {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
330 PurpleKeyValuePair *param = iter->data;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
331 if (!g_ascii_strcasecmp(param->key, name) &&
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
332 (value == NULL ||
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
333 !g_ascii_strcasecmp(param->value, value)))
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
334 return param;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
335 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
336
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
337 return NULL;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
338 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
339
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
340 PurpleMediaCodec *
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
341 purple_media_codec_copy(PurpleMediaCodec *codec)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
342 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
343 PurpleMediaCodecPrivate *priv;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
344 PurpleMediaCodec *new_codec;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
345 GList *iter;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
346
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
347 if (codec == NULL)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
348 return NULL;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
349
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
350 priv = PURPLE_MEDIA_CODEC_GET_PRIVATE(codec);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
351
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
352 new_codec = purple_media_codec_new(priv->id, priv->encoding_name,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
353 priv->media_type, priv->clock_rate);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
354 g_object_set(codec, "channels", priv->channels, NULL);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
355
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
356 for (iter = priv->optional_params; iter; iter = g_list_next(iter)) {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
357 PurpleKeyValuePair *param =
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
358 (PurpleKeyValuePair*)iter->data;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
359 purple_media_codec_add_optional_parameter(new_codec,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
360 param->key, param->value);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
361 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
362
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
363 return new_codec;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
364 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
365
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
366 GList *
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
367 purple_media_codec_list_copy(GList *codecs)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
368 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
369 GList *new_list = NULL;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
370
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
371 for (; codecs; codecs = g_list_next(codecs)) {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
372 new_list = g_list_prepend(new_list,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
373 purple_media_codec_copy(codecs->data));
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
374 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
375
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
376 new_list = g_list_reverse(new_list);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
377 return new_list;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
378 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
379
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
380 void
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
381 purple_media_codec_list_free(GList *codecs)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
382 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
383 for (; codecs; codecs =
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
384 g_list_delete_link(codecs, codecs)) {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
385 g_object_unref(codecs->data);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
386 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
387 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
388
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
389 gchar *
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
390 purple_media_codec_to_string(const PurpleMediaCodec *codec)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
391 {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
392 PurpleMediaCodecPrivate *priv;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
393 GString *string = NULL;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
394 GList *item;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
395 gchar *charstring;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
396 const gchar *media_type_str = NULL;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
397
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
398 if (codec == NULL)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
399 return g_strdup("(NULL)");
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
400
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
401 priv = PURPLE_MEDIA_CODEC_GET_PRIVATE(codec);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
402
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
403 string = g_string_new("");
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
404
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
405 if (priv->media_type & PURPLE_MEDIA_AUDIO)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
406 media_type_str = "audio";
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
407 else if (priv->media_type & PURPLE_MEDIA_VIDEO)
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
408 media_type_str = "video";
36333
4fe1034f3dce Add application media type and APIs
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 31294
diff changeset
409 else if (priv->media_type & PURPLE_MEDIA_APPLICATION)
4fe1034f3dce Add application media type and APIs
Youness Alaoui <kakaroto@kakaroto.homelinux.net>
parents: 31294
diff changeset
410 media_type_str = "application";
29554
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
411
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
412 g_string_printf(string, "%d: %s %s clock:%d channels:%d", priv->id,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
413 media_type_str, priv->encoding_name,
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
414 priv->clock_rate, priv->channels);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
415
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
416 for (item = priv->optional_params; item; item = g_list_next (item)) {
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
417 PurpleKeyValuePair *param = item->data;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
418 g_string_append_printf (string, " %s=%s",
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
419 param->key, (gchar *)param->value);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
420 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
421
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
422 charstring = string->str;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
423 g_string_free (string, FALSE);
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
424
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
425 return charstring;
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
426 }
f6ea03b38873 Break PurpleMediaCodec out into its own file.
Michael Ruprecht <maiku@pidgin.im>
parents:
diff changeset
427

mercurial