Mercurial > pidgin
annotate libpurple/media.c @ 32418:466efc330d3d
Optionally show certificates using GCR's widgets. These are much
more functional than the prompts we used to show. However, this is
only applied to the Certificate Viewer, and not any errors, etc.
I think we'll have to make a change to the request API for showing
certificates in a dialog and have the UI decide how to show them,
but that's for later.
This was written for Fedora 14, which I no longer have. I made some
tweaks and cleanup since I just added the _get_der_data function,
but I can't guarantee this still works.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Fri, 23 Dec 2011 03:59:39 +0000 |
parents | a4ba3b194ce3 |
children | b0ec02a9f558 |
rev | line source |
---|---|
29352
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1 /** |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
2 * @file media.c Media API |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
3 * @ingroup core |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
4 */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
5 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
6 /* purple |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
7 * |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
8 * Purple is the legal property of its developers, whose names are too numerous |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
9 * to list here. Please refer to the COPYRIGHT file distributed with this |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
10 * source distribution. |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
11 * |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
12 * This program is free software; you can redistribute it and/or modify |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
13 * it under the terms of the GNU General Public License as published by |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
14 * the Free Software Foundation; either version 2 of the License, or |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
15 * (at your option) any later version. |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
16 * |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
17 * This program is distributed in the hope that it will be useful, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
20 * GNU General Public License for more details. |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
21 * |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
22 * You should have received a copy of the GNU General Public License |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
23 * along with this program; if not, write to the Free Software |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
25 */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
26 #include "internal.h" |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
27 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
28 #include "account.h" |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
29 #include "media.h" |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
30 #include "media/backend-iface.h" |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
31 #include "mediamanager.h" |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
32 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
33 #include "debug.h" |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
34 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
35 #ifdef USE_GSTREAMER |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
36 #include "media/backend-fs2.h" |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
37 #include "marshallers.h" |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
38 #include "media-gst.h" |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
39 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
40 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
41 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
42 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
43 /** @copydoc _PurpleMediaSession */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
44 typedef struct _PurpleMediaSession PurpleMediaSession; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
45 /** @copydoc _PurpleMediaStream */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
46 typedef struct _PurpleMediaStream PurpleMediaStream; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
47 /** @copydoc _PurpleMediaClass */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
48 typedef struct _PurpleMediaClass PurpleMediaClass; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
49 /** @copydoc _PurpleMediaPrivate */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
50 typedef struct _PurpleMediaPrivate PurpleMediaPrivate; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
51 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
52 /** The media class */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
53 struct _PurpleMediaClass |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
54 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
55 GObjectClass parent_class; /**< The parent class. */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
56 }; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
57 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
58 /** The media class's private data */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
59 struct _PurpleMedia |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
60 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
61 GObject parent; /**< The parent of this object. */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
62 PurpleMediaPrivate *priv; /**< The private data of this object. */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
63 }; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
64 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
65 struct _PurpleMediaSession |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
66 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
67 gchar *id; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
68 PurpleMedia *media; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
69 PurpleMediaSessionType type; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
70 gboolean initiator; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
71 }; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
72 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
73 struct _PurpleMediaStream |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
74 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
75 PurpleMediaSession *session; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
76 gchar *participant; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
77 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
78 GList *local_candidates; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
79 GList *remote_candidates; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
80 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
81 gboolean initiator; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
82 gboolean accepted; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
83 gboolean candidates_prepared; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
84 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
85 GList *active_local_candidates; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
86 GList *active_remote_candidates; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
87 }; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
88 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
89 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
90 struct _PurpleMediaPrivate |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
91 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
92 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
93 PurpleMediaManager *manager; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
94 PurpleAccount *account; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
95 PurpleMediaBackend *backend; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
96 gchar *conference_type; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
97 gboolean initiator; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
98 gpointer prpl_data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
99 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
100 GHashTable *sessions; /* PurpleMediaSession table */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
101 GList *participants; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
102 GList *streams; /* PurpleMediaStream table */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
103 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
104 gpointer dummy; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
105 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
106 }; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
107 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
108 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
109 #define PURPLE_MEDIA_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), PURPLE_TYPE_MEDIA, PurpleMediaPrivate)) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
110 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
111 static void purple_media_class_init (PurpleMediaClass *klass); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
112 static void purple_media_init (PurpleMedia *media); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
113 static void purple_media_dispose (GObject *object); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
114 static void purple_media_finalize (GObject *object); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
115 static void purple_media_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
116 static void purple_media_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
117 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
118 static void purple_media_new_local_candidate_cb(PurpleMediaBackend *backend, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
119 const gchar *sess_id, const gchar *participant, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
120 PurpleMediaCandidate *candidate, PurpleMedia *media); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
121 static void purple_media_candidates_prepared_cb(PurpleMediaBackend *backend, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
122 const gchar *sess_id, const gchar *name, PurpleMedia *media); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
123 static void purple_media_candidate_pair_established_cb( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
124 PurpleMediaBackend *backend, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
125 const gchar *sess_id, const gchar *name, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
126 PurpleMediaCandidate *local_candidate, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
127 PurpleMediaCandidate *remote_candidate, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
128 PurpleMedia *media); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
129 static void purple_media_codecs_changed_cb(PurpleMediaBackend *backend, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
130 const gchar *sess_id, PurpleMedia *media); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
131 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
132 static GObjectClass *parent_class = NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
133 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
134 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
135 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
136 enum { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
137 S_ERROR, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
138 CANDIDATES_PREPARED, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
139 CODECS_CHANGED, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
140 LEVEL, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
141 NEW_CANDIDATE, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
142 STATE_CHANGED, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
143 STREAM_INFO, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
144 LAST_SIGNAL |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
145 }; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
146 static guint purple_media_signals[LAST_SIGNAL] = {0}; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
147 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
148 enum { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
149 PROP_0, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
150 PROP_MANAGER, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
151 PROP_BACKEND, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
152 PROP_ACCOUNT, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
153 PROP_CONFERENCE_TYPE, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
154 PROP_INITIATOR, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
155 PROP_PRPL_DATA, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
156 }; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
157 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
158 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
159 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
160 GType |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
161 purple_media_get_type() |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
162 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
163 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
164 static GType type = 0; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
165 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
166 if (type == 0) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
167 static const GTypeInfo info = { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
168 sizeof(PurpleMediaClass), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
169 NULL, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
170 NULL, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
171 (GClassInitFunc) purple_media_class_init, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
172 NULL, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
173 NULL, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
174 sizeof(PurpleMedia), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
175 0, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
176 (GInstanceInitFunc) purple_media_init, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
177 NULL |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
178 }; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
179 type = g_type_register_static(G_TYPE_OBJECT, "PurpleMedia", &info, 0); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
180 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
181 return type; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
182 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
183 return G_TYPE_NONE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
184 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
185 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
186 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
187 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
188 static void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
189 purple_media_class_init (PurpleMediaClass *klass) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
190 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
191 GObjectClass *gobject_class = (GObjectClass*)klass; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
192 parent_class = g_type_class_peek_parent(klass); |
31086
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
30439
diff
changeset
|
193 |
29352
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
194 gobject_class->dispose = purple_media_dispose; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
195 gobject_class->finalize = purple_media_finalize; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
196 gobject_class->set_property = purple_media_set_property; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
197 gobject_class->get_property = purple_media_get_property; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
198 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
199 g_object_class_install_property(gobject_class, PROP_MANAGER, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
200 g_param_spec_object("manager", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
201 "Purple Media Manager", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
202 "The media manager that contains this media session.", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
203 PURPLE_TYPE_MEDIA_MANAGER, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
204 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
205 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
206 /* |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
207 * This one should be PURPLE_TYPE_MEDIA_BACKEND, but it doesn't |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
208 * like interfaces because they "aren't GObjects" |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
209 */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
210 g_object_class_install_property(gobject_class, PROP_BACKEND, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
211 g_param_spec_object("backend", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
212 "Purple Media Backend", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
213 "The backend object this media object uses.", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
214 G_TYPE_OBJECT, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
215 G_PARAM_READABLE)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
216 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
217 g_object_class_install_property(gobject_class, PROP_ACCOUNT, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
218 g_param_spec_pointer("account", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
219 "PurpleAccount", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
220 "The account this media session is on.", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
221 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
222 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
223 g_object_class_install_property(gobject_class, PROP_CONFERENCE_TYPE, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
224 g_param_spec_string("conference-type", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
225 "Conference Type", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
226 "The type of conference that this media object " |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
227 "has been created to provide.", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
228 NULL, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
229 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
230 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
231 g_object_class_install_property(gobject_class, PROP_INITIATOR, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
232 g_param_spec_boolean("initiator", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
233 "initiator", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
234 "If the local user initiated the conference.", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
235 FALSE, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
236 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
237 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
238 g_object_class_install_property(gobject_class, PROP_PRPL_DATA, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
239 g_param_spec_pointer("prpl-data", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
240 "gpointer", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
241 "Data the prpl plugin set on the media session.", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
242 G_PARAM_READWRITE)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
243 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
244 purple_media_signals[S_ERROR] = g_signal_new("error", G_TYPE_FROM_CLASS(klass), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
245 G_SIGNAL_RUN_LAST, 0, NULL, NULL, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
246 g_cclosure_marshal_VOID__STRING, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
247 G_TYPE_NONE, 1, G_TYPE_STRING); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
248 purple_media_signals[CANDIDATES_PREPARED] = g_signal_new("candidates-prepared", G_TYPE_FROM_CLASS(klass), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
249 G_SIGNAL_RUN_LAST, 0, NULL, NULL, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
250 purple_smarshal_VOID__STRING_STRING, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
251 G_TYPE_NONE, 2, G_TYPE_STRING, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
252 G_TYPE_STRING); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
253 purple_media_signals[CODECS_CHANGED] = g_signal_new("codecs-changed", G_TYPE_FROM_CLASS(klass), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
254 G_SIGNAL_RUN_LAST, 0, NULL, NULL, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
255 g_cclosure_marshal_VOID__STRING, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
256 G_TYPE_NONE, 1, G_TYPE_STRING); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
257 purple_media_signals[LEVEL] = g_signal_new("level", G_TYPE_FROM_CLASS(klass), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
258 G_SIGNAL_RUN_LAST, 0, NULL, NULL, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
259 purple_smarshal_VOID__STRING_STRING_DOUBLE, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
260 G_TYPE_NONE, 3, G_TYPE_STRING, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
261 G_TYPE_STRING, G_TYPE_DOUBLE); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
262 purple_media_signals[NEW_CANDIDATE] = g_signal_new("new-candidate", G_TYPE_FROM_CLASS(klass), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
263 G_SIGNAL_RUN_LAST, 0, NULL, NULL, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
264 purple_smarshal_VOID__POINTER_POINTER_OBJECT, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
265 G_TYPE_NONE, 3, G_TYPE_POINTER, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
266 G_TYPE_POINTER, PURPLE_TYPE_MEDIA_CANDIDATE); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
267 purple_media_signals[STATE_CHANGED] = g_signal_new("state-changed", G_TYPE_FROM_CLASS(klass), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
268 G_SIGNAL_RUN_LAST, 0, NULL, NULL, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
269 purple_smarshal_VOID__ENUM_STRING_STRING, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
270 G_TYPE_NONE, 3, PURPLE_MEDIA_TYPE_STATE, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
271 G_TYPE_STRING, G_TYPE_STRING); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
272 purple_media_signals[STREAM_INFO] = g_signal_new("stream-info", G_TYPE_FROM_CLASS(klass), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
273 G_SIGNAL_RUN_LAST, 0, NULL, NULL, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
274 purple_smarshal_VOID__ENUM_STRING_STRING_BOOLEAN, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
275 G_TYPE_NONE, 4, PURPLE_MEDIA_TYPE_INFO_TYPE, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
276 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
277 g_type_class_add_private(klass, sizeof(PurpleMediaPrivate)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
278 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
279 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
280 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
281 static void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
282 purple_media_init (PurpleMedia *media) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
283 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
284 media->priv = PURPLE_MEDIA_GET_PRIVATE(media); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
285 memset(media->priv, 0, sizeof(*media->priv)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
286 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
287 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
288 static void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
289 purple_media_stream_free(PurpleMediaStream *stream) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
290 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
291 if (stream == NULL) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
292 return; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
293 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
294 g_free(stream->participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
295 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
296 if (stream->local_candidates) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
297 purple_media_candidate_list_free(stream->local_candidates); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
298 if (stream->remote_candidates) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
299 purple_media_candidate_list_free(stream->remote_candidates); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
300 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
301 if (stream->active_local_candidates) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
302 purple_media_candidate_list_free( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
303 stream->active_local_candidates); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
304 if (stream->active_remote_candidates) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
305 purple_media_candidate_list_free( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
306 stream->active_remote_candidates); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
307 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
308 g_free(stream); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
309 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
310 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
311 static void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
312 purple_media_session_free(PurpleMediaSession *session) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
313 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
314 if (session == NULL) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
315 return; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
316 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
317 g_free(session->id); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
318 g_free(session); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
319 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
320 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
321 static void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
322 purple_media_dispose(GObject *media) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
323 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
324 PurpleMediaPrivate *priv = PURPLE_MEDIA_GET_PRIVATE(media); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
325 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
326 purple_debug_info("media","purple_media_dispose\n"); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
327 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
328 purple_media_manager_remove_media(priv->manager, PURPLE_MEDIA(media)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
329 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
330 if (priv->backend) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
331 g_object_unref(priv->backend); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
332 priv->backend = NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
333 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
334 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
335 if (priv->manager) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
336 g_object_unref(priv->manager); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
337 priv->manager = NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
338 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
339 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
340 G_OBJECT_CLASS(parent_class)->dispose(media); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
341 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
342 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
343 static void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
344 purple_media_finalize(GObject *media) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
345 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
346 PurpleMediaPrivate *priv = PURPLE_MEDIA_GET_PRIVATE(media); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
347 purple_debug_info("media","purple_media_finalize\n"); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
348 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
349 for (; priv->streams; priv->streams = g_list_delete_link(priv->streams, priv->streams)) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
350 purple_media_stream_free(priv->streams->data); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
351 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
352 for (; priv->participants; priv->participants = g_list_delete_link( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
353 priv->participants, priv->participants)) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
354 g_free(priv->participants->data); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
355 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
356 if (priv->sessions) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
357 GList *sessions = g_hash_table_get_values(priv->sessions); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
358 for (; sessions; sessions = g_list_delete_link(sessions, sessions)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
359 purple_media_session_free(sessions->data); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
360 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
361 g_hash_table_destroy(priv->sessions); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
362 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
363 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
364 G_OBJECT_CLASS(parent_class)->finalize(media); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
365 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
366 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
367 static void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
368 purple_media_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
369 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
370 PurpleMedia *media; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
371 g_return_if_fail(PURPLE_IS_MEDIA(object)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
372 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
373 media = PURPLE_MEDIA(object); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
374 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
375 switch (prop_id) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
376 case PROP_MANAGER: |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
377 media->priv->manager = g_value_dup_object(value); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
378 break; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
379 case PROP_ACCOUNT: |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
380 media->priv->account = g_value_get_pointer(value); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
381 break; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
382 case PROP_CONFERENCE_TYPE: |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
383 media->priv->conference_type = |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
384 g_value_dup_string(value); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
385 media->priv->backend = g_object_new( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
386 purple_media_manager_get_backend_type( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
387 purple_media_manager_get()), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
388 "conference-type", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
389 media->priv->conference_type, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
390 "media", media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
391 NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
392 g_signal_connect(media->priv->backend, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
393 "active-candidate-pair", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
394 G_CALLBACK( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
395 purple_media_candidate_pair_established_cb), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
396 media); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
397 g_signal_connect(media->priv->backend, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
398 "candidates-prepared", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
399 G_CALLBACK( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
400 purple_media_candidates_prepared_cb), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
401 media); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
402 g_signal_connect(media->priv->backend, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
403 "codecs-changed", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
404 G_CALLBACK( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
405 purple_media_codecs_changed_cb), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
406 media); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
407 g_signal_connect(media->priv->backend, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
408 "new-candidate", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
409 G_CALLBACK( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
410 purple_media_new_local_candidate_cb), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
411 media); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
412 break; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
413 case PROP_INITIATOR: |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
414 media->priv->initiator = g_value_get_boolean(value); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
415 break; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
416 case PROP_PRPL_DATA: |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
417 media->priv->prpl_data = g_value_get_pointer(value); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
418 break; |
31086
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
30439
diff
changeset
|
419 default: |
29352
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
420 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
421 break; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
422 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
423 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
424 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
425 static void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
426 purple_media_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
427 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
428 PurpleMedia *media; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
429 g_return_if_fail(PURPLE_IS_MEDIA(object)); |
31086
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
30439
diff
changeset
|
430 |
29352
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
431 media = PURPLE_MEDIA(object); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
432 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
433 switch (prop_id) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
434 case PROP_MANAGER: |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
435 g_value_set_object(value, media->priv->manager); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
436 break; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
437 case PROP_BACKEND: |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
438 g_value_set_object(value, media->priv->backend); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
439 break; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
440 case PROP_ACCOUNT: |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
441 g_value_set_pointer(value, media->priv->account); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
442 break; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
443 case PROP_CONFERENCE_TYPE: |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
444 g_value_set_string(value, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
445 media->priv->conference_type); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
446 break; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
447 case PROP_INITIATOR: |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
448 g_value_set_boolean(value, media->priv->initiator); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
449 break; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
450 case PROP_PRPL_DATA: |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
451 g_value_set_pointer(value, media->priv->prpl_data); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
452 break; |
31086
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
30439
diff
changeset
|
453 default: |
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
30439
diff
changeset
|
454 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); |
29352
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
455 break; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
456 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
457 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
458 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
459 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
460 static PurpleMediaSession* |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
461 purple_media_get_session(PurpleMedia *media, const gchar *sess_id) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
462 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
463 g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
464 return (PurpleMediaSession*) (media->priv->sessions) ? |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
465 g_hash_table_lookup(media->priv->sessions, sess_id) : NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
466 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
467 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
468 static PurpleMediaStream* |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
469 purple_media_get_stream(PurpleMedia *media, const gchar *session, const gchar *participant) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
470 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
471 GList *streams; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
472 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
473 g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
474 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
475 streams = media->priv->streams; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
476 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
477 for (; streams; streams = g_list_next(streams)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
478 PurpleMediaStream *stream = streams->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
479 if (!strcmp(stream->session->id, session) && |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
480 !strcmp(stream->participant, participant)) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
481 return stream; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
482 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
483 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
484 return NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
485 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
486 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
487 static GList * |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
488 purple_media_get_streams(PurpleMedia *media, const gchar *session, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
489 const gchar *participant) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
490 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
491 GList *streams; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
492 GList *ret = NULL; |
31086
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
30439
diff
changeset
|
493 |
29352
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
494 g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
495 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
496 streams = media->priv->streams; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
497 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
498 for (; streams; streams = g_list_next(streams)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
499 PurpleMediaStream *stream = streams->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
500 if ((session == NULL || |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
501 !strcmp(stream->session->id, session)) && |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
502 (participant == NULL || |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
503 !strcmp(stream->participant, participant))) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
504 ret = g_list_append(ret, stream); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
505 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
506 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
507 return ret; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
508 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
509 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
510 static void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
511 purple_media_add_session(PurpleMedia *media, PurpleMediaSession *session) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
512 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
513 g_return_if_fail(PURPLE_IS_MEDIA(media)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
514 g_return_if_fail(session != NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
515 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
516 if (!media->priv->sessions) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
517 purple_debug_info("media", "Creating hash table for sessions\n"); |
30439 | 518 media->priv->sessions = g_hash_table_new_full(g_str_hash, g_str_equal, |
519 g_free, NULL); | |
29352
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
520 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
521 g_hash_table_insert(media->priv->sessions, g_strdup(session->id), session); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
522 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
523 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
524 #if 0 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
525 static gboolean |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
526 purple_media_remove_session(PurpleMedia *media, PurpleMediaSession *session) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
527 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
528 g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
529 return g_hash_table_remove(media->priv->sessions, session->id); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
530 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
531 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
532 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
533 static PurpleMediaStream * |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
534 purple_media_insert_stream(PurpleMediaSession *session, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
535 const gchar *name, gboolean initiator) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
536 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
537 PurpleMediaStream *media_stream; |
31086
a8cc50c2279f
Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents:
30439
diff
changeset
|
538 |
29352
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
539 g_return_val_if_fail(session != NULL, NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
540 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
541 media_stream = g_new0(PurpleMediaStream, 1); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
542 media_stream->participant = g_strdup(name); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
543 media_stream->session = session; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
544 media_stream->initiator = initiator; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
545 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
546 session->media->priv->streams = |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
547 g_list_append(session->media->priv->streams, media_stream); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
548 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
549 return media_stream; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
550 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
551 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
552 static void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
553 purple_media_insert_local_candidate(PurpleMediaSession *session, const gchar *name, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
554 PurpleMediaCandidate *candidate) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
555 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
556 PurpleMediaStream *stream; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
557 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
558 g_return_if_fail(session != NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
559 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
560 stream = purple_media_get_stream(session->media, session->id, name); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
561 stream->local_candidates = g_list_append(stream->local_candidates, candidate); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
562 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
563 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
564 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
565 GList * |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
566 purple_media_get_session_ids(PurpleMedia *media) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
567 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
568 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
569 g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
570 return media->priv->sessions != NULL ? |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
571 g_hash_table_get_keys(media->priv->sessions) : NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
572 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
573 return NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
574 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
575 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
576 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
577 #ifdef USE_GSTREAMER |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
578 GstElement * |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
579 purple_media_get_src(PurpleMedia *media, const gchar *sess_id) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
580 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
581 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
582 g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
583 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
584 if (PURPLE_IS_MEDIA_BACKEND_FS2(media->priv->backend)) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
585 return purple_media_backend_fs2_get_src( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
586 PURPLE_MEDIA_BACKEND_FS2( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
587 media->priv->backend), sess_id); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
588 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
589 g_return_val_if_reached(NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
590 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
591 return NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
592 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
593 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
594 #endif /* USE_GSTREAMER */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
595 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
596 PurpleAccount * |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
597 purple_media_get_account(PurpleMedia *media) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
598 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
599 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
600 PurpleAccount *account; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
601 g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
602 g_object_get(G_OBJECT(media), "account", &account, NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
603 return account; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
604 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
605 return NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
606 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
607 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
608 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
609 gpointer |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
610 purple_media_get_prpl_data(PurpleMedia *media) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
611 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
612 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
613 gpointer prpl_data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
614 g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
615 g_object_get(G_OBJECT(media), "prpl-data", &prpl_data, NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
616 return prpl_data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
617 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
618 return NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
619 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
620 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
621 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
622 void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
623 purple_media_set_prpl_data(PurpleMedia *media, gpointer prpl_data) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
624 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
625 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
626 g_return_if_fail(PURPLE_IS_MEDIA(media)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
627 g_object_set(G_OBJECT(media), "prpl-data", prpl_data, NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
628 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
629 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
630 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
631 void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
632 purple_media_error(PurpleMedia *media, const gchar *error, ...) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
633 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
634 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
635 va_list args; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
636 gchar *message; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
637 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
638 g_return_if_fail(PURPLE_IS_MEDIA(media)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
639 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
640 va_start(args, error); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
641 message = g_strdup_vprintf(error, args); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
642 va_end(args); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
643 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
644 purple_debug_error("media", "%s\n", message); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
645 g_signal_emit(media, purple_media_signals[S_ERROR], 0, message); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
646 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
647 g_free(message); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
648 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
649 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
650 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
651 void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
652 purple_media_end(PurpleMedia *media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
653 const gchar *session_id, const gchar *participant) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
654 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
655 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
656 GList *iter, *sessions = NULL, *participants = NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
657 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
658 g_return_if_fail(PURPLE_IS_MEDIA(media)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
659 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
660 iter = purple_media_get_streams(media, session_id, participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
661 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
662 /* Free matching streams */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
663 for (; iter; iter = g_list_delete_link(iter, iter)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
664 PurpleMediaStream *stream = iter->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
665 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
666 g_signal_emit(media, purple_media_signals[STATE_CHANGED], |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
667 0, PURPLE_MEDIA_STATE_END, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
668 stream->session->id, stream->participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
669 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
670 media->priv->streams = |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
671 g_list_remove(media->priv->streams, stream); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
672 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
673 if (g_list_find(sessions, stream->session) == NULL) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
674 sessions = g_list_prepend(sessions, stream->session); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
675 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
676 if (g_list_find_custom(participants, stream->participant, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
677 (GCompareFunc)strcmp) == NULL) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
678 participants = g_list_prepend(participants, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
679 g_strdup(stream->participant)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
680 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
681 purple_media_stream_free(stream); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
682 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
683 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
684 iter = media->priv->streams; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
685 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
686 /* Reduce to list of sessions to remove */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
687 for (; iter; iter = g_list_next(iter)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
688 PurpleMediaStream *stream = iter->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
689 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
690 sessions = g_list_remove(sessions, stream->session); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
691 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
692 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
693 /* Free sessions with no streams left */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
694 for (; sessions; sessions = g_list_delete_link(sessions, sessions)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
695 PurpleMediaSession *session = sessions->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
696 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
697 g_signal_emit(media, purple_media_signals[STATE_CHANGED], |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
698 0, PURPLE_MEDIA_STATE_END, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
699 session->id, NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
700 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
701 g_hash_table_remove(media->priv->sessions, session->id); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
702 purple_media_session_free(session); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
703 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
704 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
705 iter = media->priv->streams; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
706 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
707 /* Reduce to list of participants to remove */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
708 for (; iter; iter = g_list_next(iter)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
709 PurpleMediaStream *stream = iter->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
710 GList *tmp; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
711 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
712 tmp = g_list_find_custom(participants, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
713 stream->participant, (GCompareFunc)strcmp); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
714 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
715 if (tmp != NULL) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
716 g_free(tmp->data); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
717 participants = g_list_delete_link(participants, tmp); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
718 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
719 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
720 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
721 /* Remove participants with no streams left (just emit the signal) */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
722 for (; participants; participants = |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
723 g_list_delete_link(participants, participants)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
724 gchar *participant = participants->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
725 GList *link = g_list_find_custom(media->priv->participants, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
726 participant, (GCompareFunc)strcmp); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
727 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
728 g_signal_emit(media, purple_media_signals[STATE_CHANGED], |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
729 0, PURPLE_MEDIA_STATE_END, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
730 NULL, participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
731 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
732 if (link != NULL) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
733 g_free(link->data); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
734 media->priv->participants = g_list_delete_link( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
735 media->priv->participants, link); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
736 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
737 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
738 g_free(participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
739 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
740 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
741 /* Free the conference if no sessions left */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
742 if (media->priv->sessions != NULL && |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
743 g_hash_table_size(media->priv->sessions) == 0) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
744 g_signal_emit(media, purple_media_signals[STATE_CHANGED], |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
745 0, PURPLE_MEDIA_STATE_END, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
746 NULL, NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
747 g_object_unref(media); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
748 return; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
749 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
750 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
751 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
752 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
753 void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
754 purple_media_stream_info(PurpleMedia *media, PurpleMediaInfoType type, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
755 const gchar *session_id, const gchar *participant, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
756 gboolean local) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
757 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
758 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
759 g_return_if_fail(PURPLE_IS_MEDIA(media)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
760 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
761 if (type == PURPLE_MEDIA_INFO_ACCEPT) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
762 GList *streams, *sessions = NULL, *participants = NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
763 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
764 g_return_if_fail(PURPLE_IS_MEDIA(media)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
765 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
766 streams = purple_media_get_streams(media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
767 session_id, participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
768 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
769 /* Emit stream acceptance */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
770 for (; streams; streams = |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
771 g_list_delete_link(streams, streams)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
772 PurpleMediaStream *stream = streams->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
773 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
774 stream->accepted = TRUE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
775 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
776 g_signal_emit(media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
777 purple_media_signals[STREAM_INFO], |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
778 0, type, stream->session->id, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
779 stream->participant, local); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
780 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
781 if (g_list_find(sessions, stream->session) == NULL) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
782 sessions = g_list_prepend(sessions, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
783 stream->session); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
784 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
785 if (g_list_find_custom(participants, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
786 stream->participant, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
787 (GCompareFunc)strcmp) == NULL) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
788 participants = g_list_prepend(participants, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
789 g_strdup(stream->participant)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
790 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
791 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
792 /* Emit session acceptance */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
793 for (; sessions; sessions = |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
794 g_list_delete_link(sessions, sessions)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
795 PurpleMediaSession *session = sessions->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
796 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
797 if (purple_media_accepted(media, session->id, NULL)) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
798 g_signal_emit(media, purple_media_signals[ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
799 STREAM_INFO], 0, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
800 PURPLE_MEDIA_INFO_ACCEPT, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
801 session->id, NULL, local); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
802 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
803 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
804 /* Emit participant acceptance */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
805 for (; participants; participants = g_list_delete_link( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
806 participants, participants)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
807 gchar *participant = participants->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
808 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
809 if (purple_media_accepted(media, NULL, participant)) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
810 g_signal_emit(media, purple_media_signals[ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
811 STREAM_INFO], 0, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
812 PURPLE_MEDIA_INFO_ACCEPT, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
813 NULL, participant, local); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
814 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
815 g_free(participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
816 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
817 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
818 /* Emit conference acceptance */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
819 if (purple_media_accepted(media, NULL, NULL)) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
820 g_signal_emit(media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
821 purple_media_signals[STREAM_INFO], |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
822 0, PURPLE_MEDIA_INFO_ACCEPT, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
823 NULL, NULL, local); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
824 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
825 return; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
826 } else if (type == PURPLE_MEDIA_INFO_HANGUP || |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
827 type == PURPLE_MEDIA_INFO_REJECT) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
828 GList *streams; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
829 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
830 g_return_if_fail(PURPLE_IS_MEDIA(media)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
831 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
832 streams = purple_media_get_streams(media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
833 session_id, participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
834 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
835 /* Emit for stream */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
836 for (; streams; streams = |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
837 g_list_delete_link(streams, streams)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
838 PurpleMediaStream *stream = streams->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
839 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
840 g_signal_emit(media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
841 purple_media_signals[STREAM_INFO], |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
842 0, type, stream->session->id, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
843 stream->participant, local); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
844 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
845 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
846 if (session_id != NULL && participant != NULL) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
847 /* Everything that needs to be emitted has been */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
848 } else if (session_id == NULL && participant == NULL) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
849 /* Emit for everything in the conference */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
850 GList *sessions = NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
851 GList *participants = media->priv->participants; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
852 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
853 if (media->priv->sessions != NULL) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
854 sessions = g_hash_table_get_values( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
855 media->priv->sessions); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
856 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
857 /* Emit for sessions */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
858 for (; sessions; sessions = g_list_delete_link( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
859 sessions, sessions)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
860 PurpleMediaSession *session = sessions->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
861 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
862 g_signal_emit(media, purple_media_signals[ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
863 STREAM_INFO], 0, type, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
864 session->id, NULL, local); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
865 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
866 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
867 /* Emit for participants */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
868 for (; participants; participants = |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
869 g_list_next(participants)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
870 gchar *participant = participants->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
871 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
872 g_signal_emit(media, purple_media_signals[ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
873 STREAM_INFO], 0, type, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
874 NULL, participant, local); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
875 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
876 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
877 /* Emit for conference */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
878 g_signal_emit(media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
879 purple_media_signals[STREAM_INFO], |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
880 0, type, NULL, NULL, local); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
881 } else if (session_id != NULL) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
882 /* Emit just the specific session */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
883 PurpleMediaSession *session = |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
884 purple_media_get_session( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
885 media, session_id); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
886 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
887 if (session == NULL) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
888 purple_debug_warning("media", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
889 "Couldn't find session" |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
890 " to hangup/reject.\n"); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
891 } else { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
892 g_signal_emit(media, purple_media_signals[ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
893 STREAM_INFO], 0, type, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
894 session->id, NULL, local); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
895 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
896 } else if (participant != NULL) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
897 /* Emit just the specific participant */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
898 if (!g_list_find_custom(media->priv->participants, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
899 participant, (GCompareFunc)strcmp)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
900 purple_debug_warning("media", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
901 "Couldn't find participant" |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
902 " to hangup/reject.\n"); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
903 } else { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
904 g_signal_emit(media, purple_media_signals[ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
905 STREAM_INFO], 0, type, NULL, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
906 participant, local); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
907 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
908 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
909 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
910 purple_media_end(media, session_id, participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
911 return; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
912 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
913 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
914 g_signal_emit(media, purple_media_signals[STREAM_INFO], |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
915 0, type, session_id, participant, local); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
916 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
917 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
918 |
31517
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
919 void |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
920 purple_media_set_params(PurpleMedia *media, |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
921 guint num_params, GParameter *params) |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
922 { |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
923 #ifdef USE_VV |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
924 g_return_if_fail(PURPLE_IS_MEDIA(media)); |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
925 |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
926 purple_media_backend_set_params(media->priv->backend, num_params, params); |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
927 #endif |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
928 } |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
929 |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
930 const gchar ** |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
931 purple_media_get_available_params(PurpleMedia *media) |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
932 { |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
933 static const gchar *NULL_ARRAY[] = { NULL }; |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
934 #ifdef USE_VV |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
935 g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL_ARRAY); |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
936 |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
937 return purple_media_backend_get_available_params(media->priv->backend); |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
938 #else |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
939 return NULL_ARRAY; |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
940 #endif |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
941 } |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
942 |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
943 gboolean |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
944 purple_media_param_is_supported(PurpleMedia *media, const gchar *param) |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
945 { |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
946 #ifdef USE_VV |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
947 const gchar **params; |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
948 |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
949 g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
950 g_return_val_if_fail(param != NULL, FALSE); |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
951 |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
952 params = purple_media_backend_get_available_params(media->priv->backend); |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
953 for (; *params != NULL; ++params) |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
954 if (!strcmp(*params, param)) |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
955 return TRUE; |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
956 #endif |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
957 return FALSE; |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
958 } |
a4ba3b194ce3
media: Allow setting SDES properties of RTP conferences. Fixes #12981.
jakub.adam@ktknet.cz
parents:
31364
diff
changeset
|
959 |
29352
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
960 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
961 static void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
962 purple_media_new_local_candidate_cb(PurpleMediaBackend *backend, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
963 const gchar *sess_id, const gchar *participant, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
964 PurpleMediaCandidate *candidate, PurpleMedia *media) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
965 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
966 PurpleMediaSession *session = |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
967 purple_media_get_session(media, sess_id); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
968 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
969 purple_media_insert_local_candidate(session, participant, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
970 purple_media_candidate_copy(candidate)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
971 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
972 g_signal_emit(session->media, purple_media_signals[NEW_CANDIDATE], |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
973 0, session->id, participant, candidate); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
974 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
975 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
976 static void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
977 purple_media_candidates_prepared_cb(PurpleMediaBackend *backend, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
978 const gchar *sess_id, const gchar *name, PurpleMedia *media) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
979 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
980 PurpleMediaStream *stream_data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
981 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
982 g_return_if_fail(PURPLE_IS_MEDIA(media)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
983 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
984 stream_data = purple_media_get_stream(media, sess_id, name); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
985 stream_data->candidates_prepared = TRUE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
986 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
987 g_signal_emit(media, purple_media_signals[CANDIDATES_PREPARED], |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
988 0, sess_id, name); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
989 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
990 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
991 /* callback called when a pair of transport candidates (local and remote) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
992 * has been established */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
993 static void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
994 purple_media_candidate_pair_established_cb(PurpleMediaBackend *backend, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
995 const gchar *sess_id, const gchar *name, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
996 PurpleMediaCandidate *local_candidate, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
997 PurpleMediaCandidate *remote_candidate, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
998 PurpleMedia *media) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
999 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1000 PurpleMediaStream *stream; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1001 GList *iter; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1002 guint id; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1003 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1004 g_return_if_fail(PURPLE_IS_MEDIA(media)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1005 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1006 stream = purple_media_get_stream(media, sess_id, name); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1007 id = purple_media_candidate_get_component_id(local_candidate); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1008 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1009 iter = stream->active_local_candidates; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1010 for(; iter; iter = g_list_next(iter)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1011 PurpleMediaCandidate *c = iter->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1012 if (id == purple_media_candidate_get_component_id(c)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1013 g_object_unref(c); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1014 stream->active_local_candidates = |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1015 g_list_delete_link(iter, iter); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1016 stream->active_local_candidates = g_list_prepend( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1017 stream->active_local_candidates, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1018 purple_media_candidate_copy( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1019 local_candidate)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1020 break; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1021 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1022 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1023 if (iter == NULL) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1024 stream->active_local_candidates = g_list_prepend( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1025 stream->active_local_candidates, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1026 purple_media_candidate_copy( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1027 local_candidate)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1028 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1029 id = purple_media_candidate_get_component_id(local_candidate); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1030 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1031 iter = stream->active_remote_candidates; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1032 for(; iter; iter = g_list_next(iter)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1033 PurpleMediaCandidate *c = iter->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1034 if (id == purple_media_candidate_get_component_id(c)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1035 g_object_unref(c); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1036 stream->active_remote_candidates = |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1037 g_list_delete_link(iter, iter); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1038 stream->active_remote_candidates = g_list_prepend( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1039 stream->active_remote_candidates, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1040 purple_media_candidate_copy( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1041 remote_candidate)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1042 break; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1043 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1044 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1045 if (iter == NULL) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1046 stream->active_remote_candidates = g_list_prepend( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1047 stream->active_remote_candidates, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1048 purple_media_candidate_copy( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1049 remote_candidate)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1050 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1051 purple_debug_info("media", "candidate pair established\n"); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1052 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1053 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1054 static void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1055 purple_media_codecs_changed_cb(PurpleMediaBackend *backend, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1056 const gchar *sess_id, PurpleMedia *media) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1057 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1058 g_signal_emit(media, purple_media_signals[CODECS_CHANGED], 0, sess_id); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1059 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1060 #endif /* USE_VV */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1061 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1062 gboolean |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1063 purple_media_add_stream(PurpleMedia *media, const gchar *sess_id, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1064 const gchar *who, PurpleMediaSessionType type, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1065 gboolean initiator, const gchar *transmitter, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1066 guint num_params, GParameter *params) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1067 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1068 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1069 PurpleMediaSession *session; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1070 PurpleMediaStream *stream = NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1071 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1072 g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1073 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1074 if (!purple_media_backend_add_stream(media->priv->backend, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1075 sess_id, who, type, initiator, transmitter, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1076 num_params, params)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1077 purple_debug_error("media", "Error adding stream.\n"); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1078 return FALSE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1079 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1080 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1081 session = purple_media_get_session(media, sess_id); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1082 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1083 if (!session) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1084 session = g_new0(PurpleMediaSession, 1); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1085 session->id = g_strdup(sess_id); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1086 session->media = media; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1087 session->type = type; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1088 session->initiator = initiator; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1089 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1090 purple_media_add_session(media, session); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1091 g_signal_emit(media, purple_media_signals[STATE_CHANGED], |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1092 0, PURPLE_MEDIA_STATE_NEW, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1093 session->id, NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1094 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1095 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1096 if (!g_list_find_custom(media->priv->participants, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1097 who, (GCompareFunc)strcmp)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1098 media->priv->participants = g_list_prepend( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1099 media->priv->participants, g_strdup(who)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1100 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1101 g_signal_emit_by_name(media, "state-changed", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1102 PURPLE_MEDIA_STATE_NEW, NULL, who); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1103 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1104 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1105 if (purple_media_get_stream(media, sess_id, who) == NULL) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1106 stream = purple_media_insert_stream(session, who, initiator); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1107 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1108 g_signal_emit(media, purple_media_signals[STATE_CHANGED], |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1109 0, PURPLE_MEDIA_STATE_NEW, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1110 session->id, who); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1111 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1112 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1113 return TRUE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1114 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1115 return FALSE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1116 #endif /* USE_VV */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1117 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1118 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1119 PurpleMediaManager * |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1120 purple_media_get_manager(PurpleMedia *media) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1121 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1122 PurpleMediaManager *ret; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1123 g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1124 g_object_get(media, "manager", &ret, NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1125 return ret; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1126 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1127 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1128 PurpleMediaSessionType |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1129 purple_media_get_session_type(PurpleMedia *media, const gchar *sess_id) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1130 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1131 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1132 PurpleMediaSession *session; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1133 g_return_val_if_fail(PURPLE_IS_MEDIA(media), PURPLE_MEDIA_NONE); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1134 session = purple_media_get_session(media, sess_id); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1135 return session->type; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1136 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1137 return PURPLE_MEDIA_NONE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1138 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1139 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1140 /* XXX: Should wait until codecs-ready is TRUE before using this function */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1141 GList * |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1142 purple_media_get_codecs(PurpleMedia *media, const gchar *sess_id) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1143 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1144 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1145 g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1146 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1147 return purple_media_backend_get_codecs(media->priv->backend, sess_id); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1148 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1149 return NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1150 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1151 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1152 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1153 GList * |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1154 purple_media_get_local_candidates(PurpleMedia *media, const gchar *sess_id, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1155 const gchar *participant) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1156 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1157 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1158 g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1159 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1160 return purple_media_backend_get_local_candidates(media->priv->backend, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1161 sess_id, participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1162 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1163 return NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1164 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1165 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1166 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1167 void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1168 purple_media_add_remote_candidates(PurpleMedia *media, const gchar *sess_id, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1169 const gchar *participant, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1170 GList *remote_candidates) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1171 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1172 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1173 PurpleMediaStream *stream; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1174 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1175 g_return_if_fail(PURPLE_IS_MEDIA(media)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1176 stream = purple_media_get_stream(media, sess_id, participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1177 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1178 if (stream == NULL) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1179 purple_debug_error("media", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1180 "purple_media_add_remote_candidates: " |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1181 "couldn't find stream %s %s.\n", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1182 sess_id ? sess_id : "(null)", |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1183 participant ? participant : "(null)"); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1184 return; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1185 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1186 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1187 stream->remote_candidates = g_list_concat(stream->remote_candidates, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1188 purple_media_candidate_list_copy(remote_candidates)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1189 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1190 purple_media_backend_add_remote_candidates(media->priv->backend, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1191 sess_id, participant, remote_candidates); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1192 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1193 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1194 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1195 GList * |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1196 purple_media_get_active_local_candidates(PurpleMedia *media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1197 const gchar *sess_id, const gchar *participant) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1198 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1199 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1200 PurpleMediaStream *stream; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1201 g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1202 stream = purple_media_get_stream(media, sess_id, participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1203 return purple_media_candidate_list_copy( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1204 stream->active_local_candidates); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1205 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1206 return NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1207 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1208 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1209 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1210 GList * |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1211 purple_media_get_active_remote_candidates(PurpleMedia *media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1212 const gchar *sess_id, const gchar *participant) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1213 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1214 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1215 PurpleMediaStream *stream; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1216 g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1217 stream = purple_media_get_stream(media, sess_id, participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1218 return purple_media_candidate_list_copy( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1219 stream->active_remote_candidates); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1220 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1221 return NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1222 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1223 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1224 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1225 gboolean |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1226 purple_media_set_remote_codecs(PurpleMedia *media, const gchar *sess_id, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1227 const gchar *participant, GList *codecs) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1228 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1229 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1230 g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1231 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1232 return purple_media_backend_set_remote_codecs(media->priv->backend, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1233 sess_id, participant, codecs); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1234 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1235 return FALSE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1236 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1237 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1238 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1239 gboolean |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1240 purple_media_candidates_prepared(PurpleMedia *media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1241 const gchar *session_id, const gchar *participant) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1242 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1243 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1244 GList *streams; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1245 gboolean prepared = TRUE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1246 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1247 g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1248 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1249 streams = purple_media_get_streams(media, session_id, participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1250 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1251 for (; streams; streams = g_list_delete_link(streams, streams)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1252 PurpleMediaStream *stream = streams->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1253 if (stream->candidates_prepared == FALSE) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1254 g_list_free(streams); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1255 prepared = FALSE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1256 break; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1257 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1258 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1259 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1260 return prepared; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1261 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1262 return FALSE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1263 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1264 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1265 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1266 gboolean |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1267 purple_media_set_send_codec(PurpleMedia *media, const gchar *sess_id, PurpleMediaCodec *codec) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1268 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1269 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1270 g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1271 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1272 return purple_media_backend_set_send_codec( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1273 media->priv->backend, sess_id, codec); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1274 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1275 return FALSE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1276 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1277 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1278 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1279 gboolean |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1280 purple_media_codecs_ready(PurpleMedia *media, const gchar *sess_id) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1281 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1282 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1283 g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1284 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1285 return purple_media_backend_codecs_ready( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1286 media->priv->backend, sess_id); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1287 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1288 return FALSE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1289 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1290 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1291 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1292 gboolean |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1293 purple_media_is_initiator(PurpleMedia *media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1294 const gchar *sess_id, const gchar *participant) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1295 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1296 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1297 g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1298 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1299 if (sess_id == NULL && participant == NULL) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1300 return media->priv->initiator; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1301 else if (sess_id != NULL && participant == NULL) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1302 PurpleMediaSession *session = |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1303 purple_media_get_session(media, sess_id); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1304 return session != NULL ? session->initiator : FALSE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1305 } else if (sess_id != NULL && participant != NULL) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1306 PurpleMediaStream *stream = purple_media_get_stream( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1307 media, sess_id, participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1308 return stream != NULL ? stream->initiator : FALSE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1309 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1310 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1311 return FALSE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1312 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1313 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1314 gboolean |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1315 purple_media_accepted(PurpleMedia *media, const gchar *sess_id, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1316 const gchar *participant) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1317 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1318 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1319 gboolean accepted = TRUE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1320 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1321 g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1322 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1323 if (sess_id == NULL && participant == NULL) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1324 GList *streams = media->priv->streams; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1325 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1326 for (; streams; streams = g_list_next(streams)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1327 PurpleMediaStream *stream = streams->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1328 if (stream->accepted == FALSE) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1329 accepted = FALSE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1330 break; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1331 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1332 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1333 } else if (sess_id != NULL && participant == NULL) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1334 GList *streams = purple_media_get_streams( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1335 media, sess_id, NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1336 for (; streams; streams = |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1337 g_list_delete_link(streams, streams)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1338 PurpleMediaStream *stream = streams->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1339 if (stream->accepted == FALSE) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1340 g_list_free(streams); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1341 accepted = FALSE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1342 break; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1343 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1344 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1345 } else if (sess_id != NULL && participant != NULL) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1346 PurpleMediaStream *stream = purple_media_get_stream( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1347 media, sess_id, participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1348 if (stream == NULL || stream->accepted == FALSE) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1349 accepted = FALSE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1350 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1351 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1352 return accepted; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1353 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1354 return FALSE; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1355 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1356 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1357 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1358 void purple_media_set_input_volume(PurpleMedia *media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1359 const gchar *session_id, double level) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1360 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1361 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1362 g_return_if_fail(PURPLE_IS_MEDIA(media)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1363 g_return_if_fail(PURPLE_IS_MEDIA_BACKEND_FS2(media->priv->backend)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1364 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1365 purple_media_backend_fs2_set_input_volume( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1366 PURPLE_MEDIA_BACKEND_FS2( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1367 media->priv->backend), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1368 session_id, level); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1369 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1370 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1371 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1372 void purple_media_set_output_volume(PurpleMedia *media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1373 const gchar *session_id, const gchar *participant, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1374 double level) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1375 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1376 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1377 g_return_if_fail(PURPLE_IS_MEDIA(media)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1378 g_return_if_fail(PURPLE_IS_MEDIA_BACKEND_FS2(media->priv->backend)); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1379 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1380 purple_media_backend_fs2_set_output_volume( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1381 PURPLE_MEDIA_BACKEND_FS2( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1382 media->priv->backend), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1383 session_id, participant, level); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1384 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1385 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1386 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1387 gulong |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1388 purple_media_set_output_window(PurpleMedia *media, const gchar *session_id, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1389 const gchar *participant, gulong window_id) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1390 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1391 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1392 g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1393 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1394 return purple_media_manager_set_output_window(media->priv->manager, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1395 media, session_id, participant, window_id); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1396 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1397 return 0; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1398 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1399 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1400 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1401 void |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1402 purple_media_remove_output_windows(PurpleMedia *media) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1403 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1404 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1405 GList *iter = media->priv->streams; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1406 for (; iter; iter = g_list_next(iter)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1407 PurpleMediaStream *stream = iter->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1408 purple_media_manager_remove_output_windows( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1409 media->priv->manager, media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1410 stream->session->id, stream->participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1411 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1412 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1413 iter = purple_media_get_session_ids(media); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1414 for (; iter; iter = g_list_delete_link(iter, iter)) { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1415 gchar *session_name = iter->data; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1416 purple_media_manager_remove_output_windows( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1417 media->priv->manager, media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1418 session_name, NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1419 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1420 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1421 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1422 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1423 #ifdef USE_GSTREAMER |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1424 GstElement * |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1425 purple_media_get_tee(PurpleMedia *media, |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1426 const gchar *session_id, const gchar *participant) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1427 { |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1428 #ifdef USE_VV |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1429 g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1430 |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1431 if (PURPLE_IS_MEDIA_BACKEND_FS2(media->priv->backend)) |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1432 return purple_media_backend_fs2_get_tee( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1433 PURPLE_MEDIA_BACKEND_FS2( |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1434 media->priv->backend), |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1435 session_id, participant); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1436 g_return_val_if_reached(NULL); |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1437 #else |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1438 return NULL; |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1439 #endif |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1440 } |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1441 #endif /* USE_GSTREAMER */ |
419415a431e1
Move libpurple/media/media.c to libpurple/media.c.
Paul Aurich <paul@darkrain42.org>
parents:
diff
changeset
|
1442 |