annotate finch/gntmedia.c @ 28525:13e668ef158d

jabber: did someone say something about the end of the struct? Not sure what the original thinking was there (other than to have JabberStream be part of the public API?), but this is no longer accurate.
author Paul Aurich <paul@darkrain42.org>
date Sat, 07 Nov 2009 04:41:04 +0000
parents 901476dc70b9
children 259bbfb423d4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
1 /**
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
2 * @file gntmedia.c GNT Media API
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
3 * @ingroup finch
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
4 */
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
5
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
6 /* finch
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
7 *
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
8 * Finch is the legal property of its developers, whose names are too numerous
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
9 * to list here. Please refer to the COPYRIGHT file distributed with this
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
10 * source distribution.
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
11 *
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
12 * This program is free software; you can redistribute it and/or modify
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
13 * it under the terms of the GNU General Public License as published by
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
14 * the Free Software Foundation; either version 2 of the License, or
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
15 * (at your option) any later version.
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
16 *
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
17 * This program is distributed in the hope that it will be useful,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
20 * GNU General Public License for more details.
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
21 *
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
22 * You should have received a copy of the GNU General Public License
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
23 * along with this program; if not, write to the Free Software
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
25 */
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
26
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
27 #include "finch.h"
27623
2cd9560f9795 I blame Qulogic for not compiling with vv
Ka-Hing Cheung <khc@hxbc.us>
parents: 26539
diff changeset
28 #include <internal.h>
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
29 #include "gntconv.h"
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
30 #include "gntmedia.h"
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
31
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
32 #include "gnt.h"
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
33 #include "gntbutton.h"
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
34 #include "gntbox.h"
23794
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
35 #include "gntlabel.h"
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
36
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
37 #include "cmds.h"
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
38 #include "conversation.h"
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
39 #include "debug.h"
26349
1ae3af12095a Move GStreamer related media functions into its own header.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26344
diff changeset
40 #include "mediamanager.h"
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
41
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
42 /* An incredibly large part of the following is from gtkmedia.c */
23804
cbe97caec684 Use USE_VV instead of USE_FARSIGHT.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23800
diff changeset
43 #ifdef USE_VV
26539
4f2f5659aa0d Fix build with --disable-gstreamer.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26524
diff changeset
44 #include "media-gst.h"
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
45
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
46 #undef hangup
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
47
26376
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
48 #define FINCH_TYPE_MEDIA (finch_media_get_type())
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
49 #define FINCH_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), FINCH_TYPE_MEDIA, FinchMedia))
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
50 #define FINCH_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), FINCH_TYPE_MEDIA, FinchMediaClass))
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
51 #define FINCH_IS_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), FINCH_TYPE_MEDIA))
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
52 #define FINCH_IS_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), FINCH_TYPE_MEDIA))
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
53 #define FINCH_MEDIA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), FINCH_TYPE_MEDIA, FinchMediaClass))
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
54
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
55 typedef struct _FinchMedia FinchMedia;
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
56 typedef struct _FinchMediaClass FinchMediaClass;
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
57 typedef struct _FinchMediaPrivate FinchMediaPrivate;
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
58 typedef enum _FinchMediaState FinchMediaState;
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
59
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
60 struct _FinchMediaClass
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
61 {
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
62 GntBoxClass parent_class;
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
63 };
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
64
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
65 struct _FinchMedia
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
66 {
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
67 GntBox parent;
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
68 FinchMediaPrivate *priv;
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
69 };
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
70
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
71 struct _FinchMediaPrivate
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
72 {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
73 PurpleMedia *media;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
74
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
75 GntWidget *accept;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
76 GntWidget *reject;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
77 GntWidget *hangup;
23794
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
78 GntWidget *calling;
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
79
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
80 PurpleConversation *conv;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
81 };
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
82
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
83 #define FINCH_MEDIA_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), FINCH_TYPE_MEDIA, FinchMediaPrivate))
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
84
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
85 static void finch_media_class_init (FinchMediaClass *klass);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
86 static void finch_media_init (FinchMedia *media);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
87 static void finch_media_finalize (GObject *object);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
88 static void finch_media_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
89 static void finch_media_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
90
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
91 static GntBoxClass *parent_class = NULL;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
92
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
93 enum {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
94 MESSAGE,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
95 LAST_SIGNAL
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
96 };
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
97 static guint finch_media_signals[LAST_SIGNAL] = {0};
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
98
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
99 enum {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
100 PROP_0,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
101 PROP_MEDIA,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
102 };
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
103
26378
e9e9ec08e87c Silence two more warnings.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26376
diff changeset
104 static GType
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
105 finch_media_get_type(void)
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
106 {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
107 static GType type = 0;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
108
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
109 if (type == 0) {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
110 static const GTypeInfo info = {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
111 sizeof(FinchMediaClass),
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
112 NULL,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
113 NULL,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
114 (GClassInitFunc) finch_media_class_init,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
115 NULL,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
116 NULL,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
117 sizeof(FinchMedia),
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
118 0,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
119 (GInstanceInitFunc) finch_media_init,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
120 NULL
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
121 };
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
122 type = g_type_register_static(GNT_TYPE_BOX, "FinchMedia", &info, 0);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
123 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
124 return type;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
125 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
126
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
127
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
128 static void
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
129 finch_media_class_init (FinchMediaClass *klass)
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
130 {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
131 GObjectClass *gobject_class = (GObjectClass*)klass;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
132 parent_class = g_type_class_peek_parent(klass);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
133
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
134 gobject_class->finalize = finch_media_finalize;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
135 gobject_class->set_property = finch_media_set_property;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
136 gobject_class->get_property = finch_media_get_property;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
137
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
138 g_object_class_install_property(gobject_class, PROP_MEDIA,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
139 g_param_spec_object("media",
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
140 "PurpleMedia",
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
141 "The PurpleMedia associated with this media.",
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
142 PURPLE_TYPE_MEDIA,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
143 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE));
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
144
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
145 finch_media_signals[MESSAGE] = g_signal_new("message", G_TYPE_FROM_CLASS(klass),
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
146 G_SIGNAL_RUN_LAST, 0, NULL, NULL,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
147 g_cclosure_marshal_VOID__STRING,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
148 G_TYPE_NONE, 1, G_TYPE_STRING);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
149
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
150 g_type_class_add_private(klass, sizeof(FinchMediaPrivate));
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
151 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
152
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
153
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
154 static void
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
155 finch_media_init (FinchMedia *media)
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
156 {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
157 media->priv = FINCH_MEDIA_GET_PRIVATE(media);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
158
27971
23dda7e57bcf Fix two strings as pointed out on translators@
Paul Aurich <paul@darkrain42.org>
parents: 27623
diff changeset
159 media->priv->calling = gnt_label_new(_("Calling..."));
23794
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
160 media->priv->hangup = gnt_button_new(_("Hangup"));
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
161 media->priv->accept = gnt_button_new(_("Accept"));
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
162 media->priv->reject = gnt_button_new(_("Reject"));
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
163
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
164 gnt_box_set_alignment(GNT_BOX(media), GNT_ALIGN_MID);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
165
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
166 gnt_box_add_widget(GNT_BOX(media), media->priv->accept);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
167 gnt_box_add_widget(GNT_BOX(media), media->priv->reject);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
168 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
169
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
170 static void
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
171 finch_media_finalize (GObject *media)
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
172 {
23917
4a208844bb63 Make voice calls work with Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23872
diff changeset
173 FinchMedia *gntmedia = FINCH_MEDIA(media);
4a208844bb63 Make voice calls work with Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23872
diff changeset
174 purple_debug_info("gntmedia", "finch_media_finalize\n");
4a208844bb63 Make voice calls work with Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23872
diff changeset
175 if (gntmedia->priv->media)
4a208844bb63 Make voice calls work with Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23872
diff changeset
176 g_object_unref(gntmedia->priv->media);
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
177 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
178
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
179 static void
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
180 finch_media_emit_message(FinchMedia *gntmedia, const char *msg)
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
181 {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
182 g_signal_emit(gntmedia, finch_media_signals[MESSAGE], 0, msg);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
183 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
184
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
185 static void
26371
12c7db418c3e Remove purple_media_accept.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26370
diff changeset
186 finch_media_connected_cb(PurpleMedia *media, FinchMedia *gntmedia)
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
187 {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
188 GntWidget *parent;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
189
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
190 finch_media_emit_message(gntmedia, _("Call in progress."));
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
191
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
192 gnt_box_remove(GNT_BOX(gntmedia), gntmedia->priv->accept);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
193 gnt_box_remove(GNT_BOX(gntmedia), gntmedia->priv->reject);
23794
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
194 gnt_box_remove(GNT_BOX(gntmedia), gntmedia->priv->hangup);
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
195 gnt_box_remove(GNT_BOX(gntmedia), gntmedia->priv->calling);
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
196
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
197 gnt_box_add_widget(GNT_BOX(gntmedia), gntmedia->priv->hangup);
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
198
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
199 gnt_widget_destroy(gntmedia->priv->accept);
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
200 gnt_widget_destroy(gntmedia->priv->reject);
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
201 gnt_widget_destroy(gntmedia->priv->calling);
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
202 gntmedia->priv->accept = NULL;
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
203 gntmedia->priv->reject = NULL;
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
204 gntmedia->priv->calling = NULL;
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
205
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
206 parent = GNT_WIDGET(gntmedia);
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
207 while (parent->parent)
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
208 parent = parent->parent;
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
209 gnt_box_readjust(GNT_BOX(parent));
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
210 gnt_widget_draw(parent);
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
211 }
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
212
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
213 static void
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
214 finch_media_wait_cb(PurpleMedia *media, FinchMedia *gntmedia)
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
215 {
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
216 GntWidget *parent;
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
217
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
218 gnt_box_remove(GNT_BOX(gntmedia), gntmedia->priv->accept);
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
219 gnt_box_remove(GNT_BOX(gntmedia), gntmedia->priv->reject);
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
220 gnt_box_remove(GNT_BOX(gntmedia), gntmedia->priv->hangup);
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
221 gnt_box_remove(GNT_BOX(gntmedia), gntmedia->priv->calling);
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
222
52a753b67ebb Fine tune the media (audio) widget in finch.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23793
diff changeset
223 gnt_box_add_widget(GNT_BOX(gntmedia), gntmedia->priv->calling);
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
224 gnt_box_add_widget(GNT_BOX(gntmedia), gntmedia->priv->hangup);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
225
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
226 parent = GNT_WIDGET(gntmedia);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
227 while (parent->parent)
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
228 parent = parent->parent;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
229 gnt_box_readjust(GNT_BOX(parent));
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
230 gnt_widget_draw(parent);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
231 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
232
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
233 static void
26329
86bc2d34f689 Rename state-changed enum and values.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26325
diff changeset
234 finch_media_state_changed_cb(PurpleMedia *media, PurpleMediaState state,
26036
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
235 gchar *sid, gchar *name, FinchMedia *gntmedia)
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
236 {
26329
86bc2d34f689 Rename state-changed enum and values.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26325
diff changeset
237 purple_debug_info("gntmedia", "state: %d sid: %s name: %s\n",
86bc2d34f689 Rename state-changed enum and values.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26325
diff changeset
238 state, sid, name);
26036
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
239 if (sid == NULL && name == NULL) {
26329
86bc2d34f689 Rename state-changed enum and values.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26325
diff changeset
240 if (state == PURPLE_MEDIA_STATE_END) {
26036
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
241 finch_media_emit_message(gntmedia,
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
242 _("The call has been terminated."));
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
243 finch_conversation_set_info_widget(
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
244 gntmedia->priv->conv, NULL);
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
245 gnt_widget_destroy(GNT_WIDGET(gntmedia));
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
246 /*
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
247 * XXX: This shouldn't have to be here
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
248 * to free the FinchMedia widget.
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
249 */
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
250 g_object_unref(gntmedia);
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
251 }
26329
86bc2d34f689 Rename state-changed enum and values.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26325
diff changeset
252 } else if (state == PURPLE_MEDIA_STATE_CONNECTED) {
26371
12c7db418c3e Remove purple_media_accept.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26370
diff changeset
253 finch_media_connected_cb(media, gntmedia);
26394
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
254 } else if (state == PURPLE_MEDIA_STATE_NEW &&
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
255 sid != NULL && name != NULL &&
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
256 purple_media_is_initiator(media, sid, name) == FALSE) {
26524
df9042312063 Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26436
diff changeset
257 PurpleAccount *account;
26394
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
258 PurpleBuddy *buddy;
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
259 const gchar *alias;
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
260 PurpleMediaSessionType type =
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
261 purple_media_get_session_type(media, sid);
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
262 gchar *message = NULL;
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
263
26524
df9042312063 Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26436
diff changeset
264 account = purple_media_get_account(gntmedia->priv->media);
df9042312063 Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26436
diff changeset
265 buddy = purple_find_buddy(account, name);
26394
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
266 alias = buddy ? purple_buddy_get_contact_alias(buddy) : name;
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
267
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
268 if (type & PURPLE_MEDIA_AUDIO) {
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
269 message = g_strdup_printf(
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
270 _("%s wishes to start an audio session with you."),
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
271 alias);
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
272 } else {
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
273 message = g_strdup_printf(
26436
28f1512b0f94 Minor grammatical message fixes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26417
diff changeset
274 _("%s is trying to start an unsupported media session type with you."),
26394
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
275 alias);
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
276 }
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
277 finch_media_emit_message(gntmedia, message);
c3cf43b9402f Say which media type is being requested in Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26392
diff changeset
278 g_free(message);
26036
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
279 }
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
280 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
281
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
282 static void
26325
31236ac583ef Use stream-info instead of state-changed for reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26040
diff changeset
283 finch_media_stream_info_cb(PurpleMedia *media, PurpleMediaInfoType type,
26366
4e1286e76f1f Create purple_media_stream_info. Add local parameter to stream-info signal.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26365
diff changeset
284 gchar *sid, gchar *name, gboolean local, FinchMedia *gntmedia)
26325
31236ac583ef Use stream-info instead of state-changed for reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26040
diff changeset
285 {
31236ac583ef Use stream-info instead of state-changed for reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26040
diff changeset
286 if (type == PURPLE_MEDIA_INFO_REJECT) {
31236ac583ef Use stream-info instead of state-changed for reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26040
diff changeset
287 finch_media_emit_message(gntmedia,
31236ac583ef Use stream-info instead of state-changed for reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26040
diff changeset
288 _("You have rejected the call."));
31236ac583ef Use stream-info instead of state-changed for reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26040
diff changeset
289 }
31236ac583ef Use stream-info instead of state-changed for reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26040
diff changeset
290 }
31236ac583ef Use stream-info instead of state-changed for reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26040
diff changeset
291
31236ac583ef Use stream-info instead of state-changed for reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26040
diff changeset
292 static void
26371
12c7db418c3e Remove purple_media_accept.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26370
diff changeset
293 finch_media_accept_cb(PurpleMedia *media, GntWidget *widget)
12c7db418c3e Remove purple_media_accept.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26370
diff changeset
294 {
12c7db418c3e Remove purple_media_accept.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26370
diff changeset
295 purple_media_stream_info(media, PURPLE_MEDIA_INFO_ACCEPT,
12c7db418c3e Remove purple_media_accept.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26370
diff changeset
296 NULL, NULL, TRUE);
12c7db418c3e Remove purple_media_accept.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26370
diff changeset
297 }
12c7db418c3e Remove purple_media_accept.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26370
diff changeset
298
12c7db418c3e Remove purple_media_accept.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26370
diff changeset
299 static void
26369
2862fee7acf2 Remove purple_media_hangup.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26366
diff changeset
300 finch_media_hangup_cb(PurpleMedia *media, GntWidget *widget)
2862fee7acf2 Remove purple_media_hangup.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26366
diff changeset
301 {
2862fee7acf2 Remove purple_media_hangup.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26366
diff changeset
302 purple_media_stream_info(media, PURPLE_MEDIA_INFO_HANGUP,
2862fee7acf2 Remove purple_media_hangup.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26366
diff changeset
303 NULL, NULL, TRUE);
2862fee7acf2 Remove purple_media_hangup.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26366
diff changeset
304 }
2862fee7acf2 Remove purple_media_hangup.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26366
diff changeset
305
2862fee7acf2 Remove purple_media_hangup.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26366
diff changeset
306 static void
26370
c0846d6659c6 Remove purple_media_reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26369
diff changeset
307 finch_media_reject_cb(PurpleMedia *media, GntWidget *widget)
c0846d6659c6 Remove purple_media_reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26369
diff changeset
308 {
c0846d6659c6 Remove purple_media_reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26369
diff changeset
309 purple_media_stream_info(media, PURPLE_MEDIA_INFO_REJECT,
c0846d6659c6 Remove purple_media_reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26369
diff changeset
310 NULL, NULL, TRUE);
c0846d6659c6 Remove purple_media_reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26369
diff changeset
311 }
c0846d6659c6 Remove purple_media_reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26369
diff changeset
312
c0846d6659c6 Remove purple_media_reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26369
diff changeset
313 static void
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
314 finch_media_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
315 {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
316 FinchMedia *media;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
317 g_return_if_fail(FINCH_IS_MEDIA(object));
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
318
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
319 media = FINCH_MEDIA(object);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
320 switch (prop_id) {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
321 case PROP_MEDIA:
26036
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
322 {
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
323 if (media->priv->media)
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
324 g_object_unref(media->priv->media);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
325 media->priv->media = g_value_get_object(value);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
326 g_object_ref(media->priv->media);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
327 g_signal_connect_swapped(G_OBJECT(media->priv->accept), "activate",
26371
12c7db418c3e Remove purple_media_accept.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26370
diff changeset
328 G_CALLBACK(finch_media_accept_cb), media->priv->media);
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
329 g_signal_connect_swapped(G_OBJECT(media->priv->reject), "activate",
26370
c0846d6659c6 Remove purple_media_reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26369
diff changeset
330 G_CALLBACK(finch_media_reject_cb), media->priv->media);
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
331 g_signal_connect_swapped(G_OBJECT(media->priv->hangup), "activate",
26369
2862fee7acf2 Remove purple_media_hangup.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26366
diff changeset
332 G_CALLBACK(finch_media_hangup_cb), media->priv->media);
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
333
26384
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26379
diff changeset
334 if (purple_media_is_initiator(media->priv->media,
bea334b214fa Add purple_media_is_initiator.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26379
diff changeset
335 NULL, NULL) == TRUE) {
26036
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
336 finch_media_wait_cb(media->priv->media, media);
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
337 }
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
338 g_signal_connect(G_OBJECT(media->priv->media), "state-changed",
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
339 G_CALLBACK(finch_media_state_changed_cb), media);
26325
31236ac583ef Use stream-info instead of state-changed for reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26040
diff changeset
340 g_signal_connect(G_OBJECT(media->priv->media), "stream-info",
31236ac583ef Use stream-info instead of state-changed for reject.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26040
diff changeset
341 G_CALLBACK(finch_media_stream_info_cb), media);
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
342 break;
26036
bc22d0a449dd Update Finch to new media API.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24983
diff changeset
343 }
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
344 default:
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
345 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
346 break;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
347 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
348 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
349
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
350 static void
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
351 finch_media_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
352 {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
353 FinchMedia *media;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
354 g_return_if_fail(FINCH_IS_MEDIA(object));
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
355
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
356 media = FINCH_MEDIA(object);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
357
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
358 switch (prop_id) {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
359 case PROP_MEDIA:
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
360 g_value_set_object(value, media->priv->media);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
361 break;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
362 default:
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
363 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
364 break;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
365 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
366 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
367
26378
e9e9ec08e87c Silence two more warnings.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26376
diff changeset
368 static GntWidget *
23821
12a16471f94e Refactored PurpleMedia to make creating audio or video sessions virtually identical. Audio, video, and audio/video sessions now work. Also added videotestsrc to the video plugin preference.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23804
diff changeset
369 finch_media_new(PurpleMedia *media)
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
370 {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
371 return GNT_WIDGET(g_object_new(finch_media_get_type(),
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
372 "media", media,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
373 "vertical", FALSE,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
374 "homogeneous", FALSE,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
375 NULL));
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
376 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
377
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
378 static void
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
379 gntmedia_message_cb(FinchMedia *gntmedia, const char *msg, PurpleConversation *conv)
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
380 {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
381 if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
382 purple_conv_im_write(PURPLE_CONV_IM(conv), NULL, msg, PURPLE_MESSAGE_SYSTEM, time(NULL));
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
383 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
384 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
385
23872
1d9a2296d5d2 Stop additional media sessions within a single conversation for grouped contacts.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23859
diff changeset
386 static gboolean
24983
18b71033ea6e Remove connection attribute from PurpleMedia.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 24976
diff changeset
387 finch_new_media(PurpleMediaManager *manager, PurpleMedia *media,
26524
df9042312063 Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26436
diff changeset
388 PurpleAccount *account, gchar *name, gpointer null)
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
389 {
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
390 GntWidget *gntmedia;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
391 PurpleConversation *conv;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
392
26524
df9042312063 Switch media to store accounts rather than connections.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26436
diff changeset
393 conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, name);
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
394
23821
12a16471f94e Refactored PurpleMedia to make creating audio or video sessions virtually identical. Audio, video, and audio/video sessions now work. Also added videotestsrc to the video plugin preference.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23804
diff changeset
395 gntmedia = finch_media_new(media);
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
396 g_signal_connect(G_OBJECT(gntmedia), "message", G_CALLBACK(gntmedia_message_cb), conv);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
397 FINCH_MEDIA(gntmedia)->priv->conv = conv;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
398 finch_conversation_set_info_widget(conv, gntmedia);
23872
1d9a2296d5d2 Stop additional media sessions within a single conversation for grouped contacts.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23859
diff changeset
399 return TRUE;
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
400 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
401
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
402 static PurpleCmdRet
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
403 call_cmd_cb(PurpleConversation *conv, const char *cmd, char **args,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
404 char **eror, gpointer data)
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
405 {
23859
eb8c8a926589 Convert serv_* media functions to purple_prpl_* functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23821
diff changeset
406 PurpleAccount *account = purple_conversation_get_account(conv);
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
407
26365
34eb898478b4 Don't assume a PurpleMedia instance will be created immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26358
diff changeset
408 if (!purple_prpl_initiate_media(account,
23917
4a208844bb63 Make voice calls work with Finch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23872
diff changeset
409 purple_conversation_get_name(conv),
26365
34eb898478b4 Don't assume a PurpleMedia instance will be created immediately.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26358
diff changeset
410 PURPLE_MEDIA_AUDIO))
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
411 return PURPLE_CMD_STATUS_FAILED;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
412
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
413 return PURPLE_CMD_STATUS_OK;
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
414 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
415
26330
99d58fee24b1 Make voice calls in Finch work again.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26329
diff changeset
416 static GstElement *
26392
9c671fc1b351 Give more information to element creation functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26391
diff changeset
417 create_default_audio_src(PurpleMedia *media,
9c671fc1b351 Give more information to element creation functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26391
diff changeset
418 const gchar *session_id, const gchar *participant)
26330
99d58fee24b1 Make voice calls in Finch work again.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26329
diff changeset
419 {
27849
c8ff0a9cf8cc Unlink the local audio volume and mute between sessions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 27623
diff changeset
420 GstElement *src;
26417
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
421 src = gst_element_factory_make("gconfaudiosrc", NULL);
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
422 if (src == NULL)
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
423 src = gst_element_factory_make("autoaudiosrc", NULL);
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
424 if (src == NULL)
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
425 src = gst_element_factory_make("alsasrc", NULL);
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
426 if (src == NULL)
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
427 src = gst_element_factory_make("osssrc", NULL);
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
428 if (src == NULL)
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
429 src = gst_element_factory_make("dshowaudiosrc", NULL);
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
430 if (src == NULL) {
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
431 purple_debug_error("gntmedia", "Unable to find a suitable "
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
432 "element for the default audio source.\n");
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
433 return NULL;
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
434 }
27849
c8ff0a9cf8cc Unlink the local audio volume and mute between sessions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 27623
diff changeset
435 gst_element_set_name(src, "finchdefaultaudiosrc");
c8ff0a9cf8cc Unlink the local audio volume and mute between sessions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 27623
diff changeset
436 return src;
26330
99d58fee24b1 Make voice calls in Finch work again.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26329
diff changeset
437 }
99d58fee24b1 Make voice calls in Finch work again.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26329
diff changeset
438
99d58fee24b1 Make voice calls in Finch work again.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26329
diff changeset
439 static GstElement *
26392
9c671fc1b351 Give more information to element creation functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26391
diff changeset
440 create_default_audio_sink(PurpleMedia *media,
9c671fc1b351 Give more information to element creation functions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26391
diff changeset
441 const gchar *session_id, const gchar *participant)
26330
99d58fee24b1 Make voice calls in Finch work again.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26329
diff changeset
442 {
27849
c8ff0a9cf8cc Unlink the local audio volume and mute between sessions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 27623
diff changeset
443 GstElement *sink;
26417
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
444 sink = gst_element_factory_make("gconfaudiosink", NULL);
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
445 if (sink == NULL)
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
446 sink = gst_element_factory_make("autoaudiosink",NULL);
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
447 if (sink == NULL) {
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
448 purple_debug_error("gntmedia", "Unable to find a suitable "
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
449 "element for the default audio sink.\n");
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
450 return NULL;
02c0a30d2942 Pick better devices in Finch too and have fallbacks.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26416
diff changeset
451 }
27849
c8ff0a9cf8cc Unlink the local audio volume and mute between sessions.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 27623
diff changeset
452 return sink;
26330
99d58fee24b1 Make voice calls in Finch work again.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26329
diff changeset
453 }
26376
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
454 #endif /* USE_VV */
26330
99d58fee24b1 Make voice calls in Finch work again.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26329
diff changeset
455
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
456 void finch_media_manager_init(void)
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
457 {
26376
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
458 #ifdef USE_VV
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
459 PurpleMediaManager *manager = purple_media_manager_get();
26402
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
460 PurpleMediaElementInfo *default_audio_src =
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
461 g_object_new(PURPLE_TYPE_MEDIA_ELEMENT_INFO,
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
462 "id", "finchdefaultaudiosrc",
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
463 "name", "Finch Default Audio Source",
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
464 "type", PURPLE_MEDIA_ELEMENT_AUDIO
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
465 | PURPLE_MEDIA_ELEMENT_SRC
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
466 | PURPLE_MEDIA_ELEMENT_ONE_SRC
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
467 | PURPLE_MEDIA_ELEMENT_UNIQUE,
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
468 "create-cb", create_default_audio_src, NULL);
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
469 PurpleMediaElementInfo *default_audio_sink =
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
470 g_object_new(PURPLE_TYPE_MEDIA_ELEMENT_INFO,
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
471 "id", "finchdefaultaudiosink",
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
472 "name", "Finch Default Audio Sink",
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
473 "type", PURPLE_MEDIA_ELEMENT_AUDIO
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
474 | PURPLE_MEDIA_ELEMENT_SINK
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
475 | PURPLE_MEDIA_ELEMENT_ONE_SINK,
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
476 "create-cb", create_default_audio_sink, NULL);
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
477
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
478 g_signal_connect(G_OBJECT(manager), "init-media", G_CALLBACK(finch_new_media), NULL);
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
479 purple_cmd_register("call", "", PURPLE_CMD_P_DEFAULT,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
480 PURPLE_CMD_FLAG_IM, NULL,
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
481 call_cmd_cb, _("call: Make an audio call."), NULL);
26330
99d58fee24b1 Make voice calls in Finch work again.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26329
diff changeset
482
26391
24feaf9cfbf1 Declare which media caps Pidgin and Finch handle.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26384
diff changeset
483 purple_media_manager_set_ui_caps(manager,
24feaf9cfbf1 Declare which media caps Pidgin and Finch handle.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26384
diff changeset
484 PURPLE_MEDIA_CAPS_AUDIO |
24feaf9cfbf1 Declare which media caps Pidgin and Finch handle.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26384
diff changeset
485 PURPLE_MEDIA_CAPS_AUDIO_SINGLE_DIRECTION);
24feaf9cfbf1 Declare which media caps Pidgin and Finch handle.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26384
diff changeset
486
26330
99d58fee24b1 Make voice calls in Finch work again.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26329
diff changeset
487 purple_debug_info("gntmedia", "Registering media element types\n");
26402
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
488 purple_media_manager_set_active_element(manager, default_audio_src);
081a819bc710 Hide and gobjectify PurpleMediaElementInfo.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26394
diff changeset
489 purple_media_manager_set_active_element(manager, default_audio_sink);
26376
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
490 #endif
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
491 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
492
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
493 void finch_media_manager_uninit(void)
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
494 {
26376
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
495 #ifdef USE_VV
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
496 PurpleMediaManager *manager = purple_media_manager_get();
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
497 g_signal_handlers_disconnect_by_func(G_OBJECT(manager),
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
498 G_CALLBACK(finch_new_media), NULL);
26376
49b7044be3de Hide FinchMedia and related structures.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 26371
diff changeset
499 #endif
23789
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
500 }
128f6cb57829 Some media support in finch. This needs to be updated for the got-accept signal.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff changeset
501
23800
4b9b265a8100 Fix compiling with the --disable-vv switch.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23797
diff changeset
502