annotate libpurple/media.h @ 23837:ddbea813862e

Notify the user which type of media session the remote user wants to initiate.
author Mike Ruprecht <maiku@soc.pidgin.im>
date Thu, 12 Jun 2008 03:59:26 +0000
parents b5a00ddb7077
children 13936e4405b7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23760
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1 /**
23766
f0e32b734ef7 Cosmetics.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23763
diff changeset
2 * @file media.h Media API
23760
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3 * @ingroup core
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
4 *
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
5 * purple
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
6 *
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
7 * Purple is the legal property of its developers, whose names are too numerous
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
8 * to list here. Please refer to the COPYRIGHT file distributed with this
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
9 * source distribution.
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
10 *
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
14 * (at your option) any later version.
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
15 *
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
19 * GNU General Public License for more details.
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
20 *
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
21 * You should have received a copy of the GNU General Public License
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
22 * along with this program; if not, write to the Free Software
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
24 */
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
25
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
26 #ifndef __MEDIA_H_
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
27 #define __MEDIA_H_
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
28
23804
cbe97caec684 Use USE_VV instead of USE_FARSIGHT.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23801
diff changeset
29 #ifdef USE_VV
23760
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
30
23797
e1c8ec1259de Updates voice and video to use Farsight 2, gets XMPP voice conferences
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23793
diff changeset
31 #include <gst/gst.h>
e1c8ec1259de Updates voice and video to use Farsight 2, gets XMPP voice conferences
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23793
diff changeset
32 #include <gst/farsight/fs-stream.h>
e1c8ec1259de Updates voice and video to use Farsight 2, gets XMPP voice conferences
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23793
diff changeset
33 #include <gst/farsight/fs-session.h>
23760
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
34 #include <glib.h>
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
35 #include <glib-object.h>
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
36
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
37 #include "connection.h"
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
38
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
39 G_BEGIN_DECLS
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
40
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
41 #define PURPLE_TYPE_MEDIA (purple_media_get_type())
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
42 #define PURPLE_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_MEDIA, PurpleMedia))
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
43 #define PURPLE_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_MEDIA, PurpleMediaClass))
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
44 #define PURPLE_IS_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_MEDIA))
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
45 #define PURPLE_IS_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_MEDIA))
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
46 #define PURPLE_MEDIA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_MEDIA, PurpleMediaClass))
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
47
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
48 typedef struct _PurpleMedia PurpleMedia;
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
49 typedef struct _PurpleMediaClass PurpleMediaClass;
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
50 typedef struct _PurpleMediaPrivate PurpleMediaPrivate;
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
51 typedef struct _PurpleMediaSession PurpleMediaSession;
23760
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
52
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
53 typedef enum {
23824
bfaad8393463 Added some utility functions to convert PurpleMediaStreamType
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23821
diff changeset
54 PURPLE_MEDIA_NONE = 0,
23760
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
55 PURPLE_MEDIA_RECV_AUDIO = 1 << 0,
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
56 PURPLE_MEDIA_SEND_AUDIO = 1 << 1,
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
57 PURPLE_MEDIA_RECV_VIDEO = 1 << 2,
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
58 PURPLE_MEDIA_SEND_VIDEO = 1 << 3,
23797
e1c8ec1259de Updates voice and video to use Farsight 2, gets XMPP voice conferences
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23793
diff changeset
59 PURPLE_MEDIA_AUDIO = PURPLE_MEDIA_RECV_AUDIO | PURPLE_MEDIA_SEND_AUDIO,
e1c8ec1259de Updates voice and video to use Farsight 2, gets XMPP voice conferences
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23793
diff changeset
60 PURPLE_MEDIA_VIDEO = PURPLE_MEDIA_RECV_VIDEO | PURPLE_MEDIA_SEND_VIDEO
23760
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
61 } PurpleMediaStreamType;
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
62
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
63 struct _PurpleMediaClass
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
64 {
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
65 GObjectClass parent_class;
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
66 };
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
67
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
68 struct _PurpleMedia
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
69 {
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
70 GObject parent;
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
71 PurpleMediaPrivate *priv;
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
72 };
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
73
23772
750d700098c1 Fix the prplinfo structs and get rid of some compile warnings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23766
diff changeset
74 GType purple_media_get_type(void);
23760
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
75
23824
bfaad8393463 Added some utility functions to convert PurpleMediaStreamType
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23821
diff changeset
76 FsMediaType purple_media_to_fs_media_type(PurpleMediaStreamType type);
bfaad8393463 Added some utility functions to convert PurpleMediaStreamType
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23821
diff changeset
77 FsStreamDirection purple_media_to_fs_stream_direction(PurpleMediaStreamType type);
bfaad8393463 Added some utility functions to convert PurpleMediaStreamType
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23821
diff changeset
78 PurpleMediaStreamType purple_media_from_fs(FsMediaType type, FsStreamDirection direction);
bfaad8393463 Added some utility functions to convert PurpleMediaStreamType
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23821
diff changeset
79
23837
ddbea813862e Notify the user which type of media session the remote user wants to initiate.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23830
diff changeset
80 PurpleMediaStreamType purple_media_get_overall_type(PurpleMedia *media);
ddbea813862e Notify the user which type of media session the remote user wants to initiate.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23830
diff changeset
81
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
82 GList *purple_media_get_session_names(PurpleMedia *media);
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
83
23762
70cdff43ec76 You can actually receive Google Talk voice calls with crappy UI now
Sean Egan <seanegan@gmail.com>
parents: 23760
diff changeset
84 void purple_media_get_elements(PurpleMedia *media, GstElement **audio_src, GstElement **audio_sink,
70cdff43ec76 You can actually receive Google Talk voice calls with crappy UI now
Sean Egan <seanegan@gmail.com>
parents: 23760
diff changeset
85 GstElement **video_src, GstElement **video_sink);
70cdff43ec76 You can actually receive Google Talk voice calls with crappy UI now
Sean Egan <seanegan@gmail.com>
parents: 23760
diff changeset
86
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
87 void purple_media_set_src(PurpleMedia *media, const gchar *sess_id, GstElement *src);
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
88 void purple_media_set_sink(PurpleMedia *media, const gchar *sess_id, GstElement *src);
23762
70cdff43ec76 You can actually receive Google Talk voice calls with crappy UI now
Sean Egan <seanegan@gmail.com>
parents: 23760
diff changeset
89
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
90 GstElement *purple_media_get_src(PurpleMedia *media, const gchar *sess_id);
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
91 GstElement *purple_media_get_sink(PurpleMedia *media, const gchar *sess_id);
23762
70cdff43ec76 You can actually receive Google Talk voice calls with crappy UI now
Sean Egan <seanegan@gmail.com>
parents: 23760
diff changeset
92
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
93 GstElement *purple_media_get_pipeline(PurpleMedia *media);
23762
70cdff43ec76 You can actually receive Google Talk voice calls with crappy UI now
Sean Egan <seanegan@gmail.com>
parents: 23760
diff changeset
94
70cdff43ec76 You can actually receive Google Talk voice calls with crappy UI now
Sean Egan <seanegan@gmail.com>
parents: 23760
diff changeset
95 PurpleConnection *purple_media_get_connection(PurpleMedia *media);
23763
de4914b5e45c Cute little compile errors.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23762
diff changeset
96 const char *purple_media_get_screenname(PurpleMedia *media);
23762
70cdff43ec76 You can actually receive Google Talk voice calls with crappy UI now
Sean Egan <seanegan@gmail.com>
parents: 23760
diff changeset
97 void purple_media_ready(PurpleMedia *media);
23793
befeece4dd48 Change a few things:
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23787
diff changeset
98 void purple_media_wait(PurpleMedia *media);
23762
70cdff43ec76 You can actually receive Google Talk voice calls with crappy UI now
Sean Egan <seanegan@gmail.com>
parents: 23760
diff changeset
99 void purple_media_accept(PurpleMedia *media);
70cdff43ec76 You can actually receive Google Talk voice calls with crappy UI now
Sean Egan <seanegan@gmail.com>
parents: 23760
diff changeset
100 void purple_media_reject(PurpleMedia *media);
70cdff43ec76 You can actually receive Google Talk voice calls with crappy UI now
Sean Egan <seanegan@gmail.com>
parents: 23760
diff changeset
101 void purple_media_hangup(PurpleMedia *media);
23837
ddbea813862e Notify the user which type of media session the remote user wants to initiate.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23830
diff changeset
102 void purple_media_got_request(PurpleMedia *media);
23762
70cdff43ec76 You can actually receive Google Talk voice calls with crappy UI now
Sean Egan <seanegan@gmail.com>
parents: 23760
diff changeset
103 void purple_media_got_hangup(PurpleMedia *media);
23787
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
104 void purple_media_got_accept(PurpleMedia *media);
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
105
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
106 gchar *purple_media_get_device_name(GstElement *element,
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
107 GValue *device);
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
108
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
109 GList *purple_media_get_devices(GstElement *element);
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
110 void purple_media_element_set_device(GstElement *element, GValue *device);
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
111 void purple_media_element_set_device_from_name(GstElement *element,
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
112 const gchar *name);
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
113 GValue *purple_media_element_get_device(GstElement *element);
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
114 GstElement *purple_media_get_element(const gchar *factory_name);
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
115
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
116 void purple_media_audio_init_src(GstElement **sendbin,
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
117 GstElement **sendlevel);
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
118 void purple_media_video_init_src(GstElement **sendbin);
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
119
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
120 void purple_media_audio_init_recv(GstElement **recvbin, GstElement **recvlevel);
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
121 void purple_media_video_init_recv(GstElement **sendbin);
23787
92e71f6e10d4 Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23775
diff changeset
122
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
123 gboolean purple_media_add_stream(PurpleMedia *media, const gchar *sess_id, const gchar *who,
23797
e1c8ec1259de Updates voice and video to use Farsight 2, gets XMPP voice conferences
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23793
diff changeset
124 PurpleMediaStreamType type, const gchar *transmitter);
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
125 void purple_media_remove_stream(PurpleMedia *media, const gchar *sess_id, const gchar *who);
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
126
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
127 PurpleMediaStreamType purple_media_get_session_type(PurpleMedia *media, const gchar *sess_id);
23797
e1c8ec1259de Updates voice and video to use Farsight 2, gets XMPP voice conferences
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23793
diff changeset
128
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
129 GList *purple_media_get_negotiated_codecs(PurpleMedia *media, const gchar *sess_id);
23797
e1c8ec1259de Updates voice and video to use Farsight 2, gets XMPP voice conferences
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23793
diff changeset
130
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
131 GList *purple_media_get_local_codecs(PurpleMedia *media, const gchar *sess_id);
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
132 void purple_media_add_remote_candidates(PurpleMedia *media, const gchar *sess_id,
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
133 const gchar *name, GList *remote_candidates);
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
134 GList *purple_media_get_local_candidates(PurpleMedia *media, const gchar *sess_id, const gchar *name);
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
135 FsCandidate *purple_media_get_local_candidate(PurpleMedia *media, const gchar *sess_id, const gchar *name);
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
136 FsCandidate *purple_media_get_remote_candidate(PurpleMedia *media, const gchar *sess_id, const gchar *name);
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
137 void purple_media_set_remote_codecs(PurpleMedia *media, const gchar *sess_id, const gchar *name, GList *codecs);
23797
e1c8ec1259de Updates voice and video to use Farsight 2, gets XMPP voice conferences
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23793
diff changeset
138
23830
b5a00ddb7077 Jingle sessions now keep track of their transaction state to a degree.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23824
diff changeset
139 gboolean purple_media_candidates_prepared(PurpleMedia *media, const gchar *name);
b5a00ddb7077 Jingle sessions now keep track of their transaction state to a degree.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23824
diff changeset
140
23760
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
141 G_END_DECLS
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
142
23804
cbe97caec684 Use USE_VV instead of USE_FARSIGHT.
Mike Ruprecht <maiku@soc.pidgin.im>
parents: 23801
diff changeset
143 #endif /* USE_VV */
23760
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
144
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
145
5150d8b576be Missed files
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
146 #endif /* __MEDIA_H_ */