src/media.h

Tue, 17 Jan 2006 01:54:27 +0000

author
Sadrul Habib Chowdhury <sadrul@pidgin.im>
date
Tue, 17 Jan 2006 01:54:27 +0000
changeset 12902
de9e0cc3feab
parent 12629
14aae7d5da6b
permissions
-rw-r--r--

[gaim-migrate @ 15255]
SF Patch #1406005 from Sadrul

"This is a fix for bug #1386557."

Basically, it moves the emission of "displayed-im-msg"/"displayed-chat-msg".

committer: Richard Laager <rlaager@pidgin.im>

12024
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
2 * @file media.h Voice and Video API
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
3 * @ingroup core
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
4 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
5 * gaim
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
6 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
7 * Gaim is the legal property of its developers, whose names are too numerous
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
9 * source distribution.
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
10 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
14 * (at your option) any later version.
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
15 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
19 * GNU General Public License for more details.
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
20 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
24 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
25 #ifndef _GAIM_MEDIA_H_
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
26 #define _GAIM_MEDIA_H_
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
27
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
28 typedef struct _GaimVoiceChat GaimVoiceChat;
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
29 typedef struct _GaimMediaPrplOps GaimMediaPrplOps;
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
30
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
31 #include "connection.h"
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
32
12050
a7d5a2430722 [gaim-migrate @ 14345]
Mark Doliner <markdoliner@pidgin.im>
parents: 12024
diff changeset
33 /* Forward declarations so I needn't #include mediastreamer headers in
12024
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
34 * nearly every single file */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
35 struct _MSFilter;
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
36 struct _MSSync;
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
37
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
38 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
39 * The state of a VoiceChat that should be reflected in the UI
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
40 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
41 typedef enum {
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
42 GAIM_MEDIA_STATE_CALLING, /**< An outgoing call is waiting to be answered */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
43 GAIM_MEDIA_STATE_RECEIVING, /**< An incoming call is waiting to be answered */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
44 GAIM_MEDIA_STATE_IN_PROGRESS, /**< The call is connected */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
45 GAIM_MEDIA_STATE_ERROR, /**< Some error occured */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
46 } GaimMediaState;
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
47
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
48 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
49 * UI Operations
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
50 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
51 typedef struct {
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
52 void (*new_voice_chat)(GaimVoiceChat *vc); /**< A new voice chat is created */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
53 void (*destroy)(GaimVoiceChat *vc); /**< The voice chat has been destroyed */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
54 void (*state_change)(GaimVoiceChat *vc, GaimMediaState state); /**< The state of the voice chat has changed */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
55 } GaimMediaUiOps;
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
56
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
57 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
58 * PRPL Operations
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
59 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
60 struct _GaimMediaPrplOps {
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
61 void (*call)(GaimConnection *gc, const char *who); /**< Request an outgoing call to 'who' */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
62 void (*init_filters)(GaimVoiceChat *); /**< Create the media stream for the call */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
63 void (*accept)(GaimVoiceChat *); /**< Accept an incoming call */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
64 void (*reject)(GaimVoiceChat *); /**< Reject an incoming call */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
65 void (*terminate)(GaimVoiceChat *); /**< Terminate an in-progress call */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
66 };
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
67
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
68 #ifdef HAVE_VV
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
69
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
70 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
71 * Initializes mediastreamer and ortp
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
72 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
73 void gaim_media_init(void);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
74
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
75 /**************************************************************************/
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
76 /** @name Voice Chat API **************************************************/
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
77 /**************************************************************************/
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
78 /*@{*/
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
79
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
80 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
81 * Creates a new voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
82 * This function creates a new voice chat object, and tells the UI about it. The UI
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
83 * probably won't want to do anything, until the state is changed to Incoming or Outgoing,
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
84 * but the UI should initialize any data structures it needs on this call
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
85 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
86 * @param gc The connection this chat is happening on
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
87 * @param name The person on the other end of the call
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
88 * @return The new voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
89 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
90 GaimVoiceChat *gaim_voice_chat_new(GaimConnection *gc, const char *name);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
91
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
92 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
93 * Destroys a voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
94 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
95 * @param vc The voice chat to destroy
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
96 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
97 void gaim_voice_chat_destroy(GaimVoiceChat *vc);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
98
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
99 /**
12629
14aae7d5da6b [gaim-migrate @ 14965]
Richard Laager <rlaager@pidgin.im>
parents: 12627
diff changeset
100 * Accessor function to get the name of the other user on the voice chat
12024
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
101 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
102 * @param vc The voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
103 * @return The name
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
104 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
105 const char *gaim_voice_chat_get_name(GaimVoiceChat *vc);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
106
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
107 /**
12629
14aae7d5da6b [gaim-migrate @ 14965]
Richard Laager <rlaager@pidgin.im>
parents: 12627
diff changeset
108 * Accessor function to set the name of the other user on the voice chat
12627
fa4c64a821d2 [gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12050
diff changeset
109 *
fa4c64a821d2 [gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12050
diff changeset
110 * @param vc The voice chat
fa4c64a821d2 [gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12050
diff changeset
111 * @return The name
fa4c64a821d2 [gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12050
diff changeset
112 */
fa4c64a821d2 [gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12050
diff changeset
113 void gaim_voice_chat_set_name(GaimVoiceChat *vc, const char *name);
fa4c64a821d2 [gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12050
diff changeset
114
fa4c64a821d2 [gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12050
diff changeset
115 /**
12024
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
116 * Accessor for the GaimConnection of the voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
117 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
118 * @param vc The voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
119 * @return The GaimConnection
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
120 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
121 GaimConnection *gaim_voice_chat_get_connection(GaimVoiceChat *vc);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
122
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
123 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
124 * Accessor for the UI data
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
125 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
126 * @param vc The voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
127 * @return The UI data
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
128 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
129 void *gaim_voice_chat_get_ui_data(GaimVoiceChat *vc);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
130
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
131 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
132 * Mutator for the UI Data
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
133 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
134 * @param vc The voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
135 * @param data The data
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
136 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
137 void gaim_voice_chat_set_ui_data(GaimVoiceChat *vc, void *data);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
138
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
139 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
140 * Accessor for the protocol data
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
141 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
142 * @param vc The voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
143 * @return The protocol data
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
144 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
145 void *gaim_voice_chat_get_proto_data(GaimVoiceChat *vc);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
146
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
147 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
148 * Mutator for the protocol data
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
149 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
150 * @param vc The voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
151 * @param data The protocol data
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
152 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
153 void gaim_voice_chat_set_proto_data(GaimVoiceChat *vc, void *data);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
154
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
155 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
156 * Accessor for the state
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
157 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
158 * @param vc The voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
159 * @return The state
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
160 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
161 GaimMediaState gaim_voice_chat_get_state(GaimVoiceChat *vc);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
162
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
163 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
164 * Mutator for the state
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
165 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
166 * @param vc The voice chat
12050
a7d5a2430722 [gaim-migrate @ 14345]
Mark Doliner <markdoliner@pidgin.im>
parents: 12024
diff changeset
167 * @param state The state
12024
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
168 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
169 void gaim_voice_chat_set_state(GaimVoiceChat *vc, GaimMediaState state);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
170
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
171 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
172 * Accepts an incoming voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
173 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
174 * @param vc The voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
175 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
176 void gaim_voice_chat_accept(GaimVoiceChat *vc);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
177
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
178 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
179 * Rejects an incoming voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
180 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
181 * @param vc The voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
182 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
183 void gaim_voice_chat_reject(GaimVoiceChat *vc);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
184
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
185 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
186 * Terminates an in-progress voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
187 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
188 * @param vc The voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
189 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
190 void gaim_voice_chat_terminate(GaimVoiceChat *vc);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
191
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
192 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
193 * Accessor for the microphone and speaker MSFilter objects
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
194 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
195 * @param vc The voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
196 * @param microphone A pointer to return the microphone filter in, or NULL.
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
197 * @param speaker A poitner to reutrn the speaker filter in, or NULL.
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
198 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
199 void gaim_voice_chat_get_filters(GaimVoiceChat *vc, struct _MSFilter **microphone, struct _MSFilter **speaker);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
200
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
201 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
202 * Accessor for the Mediastreamer timer
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
203 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
204 * @param vc The voice chat
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
205 * @return The timer
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
206 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
207 struct _MSSync *gaim_voice_chat_get_timer(GaimVoiceChat *vc);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
208
12627
fa4c64a821d2 [gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12050
diff changeset
209 /**
fa4c64a821d2 [gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12050
diff changeset
210 * Start the streams
fa4c64a821d2 [gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12050
diff changeset
211 *
fa4c64a821d2 [gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12050
diff changeset
212 * @param vc The voice chat
fa4c64a821d2 [gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12050
diff changeset
213 */
fa4c64a821d2 [gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12050
diff changeset
214 void gaim_voice_chat_start_streams(GaimVoiceChat *vc);
fa4c64a821d2 [gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12050
diff changeset
215
12024
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
216 /*@}*/
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
217
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
218 /**************************************************************************/
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
219 /** @name UI Registration Functions */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
220 /**************************************************************************/
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
221 /*@{*/
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
222
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
223 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
224 * Sets the UI operations structure to be used for the buddy list.
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
225 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
226 * @param ops The ops struct.
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
227 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
228 void gaim_media_set_ui_ops(GaimMediaUiOps *ops);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
229
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
230 /**
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
231 * Returns the UI operations structure to be used for the buddy list.
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
232 *
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
233 * @return The UI operations structure.
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
234 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
235 GaimMediaUiOps *gaim_media_get_ui_ops(void);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
236
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
237 /*@}*/
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
238
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
239 #endif /* HAVE_VV */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
240
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
241 #endif /* _GAIM_MEDIA_H_ */

mercurial