Codebase list farstream-0.2 / 9ef4a70
Imported Upstream version 0.1.91 Sjoerd Simons 11 years ago
234 changed file(s) with 11784 addition(s) and 15539 deletion(s). Raw diff Collapse all Expand all
0 commit 7436327f318fe87640f01ec34e11c47d611420ce
1 Author: Olivier Crête <olivier.crete@collabora.com>
2 Date: Thu Sep 13 21:48:31 2012 -0400
3
4 Version 0.1.91
5
6 commit da58e0cfd3c11a56d0079363cdbb27a980d69844
7 Author: Sjoerd Simons <sjoerd@luon.net>
8 Date: Wed Sep 12 23:35:29 2012 +0200
9
10 Rename the mutex to test_mutex as gstcheck defines mutex now
11
12 commit 0d5714b926e4e2aac1fa7aeeb4c584789a9655b6
13 Author: Sjoerd Simons <sjoerd@luon.net>
14 Date: Wed Sep 12 23:34:42 2012 +0200
15
16 Update for gstcheck changes following the GLib api changes
17
18 commit 31a4ba93eec6c0813af6f77ce017180e04c06cdf
19 Author: Sjoerd Simons <sjoerd@luon.net>
20 Date: Sun Aug 12 13:13:06 2012 +0200
21
22 rtp-discoverer: Fix reference counting
23
24 gst_caps_merge takes ownership of both arguments, fix the reference
25 counting to take that into account
26
27 commit 528caf919d92d6a4f501c161f863fccccd851462
28 Author: Sjoerd Simons <sjoerd@luon.net>
29 Date: Sun Aug 26 19:15:33 2012 +0200
30
31 Add uninstalled pc file
32
33 commit 129176598afd1d760ef5d7864276fc681d40abfd
34 Author: Olivier Crête <olivier.crete@collabora.com>
35 Date: Tue Sep 11 12:36:52 2012 -0400
36
37 Replace FS_MAJORMINOR with FS_APIVERSION
38
39 commit d58ba0017be71c37ef4b5a36109c3dd68cc423c3
40 Author: Olivier Crête <olivier.crete@collabora.com>
41 Date: Tue Sep 11 12:33:34 2012 -0400
42
43 Using git for a long long time
44
45 commit 75e530c41571376e037ecab4c0c1cda0548b3b46
46 Author: Olivier Crête <olivier.crete@collabora.com>
47 Date: Tue Sep 11 12:33:13 2012 -0400
48
49 Change version numbers
50
51 commit cb7fa417ab3f3268b5565571f79d5d6eba387bb7
52 Author: Olivier Crête <olivier.crete@collabora.com>
53 Date: Tue Sep 11 12:08:11 2012 -0400
54
55 fsvideoanyrate: Apply filter caps
56
57 commit 812768968f895deb3bf37e98b8a754a54ff631fb
58 Author: Olivier Crête <olivier.crete@collabora.com>
59 Date: Tue Aug 28 15:46:59 2012 -0700
60
61 gst_caps_merge now eats references
62
63 commit 7ffdc23a2b6ac98c864ab2df58e2989cb268efe6
64 Merge: 4263c6b 6d4f0c1
65 Author: Olivier Crête <olivier.crete@collabora.com>
66 Date: Tue Aug 28 15:43:38 2012 -0700
67
68 Merge branch 'master' into gstreamer-0.11
69
70 commit 4263c6bc1f0f4aff94e7351904102c229c66e47c
71 Author: Olivier Crête <olivier.crete@collabora.com>
72 Date: Tue Aug 28 15:43:19 2012 -0700
73
74 Port simple-call to gst 1.0
75
76 commit 6d4f0c15cc64ebc99cb1ac08d3703f90c37b35d1
77 Author: Olivier Crête <olivier.crete@collabora.com>
78 Date: Tue Aug 14 17:44:52 2012 -0700
79
80 Add dependency to enable parallel build of introspection
81
82 commit 462fd20e8174f59cf8835871a0f3fed5eb75c5c6
83 Author: Olivier Crête <olivier.crete@collabora.com>
84 Date: Tue Aug 7 15:37:00 2012 -0700
85
86 Fix annotations to make new gir happier
87
88 commit 88e90aa877f1acf59374c8011ad2d82071a37b97
89 Author: Olivier Crête <olivier.crete@collabora.com>
90 Date: Tue Aug 7 15:27:50 2012 -0700
91
92 Replace GST_MAJORMINOR with GST_API_VERSION
93
94 commit b2590cc39404fce58aa214f82dfc23a64f07bbf6
95 Author: Olivier Crête <olivier.crete@collabora.com>
96 Date: Mon Aug 6 14:29:50 2012 -0700
97
98 Put the correct new Freedesktop URLs
99
100 commit 6fd5e6db851979b11130d7ba081b555dade3e6fa
101 Author: Olivier Crête <olivier.crete@collabora.com>
102 Date: Mon Aug 6 13:03:40 2012 -0700
103
104 msn: Add extra debugging info
105
106 commit 48bf154c33a478dc9e68698bb112462ca3f5a2f2
107 Author: Olivier Crête <olivier.crete@collabora.com>
108 Date: Mon Aug 6 13:03:04 2012 -0700
109
110 Revert "Add breakpoints in error functions for easier debugging"
111
112 Because the unit tests fail on the breakpoints :-(
113
114 This reverts commit 9fac4e2b35fccc976cf1d9ed202030beae091e66.
115
116 commit e6678aa684635866c9d1c0aeae97dbd89306a41e
117 Author: Olivier Crête <olivier.crete@collabora.com>
118 Date: Mon Aug 6 11:45:09 2012 -0700
119
120 The plugin name is no longer a string
121
122 commit b1131d0c192d002e98a8db43abd4ea30f73b059a
123 Author: Olivier Crête <olivier.crete@collabora.com>
124 Date: Tue Jul 31 18:53:50 2012 +0200
125
126 tests: Remove unfixable tests
127
128 commit 8610a3b5466203f7ed1223f8dd90d49032ce624b
129 Author: Olivier Crête <olivier.crete@collabora.com>
130 Date: Tue Jul 31 18:53:06 2012 +0200
131
132 tests: Remove broken _destroy() tests
133
134 commit 6365c268b7f3074bc0663d7d598b63976cbe4982
135 Author: Sjoerd Simons <sjoerd@luon.net>
136 Date: Mon Jul 30 08:43:36 2012 +0200
137
138 Switch to modern video caps
139
140 commit bbede55529e95da8c9bd3d5cbd9cfd7046ec7f68
141 Author: Sjoerd Simons <sjoerd@luon.net>
142 Date: Mon Jul 30 08:41:56 2012 +0200
143
144 Change video caps from x-raw-yuv to x-raw
145
146 commit f8abadfd6bc2fcf217937cd8bf54cdeefe6f00ea
147 Author: Sjoerd Simons <sjoerd@luon.net>
148 Date: Sun Jul 29 17:11:22 2012 +0200
149
150 tfrc: Use new API for buffer appending
151
152 commit 61bdb747d1027e5040c774cd57c27b477e3dc7c0
153 Author: Sjoerd Simons <sjoerd@luon.net>
154 Date: Sun Jul 29 17:09:51 2012 +0200
155
156 tests: gst_rtp_buffer_validate has been pulled into gst_rtp_buffer_map
157
158 commit 37a223f60b1002bd84fa0d9f6fbbea655db68e39
159 Author: Sjoerd Simons <sjoerd@luon.net>
160 Date: Sun Jul 29 17:08:57 2012 +0200
161
162 tests: Update for changes to the gst_bus_set_sync_handler api
163
164 commit 1320a919f835570461948744e52cdb5bb7adbeb2
165 Author: Sjoerd Simons <sjoerd@luon.net>
166 Date: Sun Jul 29 17:08:09 2012 +0200
167
168 Add base plugin cflags to tests that need them
169
170 commit 66c8f5819a55a2d8a867aa5d2612da43660e0ba7
171 Author: Sjoerd Simons <sjoerd@luon.net>
172 Date: Sun Jul 29 12:25:58 2012 +0200
173
174 Use the rtp packet length accessor instead of the struct
175
176 commit 0ce579fbd1898d95c2e7bc769783d6ec4e1c109f
177 Author: Sjoerd Simons <sjoerd@luon.net>
178 Date: Sun Jul 29 12:25:22 2012 +0200
179
180 gst_caps_fixate now returns the fixated caps
181
182 commit 073b7ddecba997ce6717a5e9135e2643a44ec4fb
183 Author: Sjoerd Simons <sjoerd@luon.net>
184 Date: Sun Jul 29 12:22:38 2012 +0200
185
186 Update for new BaseTransform fixate-caps prototype
187
188 commit 3c9f9f1c05ec655a3529f6e2ae9e3a4c9d262898
189 Author: Sjoerd Simons <sjoerd@luon.net>
190 Date: Sun Jul 29 12:15:18 2012 +0200
191
192 Add missing headers for stat
193
194 commit 1a9cc3d30a6a3984c65e5cf1b445d7507a59693e
195 Author: Sjoerd Simons <sjoerd@luon.net>
196 Date: Sun Jul 29 12:14:55 2012 +0200
197
198 Use accessor functions for pad templates
199
200 commit df556de3d968874ea8575bbb65b95f5735b5e42f
201 Author: Sjoerd Simons <sjoerd@luon.net>
202 Date: Sun Jul 29 12:13:30 2012 +0200
203
204 Return an error on unknown address family
205
206 commit c8e87af2a27edf1279a5ab18f3ec16fcc8722dc7
207 Author: Sjoerd Simons <sjoerd@luon.net>
208 Date: Sun Jul 29 12:13:13 2012 +0200
209
210 Fix crash if fs_transmitter_list_available returns NULL
211
212 commit 9b4d8c10a2c872791504bb0c6f3f6a18e2d3ba1f
213 Author: Sjoerd Simons <sjoerd@luon.net>
214 Date: Sun Jul 29 12:12:38 2012 +0200
215
216 rtp_buffer_validate is gone, validation now happens on mapping
217
218 commit 14131d2803f2523780e99c6984b27bd023e38aee
219 Author: Sjoerd Simons <sjoerd@luon.net>
220 Date: Sun Jul 29 12:11:41 2012 +0200
221
222 Use gst_caps_merge instead of removed gst_caps_union
223
224 commit 14256fb917dac59578dc229f2fc8cfbc109513a2
225 Author: Sjoerd Simons <sjoerd@luon.net>
226 Date: Sun Jul 29 12:10:21 2012 +0200
227
228 gst_clock_id_wait_async_full was renamed to gst_clock_id_wait_async
229
230 commit d2a7db650913095c2a5d3c0aa97f279e74294c76
231 Author: Sjoerd Simons <sjoerd@luon.net>
232 Date: Sun Jul 29 12:07:33 2012 +0200
233
234 Add missing ;
235
236 commit 084f8006b2d1991e60da12b58bf6017b07bcb307
237 Author: Sjoerd Simons <sjoerd@luon.net>
238 Date: Sun Jul 29 12:07:04 2012 +0200
239
240 Search for python for mangle-tmpl.py
241
242 commit 6a6df70780c1693076c1afe39d63ae95896b0d24
243 Author: Sjoerd Simons <sjoerd@luon.net>
244 Date: Sun Jul 29 12:06:10 2012 +0200
245
246 Use gstreamer 1.0 instead of 0.11
247
248 commit 303c1a902816d3c742a26b34eb12c17b887ac00e
249 Author: Sjoerd Simons <sjoerd@luon.net>
250 Date: Sat Jul 28 16:33:07 2012 +0200
251
252 Update common module
253
254 commit ec267d9d072298100b6b13bafa1fce3440dabe38
255 Author: Olivier Crête <olivier.crete@collabora.com>
256 Date: Sat Jan 28 14:02:06 2012 +0000
257
258 tests: Ignore non-running multicast devices
259
260 commit 9fac4e2b35fccc976cf1d9ed202030beae091e66
261 Author: Olivier Crête <olivier.crete@collabora.com>
262 Date: Sat Jan 28 13:53:35 2012 +0100
263
264 Add breakpoints in error functions for easier debugging
265
266 commit 077745926547f0b7f6859072ffa0d45f11692cfe
267 Author: Olivier Crête <olivier.crete@collabora.com>
268 Date: Sat Jan 28 13:44:49 2012 +0100
269
270 debug-msg is gone, remove from tests
271
272 commit 53239894e9e1b033744d9404b1e50f402b935449
273 Author: Olivier Crête <olivier.crete@collabora.com>
274 Date: Sat Jan 28 08:38:45 2012 +0100
275
276 update rtcpfilter test for gst check api updates
277
278 commit ed911efc60de1538c4e24ca01f376e25c09a4124
279 Author: Olivier Crête <olivier.crete@collabora.com>
280 Date: Fri Jan 27 16:50:08 2012 +0100
281
282 Port to GStreamer 0.11
283
284 commit fb74f736e23844bbf289011f9bff7ad91581af18
285 Author: Olivier Crête <olivier.crete@collabora.com>
286 Date: Fri Jun 29 15:35:56 2012 -0400
287
288 fs-codec: Remove outdated TODO
289
290 commit 39450457190675716c8e66700e35b05334a6a1a0
291 Author: Olivier Crête <olivier.crete@collabora.com>
292 Date: Fri May 25 17:06:59 2012 -0400
293
294 Gtk-doc tags belong after the description
295
296 commit f6b097be1a591332b2b7af9ff97126d7c0ed80e7
297 Author: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
298 Date: Wed Apr 4 11:12:42 2012 +0200
299
300 The right macro is GLIB_VERSION_MAX_ALLOWED
301
302 https://bugs.freedesktop.org/show_bug.cgi?id=48285
303
304 commit 23122f81bf3eeb20d2acf0af1275ed5abd6be20a
305 Author: Olivier Crête <olivier.crete@collabora.com>
306 Date: Fri Mar 23 18:28:24 2012 -0400
307
308 tests: Remove used of deprecated g_strcasecmp
309
310 commit 2c266acb41c65004e63fb66b708d5ed02e22ccd0
311 Author: Olivier Crête <olivier.crete@collabora.com>
312 Date: Fri Mar 23 17:45:55 2012 -0400
313
314 tests: Link against libgstbase when it is used
315
316 commit d686cc11a8135947fb06136edf4320a07d793b91
317 Author: Olivier Crête <olivier.crete@collabora.com>
318 Date: Fri Mar 23 15:42:14 2012 -0400
319
320 rtpdiscovercodecs: Typecast factory into feature to make compiler happy
321
322 commit f13bbc080f28d22bef6d24472eddc1bdfc689755
323 Author: Olivier Crête <olivier.crete@collabora.com>
324 Date: Fri Mar 23 15:33:03 2012 -0400
325
326 Version 0.1.2.1
327
0328 commit ee62969e5d28a942384f245f4ffd79ca492af838
1329 Author: Olivier Crête <olivier.crete@collabora.com>
2330 Date: Fri Mar 23 13:18:17 2012 -0400
00 DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc --enable-introspection
11
22 SUBDIRS_EXT =
3
4 if WANT_PYTHON
5 PYTHON_SUBDIR = python
6 endif
73
84 SUBDIRS = \
95 farstream \
106 gst $(SUBDIRS_EXT) \
117 transmitters \
12 $(PYTHON_SUBDIR) \
138 tests \
149 docs \
1510 common \
2217 farstream \
2318 gst $(SUBDIRS_EXT) \
2419 transmitters \
25 python \
2620 tests \
2721 docs \
2822 common \
4842 true
4943 endif
5044
51 pcverfiles = farstream-@FS_MAJORMINOR@.pc
52 pcinfiles = farstream.pc.in
45 pcverfiles = farstream-@FS_APIVERSION@.pc \
46 farstream-@FS_APIVERSION@-uninstalled.pc
47 pcinfiles = farstream.pc.in \
48 farstream-uninstalled.pc.in
5349
54 %-@FS_MAJORMINOR@.pc: %.pc
50 %-@FS_APIVERSION@.pc: %.pc
51 cp $< $@
52
53 %-@FS_APIVERSION@-uninstalled.pc: %-uninstalled.pc
5554 cp $< $@
5655
5756 pkgconfigdir = $(libdir)/pkgconfig
58 pkgconfig_DATA = $(pcverfiles)
57 pkgconfig_DATA = farstream-@FS_APIVERSION@.pc
58
59 noinst_DATA = farstream-@FS_APIVERSION@-uninstalled.pc
5960
6061 CLEANFILES = $(pcverfiles)
6162
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3333 POST_UNINSTALL = :
3434 build_triplet = @build@
3535 host_triplet = @host@
36 target_triplet = @target@
3637 DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
3738 $(srcdir)/Makefile.in $(srcdir)/config.h.in \
39 $(srcdir)/farstream-uninstalled.pc.in \
3840 $(srcdir)/farstream.pc.in \
3941 $(top_srcdir)/common/coverage/lcov.mak $(top_srcdir)/configure \
4042 AUTHORS COPYING ChangeLog INSTALL NEWS compile config.guess \
4547 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4648 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4749 $(top_srcdir)/common/m4/as-libtool.m4 \
50 $(top_srcdir)/common/m4/as-python.m4 \
4851 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4952 $(top_srcdir)/common/m4/as-version.m4 \
5053 $(top_srcdir)/common/m4/gst-arch.m4 \
5760 $(top_srcdir)/common/m4/gst.m4 \
5861 $(top_srcdir)/common/m4/gtk-doc.m4 \
5962 $(top_srcdir)/common/m4/pkg.m4 \
60 $(top_srcdir)/m4/as-check-python-headers.m4 \
6163 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
6264 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
6365 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
6870 configure.lineno config.status.lineno
6971 mkinstalldirs = $(install_sh) -d
7072 CONFIG_HEADER = config.h
71 CONFIG_CLEAN_FILES = farstream.pc
73 CONFIG_CLEAN_FILES = farstream.pc farstream-uninstalled.pc
7274 CONFIG_CLEAN_VPATH_FILES =
73 AM_V_GEN = $(am__v_GEN_$(V))
74 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
75 AM_V_GEN = $(am__v_GEN_@AM_V@)
76 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
7577 am__v_GEN_0 = @echo " GEN " $@;
76 AM_V_at = $(am__v_at_$(V))
77 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
78 AM_V_at = $(am__v_at_@AM_V@)
79 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
7880 am__v_at_0 = @
7981 SOURCES =
8082 DIST_SOURCES =
106108 am__base_list = \
107109 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
108110 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
111 am__uninstall_files_from_dir = { \
112 test -z "$$files" \
113 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
114 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
115 $(am__cd) "$$dir" && rm -f $$files; }; \
116 }
109117 am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
110 DATA = $(pkgconfig_DATA)
118 DATA = $(noinst_DATA) $(pkgconfig_DATA)
111119 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
112120 distclean-recursive maintainer-clean-recursive
113121 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
119127 distdir = $(PACKAGE)-$(VERSION)
120128 top_distdir = $(distdir)
121129 am__remove_distdir = \
122 { test ! -d "$(distdir)" \
123 || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
124 && rm -fr "$(distdir)"; }; }
130 if test -d "$(distdir)"; then \
131 find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
132 && rm -rf "$(distdir)" \
133 || { sleep 5 && rm -rf "$(distdir)"; }; \
134 else :; fi
125135 am__relativize = \
126136 dir0=`pwd`; \
127137 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
150160 DIST_ARCHIVES = $(distdir).tar.gz
151161 GZIP_ENV = --best
152162 distuninstallcheck_listfiles = find . -type f -print
163 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
164 | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
153165 distcleancheck_listfiles = find . -type f -print
154166 ACLOCAL = @ACLOCAL@
155167 ACLOCAL_AMFLAGS = -I m4 -I common/m4
156168 AMTAR = @AMTAR@
157169 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
158170 AR = @AR@
171 AS = @AS@
159172 AUTOCONF = @AUTOCONF@
160173 AUTOHEADER = @AUTOHEADER@
161174 AUTOMAKE = @AUTOMAKE@
183196 FGREP = @FGREP@
184197 FS_AGE = @FS_AGE@
185198 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
199 FS_APIVERSION = @FS_APIVERSION@
200 FS_API_VERSION = @FS_API_VERSION@
186201 FS_CFLAGS = @FS_CFLAGS@
187202 FS_CURRENT = @FS_CURRENT@
188203 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
191206 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
192207 FS_LICENSE = @FS_LICENSE@
193208 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
194 FS_MAJORMINOR = @FS_MAJORMINOR@
195 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
196209 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
197210 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
198211 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
205218 GCOV = @GCOV@
206219 GCOV_CFLAGS = @GCOV_CFLAGS@
207220 GCOV_LIBS = @GCOV_LIBS@
221 GIO_CFLAGS = @GIO_CFLAGS@
222 GIO_LDFLAGS = @GIO_LDFLAGS@
223 GIO_LIBS = @GIO_LIBS@
208224 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
209225 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
210226 GLIB_CFLAGS = @GLIB_CFLAGS@
214230 GLIB_REQ = @GLIB_REQ@
215231 GREP = @GREP@
216232 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
233 GST_API_VERSION = @GST_API_VERSION@
217234 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
218235 GST_BASE_LIBS = @GST_BASE_LIBS@
219236 GST_CFLAGS = @GST_CFLAGS@
222239 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
223240 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
224241 GST_LIBS = @GST_LIBS@
225 GST_MAJORMINOR = @GST_MAJORMINOR@
226242 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
227243 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
228244 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
232248 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
233249 GST_TOOLS_DIR = @GST_TOOLS_DIR@
234250 GTKDOC_CHECK = @GTKDOC_CHECK@
251 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
252 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
253 GTKDOC_MKPDF = @GTKDOC_MKPDF@
254 GTKDOC_REBASE = @GTKDOC_REBASE@
235255 GUPNP_CFLAGS = @GUPNP_CFLAGS@
236256 GUPNP_LIBS = @GUPNP_LIBS@
237257 HTML_DIR = @HTML_DIR@
283303 PKG_CONFIG = @PKG_CONFIG@
284304 PLUGINDIR = @PLUGINDIR@
285305 PROFILE_CFLAGS = @PROFILE_CFLAGS@
286 PYCODEGEN = @PYCODEGEN@
287 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
288 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
289 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
290 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
291306 PYTHON = @PYTHON@
292307 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
293 PYTHON_INCLUDES = @PYTHON_INCLUDES@
294308 PYTHON_PLATFORM = @PYTHON_PLATFORM@
295309 PYTHON_PREFIX = @PYTHON_PREFIX@
296310 PYTHON_VERSION = @PYTHON_VERSION@
357371 sharedstatedir = @sharedstatedir@
358372 srcdir = @srcdir@
359373 sysconfdir = @sysconfdir@
374 target = @target@
360375 target_alias = @target_alias@
376 target_cpu = @target_cpu@
377 target_os = @target_os@
378 target_vendor = @target_vendor@
361379 top_build_prefix = @top_build_prefix@
362380 top_builddir = @top_builddir@
363381 top_srcdir = @top_srcdir@
364382 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-introspection
365383 SUBDIRS_EXT =
366 @WANT_PYTHON_TRUE@PYTHON_SUBDIR = python
367384 SUBDIRS = \
368385 farstream \
369386 gst $(SUBDIRS_EXT) \
370387 transmitters \
371 $(PYTHON_SUBDIR) \
372388 tests \
373389 docs \
374390 common \
381397 farstream \
382398 gst $(SUBDIRS_EXT) \
383399 transmitters \
384 python \
385400 tests \
386401 docs \
387402 common \
394409 AUTHORS COPYING NEWS README ChangeLog autogen.sh \
395410 $(pcinfiles)
396411
397 pcverfiles = farstream-@FS_MAJORMINOR@.pc
398 pcinfiles = farstream.pc.in
412 pcverfiles = farstream-@FS_APIVERSION@.pc \
413 farstream-@FS_APIVERSION@-uninstalled.pc
414
415 pcinfiles = farstream.pc.in \
416 farstream-uninstalled.pc.in
417
399418 pkgconfigdir = $(libdir)/pkgconfig
400 pkgconfig_DATA = $(pcverfiles)
419 pkgconfig_DATA = farstream-@FS_APIVERSION@.pc
420 noinst_DATA = farstream-@FS_APIVERSION@-uninstalled.pc
401421 CLEANFILES = $(pcverfiles)
402422 DISTCLEANFILES = $(pcinfiles:.in=)
403423 all: config.h
404424 $(MAKE) $(AM_MAKEFLAGS) all-recursive
405425
406426 .SUFFIXES:
407 am--refresh:
427 am--refresh: Makefile
408428 @:
409429 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/common/coverage/lcov.mak $(am__configure_deps)
410430 @for dep in $?; do \
429449 echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
430450 cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
431451 esac;
452 $(top_srcdir)/common/coverage/lcov.mak:
432453
433454 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
434455 $(SHELL) ./config.status --recheck
440461 $(am__aclocal_m4_deps):
441462
442463 config.h: stamp-h1
443 @if test ! -f $@; then \
444 rm -f stamp-h1; \
445 $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
446 else :; fi
464 @if test ! -f $@; then rm -f stamp-h1; else :; fi
465 @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
447466
448467 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
449468 @rm -f stamp-h1
456475 distclean-hdr:
457476 -rm -f config.h stamp-h1
458477 farstream.pc: $(top_builddir)/config.status $(srcdir)/farstream.pc.in
478 cd $(top_builddir) && $(SHELL) ./config.status $@
479 farstream-uninstalled.pc: $(top_builddir)/config.status $(srcdir)/farstream-uninstalled.pc.in
459480 cd $(top_builddir) && $(SHELL) ./config.status $@
460481
461482 mostlyclean-libtool:
483504 @$(NORMAL_UNINSTALL)
484505 @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
485506 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
486 test -n "$$files" || exit 0; \
487 echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
488 cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
507 dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
489508
490509 # This directory's subdirectories are mostly independent; you can cd
491510 # into them and run `make' without going through this Makefile.
697716 $(am__remove_distdir)
698717
699718 dist-bzip2: distdir
700 tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
719 tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
720 $(am__remove_distdir)
721
722 dist-lzip: distdir
723 tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
701724 $(am__remove_distdir)
702725
703726 dist-lzma: distdir
705728 $(am__remove_distdir)
706729
707730 dist-xz: distdir
708 tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
731 tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
709732 $(am__remove_distdir)
710733
711734 dist-tarZ: distdir
736759 bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
737760 *.tar.lzma*) \
738761 lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
762 *.tar.lz*) \
763 lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
739764 *.tar.xz*) \
740765 xz -dc $(distdir).tar.xz | $(am__untar) ;;\
741766 *.tar.Z*) \
755780 && am__cwd=`pwd` \
756781 && $(am__cd) $(distdir)/_build \
757782 && ../configure --srcdir=.. --prefix="$$dc_install_base" \
783 $(AM_DISTCHECK_CONFIGURE_FLAGS) \
758784 $(DISTCHECK_CONFIGURE_FLAGS) \
759785 && $(MAKE) $(AM_MAKEFLAGS) \
760786 && $(MAKE) $(AM_MAKEFLAGS) dvi \
783809 list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
784810 sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
785811 distuninstallcheck:
786 @$(am__cd) '$(distuninstallcheck_dir)' \
787 && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
812 @test -n '$(distuninstallcheck_dir)' || { \
813 echo 'ERROR: trying to run $@ with an empty' \
814 '$$(distuninstallcheck_dir)' >&2; \
815 exit 1; \
816 }; \
817 $(am__cd) '$(distuninstallcheck_dir)' || { \
818 echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
819 exit 1; \
820 }; \
821 test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
788822 || { echo "ERROR: files left after uninstall:" ; \
789823 if test -n "$(DESTDIR)"; then \
790824 echo " (check DESTDIR support)"; \
818852
819853 installcheck: installcheck-recursive
820854 install-strip:
821 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
822 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
823 `test -z '$(STRIP)' || \
824 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
855 if test -z '$(STRIP)'; then \
856 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
857 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
858 install; \
859 else \
860 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
861 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
862 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
863 fi
825864 mostlyclean-generic:
826865
827866 clean-generic:
911950 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
912951 all all-am am--refresh check check-am clean clean-generic \
913952 clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
914 dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-xz \
915 dist-zip distcheck distclean distclean-generic distclean-hdr \
916 distclean-libtool distclean-tags distcleancheck distdir \
917 distuninstallcheck dvi dvi-am html html-am info info-am \
918 install install-am install-data install-data-am install-dvi \
919 install-dvi-am install-exec install-exec-am install-html \
920 install-html-am install-info install-info-am install-man \
921 install-pdf install-pdf-am install-pkgconfigDATA install-ps \
922 install-ps-am install-strip installcheck installcheck-am \
923 installdirs installdirs-am maintainer-clean \
953 dist-gzip dist-hook dist-lzip dist-lzma dist-shar dist-tarZ \
954 dist-xz dist-zip distcheck distclean distclean-generic \
955 distclean-hdr distclean-libtool distclean-tags distcleancheck \
956 distdir distuninstallcheck dvi dvi-am html html-am info \
957 info-am install install-am install-data install-data-am \
958 install-dvi install-dvi-am install-exec install-exec-am \
959 install-html install-html-am install-info install-info-am \
960 install-man install-pdf install-pdf-am install-pkgconfigDATA \
961 install-ps install-ps-am install-strip installcheck \
962 installcheck-am installdirs installdirs-am maintainer-clean \
924963 maintainer-clean-generic mostlyclean mostlyclean-generic \
925964 mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
926965 uninstall uninstall-am uninstall-pkgconfigDATA
934973 @HAVE_GST_CHECK_FALSE@check-torture:
935974 @HAVE_GST_CHECK_FALSE@ true
936975
937 %-@FS_MAJORMINOR@.pc: %.pc
976 %-@FS_APIVERSION@.pc: %.pc
977 cp $< $@
978
979 %-@FS_APIVERSION@-uninstalled.pc: %-uninstalled.pc
938980 cp $< $@
939981
940982 dist-hook:
0 farstream 0.1.91 (September 13, 2012)
1 =====================================
2
3 - Port to GStreamer 1.0
4
05 farstream 0.1.2 (March 23, 2012)
16 ================================
27
00 Farstream
11 ==========
22
3 http://farstream.freedesktop.org/
3 http://www.freedesktop.org/wiki/Software/Farstream
44
55 Farstream is a collection of GStreamer modules and libraries for
66 videoconferencing. The API is described in the documentation in the
0 # generated automatically by aclocal 1.11.1 -*- Autoconf -*-
0 # generated automatically by aclocal 1.11.3 -*- Autoconf -*-
11
22 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
3 # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
3 # 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
4 # Inc.
45 # This file is free software; the Free Software Foundation
56 # gives unlimited permission to copy and/or distribute it,
67 # with or without modifications, as long as this notice is preserved.
1819 If you have problems, you may need to regenerate the build system entirely.
1920 To do so, use the procedure documented by the package, typically `autoreconf'.])])
2021
21 # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
22 #
23 # This file is free software; the Free Software Foundation
24 # gives unlimited permission to copy and/or distribute it,
25 # with or without modifications, as long as this notice is preserved.
22 # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
23 # Foundation, Inc.
24 #
25 # This file is free software; the Free Software Foundation
26 # gives unlimited permission to copy and/or distribute it,
27 # with or without modifications, as long as this notice is preserved.
28
29 # serial 1
2630
2731 # AM_AUTOMAKE_VERSION(VERSION)
2832 # ----------------------------
3337 [am__api_version='1.11'
3438 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
3539 dnl require some minimum version. Point them to the right macro.
36 m4_if([$1], [1.11.1], [],
40 m4_if([$1], [1.11.3], [],
3741 [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
3842 ])
3943
4953 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
5054 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
5155 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
52 [AM_AUTOMAKE_VERSION([1.11.1])dnl
56 [AM_AUTOMAKE_VERSION([1.11.3])dnl
5357 m4_ifndef([AC_AUTOCONF_VERSION],
5458 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
5559 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
5660
5761 # AM_AUX_DIR_EXPAND -*- Autoconf -*-
5862
59 # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
60 #
61 # This file is free software; the Free Software Foundation
62 # gives unlimited permission to copy and/or distribute it,
63 # with or without modifications, as long as this notice is preserved.
63 # Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
64 #
65 # This file is free software; the Free Software Foundation
66 # gives unlimited permission to copy and/or distribute it,
67 # with or without modifications, as long as this notice is preserved.
68
69 # serial 1
6470
6571 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
6672 # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
143149 Usually this means the macro was only invoked conditionally.]])
144150 fi])])
145151
146 # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
147 # Free Software Foundation, Inc.
148 #
149 # This file is free software; the Free Software Foundation
150 # gives unlimited permission to copy and/or distribute it,
151 # with or without modifications, as long as this notice is preserved.
152
153 # serial 10
152 # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
153 # 2010, 2011 Free Software Foundation, Inc.
154 #
155 # This file is free software; the Free Software Foundation
156 # gives unlimited permission to copy and/or distribute it,
157 # with or without modifications, as long as this notice is preserved.
158
159 # serial 12
154160
155161 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
156162 # written in clear, in which case automake, when reading aclocal.m4,
190196 # instance it was reported that on HP-UX the gcc test will end up
191197 # making a dummy file named `D' -- because `-MD' means `put the output
192198 # in D'.
199 rm -rf conftest.dir
193200 mkdir conftest.dir
194201 # Copy depcomp to subdir because otherwise we won't find it if we're
195202 # using a relative directory.
254261 break
255262 fi
256263 ;;
257 msvisualcpp | msvcmsys)
264 msvc7 | msvc7msys | msvisualcpp | msvcmsys)
258265 # This compiler won't grok `-c -o', but also, the minuso test has
259266 # not run yet. These depmodes are late enough in the game, and
260267 # so weak that their functioning should not be impacted.
319326 if test "x$enable_dependency_tracking" != xno; then
320327 am_depcomp="$ac_aux_dir/depcomp"
321328 AMDEPBACKSLASH='\'
329 am__nodep='_no'
322330 fi
323331 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
324332 AC_SUBST([AMDEPBACKSLASH])dnl
325333 _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
334 AC_SUBST([am__nodep])dnl
335 _AM_SUBST_NOTMAKE([am__nodep])dnl
326336 ])
327337
328338 # Generate code to set up dependency tracking. -*- Autoconf -*-
556566 done
557567 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
558568
559 # Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
560 #
561 # This file is free software; the Free Software Foundation
562 # gives unlimited permission to copy and/or distribute it,
563 # with or without modifications, as long as this notice is preserved.
569 # Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
570 # Inc.
571 #
572 # This file is free software; the Free Software Foundation
573 # gives unlimited permission to copy and/or distribute it,
574 # with or without modifications, as long as this notice is preserved.
575
576 # serial 1
564577
565578 # AM_PROG_INSTALL_SH
566579 # ------------------
728741 fi
729742 ])
730743
731 # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
732 #
733 # This file is free software; the Free Software Foundation
734 # gives unlimited permission to copy and/or distribute it,
735 # with or without modifications, as long as this notice is preserved.
744 # Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
745 # Inc.
746 #
747 # This file is free software; the Free Software Foundation
748 # gives unlimited permission to copy and/or distribute it,
749 # with or without modifications, as long as this notice is preserved.
750
751 # serial 1
736752
737753 # AM_PROG_MKDIR_P
738754 # ---------------
756772
757773 # Helper functions for option handling. -*- Autoconf -*-
758774
759 # Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
760 #
761 # This file is free software; the Free Software Foundation
762 # gives unlimited permission to copy and/or distribute it,
763 # with or without modifications, as long as this notice is preserved.
764
765 # serial 4
775 # Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
776 # Foundation, Inc.
777 #
778 # This file is free software; the Free Software Foundation
779 # gives unlimited permission to copy and/or distribute it,
780 # with or without modifications, as long as this notice is preserved.
781
782 # serial 5
766783
767784 # _AM_MANGLE_OPTION(NAME)
768785 # -----------------------
770787 [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
771788
772789 # _AM_SET_OPTION(NAME)
773 # ------------------------------
790 # --------------------
774791 # Set option NAME. Presently that only means defining a flag for this option.
775792 AC_DEFUN([_AM_SET_OPTION],
776793 [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
777794
778795 # _AM_SET_OPTIONS(OPTIONS)
779 # ----------------------------------
796 # ------------------------
780797 # OPTIONS is a space-separated list of Automake options.
781798 AC_DEFUN([_AM_SET_OPTIONS],
782799 [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
786803 # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
787804 AC_DEFUN([_AM_IF_OPTION],
788805 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
789
790 # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009
791 # Free Software Foundation, Inc.
792 #
793 # This file is free software; the Free Software Foundation
794 # gives unlimited permission to copy and/or distribute it,
795 # with or without modifications, as long as this notice is preserved.
796
797 # AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
798 # ---------------------------------------------------------------------------
799 # Adds support for distributing Python modules and packages. To
800 # install modules, copy them to $(pythondir), using the python_PYTHON
801 # automake variable. To install a package with the same name as the
802 # automake package, install to $(pkgpythondir), or use the
803 # pkgpython_PYTHON automake variable.
804 #
805 # The variables $(pyexecdir) and $(pkgpyexecdir) are provided as
806 # locations to install python extension modules (shared libraries).
807 # Another macro is required to find the appropriate flags to compile
808 # extension modules.
809 #
810 # If your package is configured with a different prefix to python,
811 # users will have to add the install directory to the PYTHONPATH
812 # environment variable, or create a .pth file (see the python
813 # documentation for details).
814 #
815 # If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will
816 # cause an error if the version of python installed on the system
817 # doesn't meet the requirement. MINIMUM-VERSION should consist of
818 # numbers and dots only.
819 AC_DEFUN([AM_PATH_PYTHON],
820 [
821 dnl Find a Python interpreter. Python versions prior to 2.0 are not
822 dnl supported. (2.0 was released on October 16, 2000).
823 m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
824 [python python2 python3 python3.0 python2.5 python2.4 python2.3 python2.2 dnl
825 python2.1 python2.0])
826
827 m4_if([$1],[],[
828 dnl No version check is needed.
829 # Find any Python interpreter.
830 if test -z "$PYTHON"; then
831 AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :)
832 fi
833 am_display_PYTHON=python
834 ], [
835 dnl A version check is needed.
836 if test -n "$PYTHON"; then
837 # If the user set $PYTHON, use it and don't search something else.
838 AC_MSG_CHECKING([whether $PYTHON version >= $1])
839 AM_PYTHON_CHECK_VERSION([$PYTHON], [$1],
840 [AC_MSG_RESULT(yes)],
841 [AC_MSG_ERROR(too old)])
842 am_display_PYTHON=$PYTHON
843 else
844 # Otherwise, try each interpreter until we find one that satisfies
845 # VERSION.
846 AC_CACHE_CHECK([for a Python interpreter with version >= $1],
847 [am_cv_pathless_PYTHON],[
848 for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do
849 test "$am_cv_pathless_PYTHON" = none && break
850 AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break])
851 done])
852 # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
853 if test "$am_cv_pathless_PYTHON" = none; then
854 PYTHON=:
855 else
856 AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON])
857 fi
858 am_display_PYTHON=$am_cv_pathless_PYTHON
859 fi
860 ])
861
862 if test "$PYTHON" = :; then
863 dnl Run any user-specified action, or abort.
864 m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
865 else
866
867 dnl Query Python for its version number. Getting [:3] seems to be
868 dnl the best way to do this; it's what "site.py" does in the standard
869 dnl library.
870
871 AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
872 [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
873 AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
874
875 dnl Use the values of $prefix and $exec_prefix for the corresponding
876 dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made
877 dnl distinct variables so they can be overridden if need be. However,
878 dnl general consensus is that you shouldn't need this ability.
879
880 AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
881 AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
882
883 dnl At times (like when building shared libraries) you may want
884 dnl to know which OS platform Python thinks this is.
885
886 AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
887 [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`])
888 AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
889
890
891 dnl Set up 4 directories:
892
893 dnl pythondir -- where to install python scripts. This is the
894 dnl site-packages directory, not the python standard library
895 dnl directory like in previous automake betas. This behavior
896 dnl is more consistent with lispdir.m4 for example.
897 dnl Query distutils for this directory. distutils does not exist in
898 dnl Python 1.5, so we fall back to the hardcoded directory if it
899 dnl doesn't work.
900 AC_CACHE_CHECK([for $am_display_PYTHON script directory],
901 [am_cv_python_pythondir],
902 [if test "x$prefix" = xNONE
903 then
904 am_py_prefix=$ac_default_prefix
905 else
906 am_py_prefix=$prefix
907 fi
908 am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null ||
909 echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
910 case $am_cv_python_pythondir in
911 $am_py_prefix*)
912 am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
913 am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
914 ;;
915 *)
916 case $am_py_prefix in
917 /usr|/System*) ;;
918 *)
919 am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
920 ;;
921 esac
922 ;;
923 esac
924 ])
925 AC_SUBST([pythondir], [$am_cv_python_pythondir])
926
927 dnl pkgpythondir -- $PACKAGE directory under pythondir. Was
928 dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is
929 dnl more consistent with the rest of automake.
930
931 AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
932
933 dnl pyexecdir -- directory for installing python extension modules
934 dnl (shared libraries)
935 dnl Query distutils for this directory. distutils does not exist in
936 dnl Python 1.5, so we fall back to the hardcoded directory if it
937 dnl doesn't work.
938 AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
939 [am_cv_python_pyexecdir],
940 [if test "x$exec_prefix" = xNONE
941 then
942 am_py_exec_prefix=$am_py_prefix
943 else
944 am_py_exec_prefix=$exec_prefix
945 fi
946 am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null ||
947 echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
948 case $am_cv_python_pyexecdir in
949 $am_py_exec_prefix*)
950 am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
951 am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
952 ;;
953 *)
954 case $am_py_exec_prefix in
955 /usr|/System*) ;;
956 *)
957 am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
958 ;;
959 esac
960 ;;
961 esac
962 ])
963 AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
964
965 dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
966
967 AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
968
969 dnl Run any user-specified action.
970 $2
971 fi
972
973 ])
974
975
976 # AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
977 # ---------------------------------------------------------------------------
978 # Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION.
979 # Run ACTION-IF-FALSE otherwise.
980 # This test uses sys.hexversion instead of the string equivalent (first
981 # word of sys.version), in order to cope with versions such as 2.2c1.
982 # This supports Python 2.0 or higher. (2.0 was released on October 16, 2000).
983 AC_DEFUN([AM_PYTHON_CHECK_VERSION],
984 [prog="import sys
985 # split strings by '.' and convert to numeric. Append some zeros
986 # because we need at least 4 digits for the hex conversion.
987 # map returns an iterator in Python 3.0 and a list in 2.x
988 minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]]
989 minverhex = 0
990 # xrange is not present in Python 3.0 and range returns an iterator
991 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]]
992 sys.exit(sys.hexversion < minverhex)"
993 AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
994
995 # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
996 #
997 # This file is free software; the Free Software Foundation
998 # gives unlimited permission to copy and/or distribute it,
999 # with or without modifications, as long as this notice is preserved.
1000
1001 # AM_RUN_LOG(COMMAND)
1002 # -------------------
1003 # Run COMMAND, save the exit status in ac_status, and log it.
1004 # (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
1005 AC_DEFUN([AM_RUN_LOG],
1006 [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
1007 ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
1008 ac_status=$?
1009 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1010 (exit $ac_status); }])
1011806
1012807 # Check to make sure that the build environment is sane. -*- Autoconf -*-
1013808
1074869 fi
1075870 AC_MSG_RESULT(yes)])
1076871
1077 # Copyright (C) 2009 Free Software Foundation, Inc.
1078 #
1079 # This file is free software; the Free Software Foundation
1080 # gives unlimited permission to copy and/or distribute it,
1081 # with or without modifications, as long as this notice is preserved.
1082
1083 # serial 1
872 # Copyright (C) 2009, 2011 Free Software Foundation, Inc.
873 #
874 # This file is free software; the Free Software Foundation
875 # gives unlimited permission to copy and/or distribute it,
876 # with or without modifications, as long as this notice is preserved.
877
878 # serial 2
1084879
1085880 # AM_SILENT_RULES([DEFAULT])
1086881 # --------------------------
1095890 no) AM_DEFAULT_VERBOSITY=1;;
1096891 *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
1097892 esac
893 dnl
894 dnl A few `make' implementations (e.g., NonStop OS and NextStep)
895 dnl do not support nested variable expansions.
896 dnl See automake bug#9928 and bug#10237.
897 am_make=${MAKE-make}
898 AC_CACHE_CHECK([whether $am_make supports nested variables],
899 [am_cv_make_support_nested_variables],
900 [if AS_ECHO([['TRUE=$(BAR$(V))
901 BAR0=false
902 BAR1=true
903 V=1
904 am__doit:
905 @$(TRUE)
906 .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
907 am_cv_make_support_nested_variables=yes
908 else
909 am_cv_make_support_nested_variables=no
910 fi])
911 if test $am_cv_make_support_nested_variables = yes; then
912 dnl Using `$V' instead of `$(V)' breaks IRIX make.
913 AM_V='$(V)'
914 AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
915 else
916 AM_V=$AM_DEFAULT_VERBOSITY
917 AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
918 fi
919 AC_SUBST([AM_V])dnl
920 AM_SUBST_NOTMAKE([AM_V])dnl
921 AC_SUBST([AM_DEFAULT_V])dnl
922 AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
1098923 AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
1099924 AM_BACKSLASH='\'
1100925 AC_SUBST([AM_BACKSLASH])dnl
1101926 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
1102927 ])
1103928
1104 # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
1105 #
1106 # This file is free software; the Free Software Foundation
1107 # gives unlimited permission to copy and/or distribute it,
1108 # with or without modifications, as long as this notice is preserved.
929 # Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
930 #
931 # This file is free software; the Free Software Foundation
932 # gives unlimited permission to copy and/or distribute it,
933 # with or without modifications, as long as this notice is preserved.
934
935 # serial 1
1109936
1110937 # AM_PROG_INSTALL_STRIP
1111938 # ---------------------
1129956 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
1130957 AC_SUBST([INSTALL_STRIP_PROGRAM])])
1131958
1132 # Copyright (C) 2006, 2008 Free Software Foundation, Inc.
1133 #
1134 # This file is free software; the Free Software Foundation
1135 # gives unlimited permission to copy and/or distribute it,
1136 # with or without modifications, as long as this notice is preserved.
1137
1138 # serial 2
959 # Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
960 #
961 # This file is free software; the Free Software Foundation
962 # gives unlimited permission to copy and/or distribute it,
963 # with or without modifications, as long as this notice is preserved.
964
965 # serial 3
1139966
1140967 # _AM_SUBST_NOTMAKE(VARIABLE)
1141968 # ---------------------------
1144971 AC_DEFUN([_AM_SUBST_NOTMAKE])
1145972
1146973 # AM_SUBST_NOTMAKE(VARIABLE)
1147 # ---------------------------
974 # --------------------------
1148975 # Public sister of _AM_SUBST_NOTMAKE.
1149976 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
1150977
1151978 # Check how to create a tarball. -*- Autoconf -*-
1152979
1153 # Copyright (C) 2004, 2005 Free Software Foundation, Inc.
980 # Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
1154981 #
1155982 # This file is free software; the Free Software Foundation
1156983 # gives unlimited permission to copy and/or distribute it,
1172999 # a tarball read from stdin.
11731000 # $(am__untar) < result.tar
11741001 AC_DEFUN([_AM_PROG_TAR],
1175 [# Always define AMTAR for backward compatibility.
1176 AM_MISSING_PROG([AMTAR], [tar])
1002 [# Always define AMTAR for backward compatibility. Yes, it's still used
1003 # in the wild :-( We should find a proper way to deprecate it ...
1004 AC_SUBST([AMTAR], ['$${TAR-tar}'])
11771005 m4_if([$1], [v7],
1178 [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
1006 [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
11791007 [m4_case([$1], [ustar],, [pax],,
11801008 [m4_fatal([Unknown tar format])])
11811009 AC_MSG_CHECKING([how to create a $1 tar archive])
12481076 m4_include([common/m4/as-auto-alt.m4])
12491077 m4_include([common/m4/as-compiler-flag.m4])
12501078 m4_include([common/m4/as-libtool.m4])
1079 m4_include([common/m4/as-python.m4])
12511080 m4_include([common/m4/as-scrub-include.m4])
12521081 m4_include([common/m4/as-version.m4])
12531082 m4_include([common/m4/gst-arch.m4])
12601089 m4_include([common/m4/gst.m4])
12611090 m4_include([common/m4/gtk-doc.m4])
12621091 m4_include([common/m4/pkg.m4])
1263 m4_include([m4/as-check-python-headers.m4])
12641092 m4_include([m4/introspection.m4])
12651093 m4_include([m4/libtool.m4])
12661094 m4_include([m4/ltoptions.m4])
3838
3939 die_check $DIE
4040
41 autoconf_2_52d_check || DIE=1
4241 aclocal_check || DIE=1
4342 autoheader_check || DIE=1
4443
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3232 POST_UNINSTALL = :
3333 build_triplet = @build@
3434 host_triplet = @host@
35 target_triplet = @target@
3536 subdir = common
3637 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog
3738 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
3940 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4041 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4142 $(top_srcdir)/common/m4/as-libtool.m4 \
43 $(top_srcdir)/common/m4/as-python.m4 \
4244 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4345 $(top_srcdir)/common/m4/as-version.m4 \
4446 $(top_srcdir)/common/m4/gst-arch.m4 \
5153 $(top_srcdir)/common/m4/gst.m4 \
5254 $(top_srcdir)/common/m4/gtk-doc.m4 \
5355 $(top_srcdir)/common/m4/pkg.m4 \
54 $(top_srcdir)/m4/as-check-python-headers.m4 \
5556 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
5657 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
5758 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
6263 CONFIG_HEADER = $(top_builddir)/config.h
6364 CONFIG_CLEAN_FILES =
6465 CONFIG_CLEAN_VPATH_FILES =
65 AM_V_GEN = $(am__v_GEN_$(V))
66 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
66 AM_V_GEN = $(am__v_GEN_@AM_V@)
67 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
6768 am__v_GEN_0 = @echo " GEN " $@;
68 AM_V_at = $(am__v_at_$(V))
69 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
69 AM_V_at = $(am__v_at_@AM_V@)
70 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
7071 am__v_at_0 = @
7172 SOURCES =
7273 DIST_SOURCES =
116117 AMTAR = @AMTAR@
117118 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
118119 AR = @AR@
120 AS = @AS@
119121 AUTOCONF = @AUTOCONF@
120122 AUTOHEADER = @AUTOHEADER@
121123 AUTOMAKE = @AUTOMAKE@
143145 FGREP = @FGREP@
144146 FS_AGE = @FS_AGE@
145147 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
148 FS_APIVERSION = @FS_APIVERSION@
149 FS_API_VERSION = @FS_API_VERSION@
146150 FS_CFLAGS = @FS_CFLAGS@
147151 FS_CURRENT = @FS_CURRENT@
148152 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
151155 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
152156 FS_LICENSE = @FS_LICENSE@
153157 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
154 FS_MAJORMINOR = @FS_MAJORMINOR@
155 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
156158 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
157159 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
158160 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
165167 GCOV = @GCOV@
166168 GCOV_CFLAGS = @GCOV_CFLAGS@
167169 GCOV_LIBS = @GCOV_LIBS@
170 GIO_CFLAGS = @GIO_CFLAGS@
171 GIO_LDFLAGS = @GIO_LDFLAGS@
172 GIO_LIBS = @GIO_LIBS@
168173 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
169174 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
170175 GLIB_CFLAGS = @GLIB_CFLAGS@
174179 GLIB_REQ = @GLIB_REQ@
175180 GREP = @GREP@
176181 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
182 GST_API_VERSION = @GST_API_VERSION@
177183 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
178184 GST_BASE_LIBS = @GST_BASE_LIBS@
179185 GST_CFLAGS = @GST_CFLAGS@
182188 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
183189 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
184190 GST_LIBS = @GST_LIBS@
185 GST_MAJORMINOR = @GST_MAJORMINOR@
186191 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
187192 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
188193 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
192197 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
193198 GST_TOOLS_DIR = @GST_TOOLS_DIR@
194199 GTKDOC_CHECK = @GTKDOC_CHECK@
200 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
201 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
202 GTKDOC_MKPDF = @GTKDOC_MKPDF@
203 GTKDOC_REBASE = @GTKDOC_REBASE@
195204 GUPNP_CFLAGS = @GUPNP_CFLAGS@
196205 GUPNP_LIBS = @GUPNP_LIBS@
197206 HTML_DIR = @HTML_DIR@
243252 PKG_CONFIG = @PKG_CONFIG@
244253 PLUGINDIR = @PLUGINDIR@
245254 PROFILE_CFLAGS = @PROFILE_CFLAGS@
246 PYCODEGEN = @PYCODEGEN@
247 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
248 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
249 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
250 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
251255 PYTHON = @PYTHON@
252256 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
253 PYTHON_INCLUDES = @PYTHON_INCLUDES@
254257 PYTHON_PLATFORM = @PYTHON_PLATFORM@
255258 PYTHON_PREFIX = @PYTHON_PREFIX@
256259 PYTHON_VERSION = @PYTHON_VERSION@
317320 sharedstatedir = @sharedstatedir@
318321 srcdir = @srcdir@
319322 sysconfdir = @sysconfdir@
323 target = @target@
320324 target_alias = @target_alias@
325 target_cpu = @target_cpu@
326 target_os = @target_os@
327 target_vendor = @target_vendor@
321328 top_build_prefix = @top_build_prefix@
322329 top_builddir = @top_builddir@
323330 top_srcdir = @top_srcdir@
591598
592599 installcheck: installcheck-recursive
593600 install-strip:
594 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
595 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
596 `test -z '$(STRIP)' || \
597 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
601 if test -z '$(STRIP)'; then \
602 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
603 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
604 install; \
605 else \
606 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
607 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
608 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
609 fi
598610 mostlyclean-generic:
599611
600612 clean-generic:
2424 NMARGS=-p
2525 fi
2626
27 # FIXME 0.11: in 0.11, we should change the export filter to only export
28 # _gst_foo, but not __gst_foo (we can't change this now, since we added
29 # __gst_debug_min and __gst_debug_enabled at some point and need to keep
30 # ABI compatibility). So below we special-case some symbols that shouldn't
31 # really be exported, either because we're too lazy to rename them to something
32 # that's not exported (like the _gst_parse_* stuff) or because we had them in
33 # public headers at some point although they shouldn't be and so we need to
34 # keep them exported now (like _gst_debug_init,
35 # __gst_element_factory_add_interface or
36 # __gst_element_factory_add_static_pad_template). We suppress them here to
37 # make sure they're at least not exported in the windows msvc build (they
38 # were never in the .def file, so they never got exported).
3927 # _end is special cased because for some reason it is reported as an exported
4028 # BSS symbol, unlike on linux where it's a local absolute symbol.
4129 nm $NMARGS $lib_path | awk \
4230 '{
43 if ($3 !~ /^_gst_[a-z]*_init/ && \
44 $3 !~ /^__gst_element_details_/ && \
45 $3 !~ /^__gst_element_factory_add_/ && \
46 $3 !~ /^gst_interfaces_marshal/ && \
47 $3 ~ /^[_]*(gst_|Gst|GST_).*/)
31 if ($3 ~ /^[_]?(gst_|Gst|GST_).*/)
4832 {
4933 if ($2 ~ /^[BSDG]$/)
5034 print "\t" $3 " DATA"
2020 $* || \
2121 $(TESTS_ENVIRONMENT) \
2222 GST_DEBUG=$$GST_DEBUG,*:2 \
23 CK_DEFAULT_TIMEOUT=20 \
24 $*
25
26 # just like 'check', but don't run it again if it fails (useful for debugging)
27 %.check-norepeat: %
28 @$(TESTS_ENVIRONMENT) \
2329 CK_DEFAULT_TIMEOUT=20 \
2430 $*
2531
139145 fi
140146
141147 # inspect every plugin feature
142 GST_INSPECT = $(GST_TOOLS_DIR)/gst-inspect-$(GST_MAJORMINOR)
148 GST_INSPECT = $(GST_TOOLS_DIR)/gst-inspect-$(GST_API_VERSION)
143149 inspect:
144150 @echo "Inspecting features ..."
145151 @for e in `$(TESTS_ENVIRONMENT) $(GST_INSPECT) | head -n -2 \
151157 @echo
152158 @echo "make check -- run all checks"
153159 @echo "make torture -- run all checks $(LOOPS) times"
154 @echo "make (dir)/(test).check -- run the given check once"
160 @echo "make (dir)/(test).check -- run the given check once, repeat with GST_DEBUG=*:2 if it fails"
161 @echo "make (dir)/(test).check-norepeat -- run the given check once, but don't run it again if it fails"
155162 @echo "make (dir)/(test).forever -- run the given check forever"
156163 @echo "make (dir)/(test).torture -- run the given check $(LOOPS) times"
157164 @echo
215215
216216 }
217217
218 autoconf_2_52d_check ()
219 {
220 # autoconf 2.52d has a weird issue involving a yes:no error
221 # so don't allow it's use
222 test -z "$NOCHECK" && {
223 ac_version=`$autoconf --version|head -n 1|sed 's/^[a-zA-Z\.\ ()]*//;s/ .*$//'`
224 if test "$ac_version" = "2.52d"; then
225 echo "autoconf 2.52d has an issue with our current build."
226 echo "We don't know who's to blame however. So until we do, get a"
227 echo "regular version. RPM's of a working version are on the gstreamer site."
228 exit 1
229 fi
230 }
231 return 0
232 }
233 libtool_2_2_gettext_check ()
234 {
235 # libtool 2.2 needs autopoint 0.17 or higher
236 version_compare LIBTOOLIZE 2 2 0
237 if test $? -eq 0
238 then
239 version_compare AUTOPOINT 0 17 0
240 if test $? -ne 0
241 then
242 echo "libtool 2.2 requires autopoint 0.17 or higher"
243 return 1
244 fi
245 fi
246 return 0
247 }
248
249
250218 die_check ()
251219 {
252220 # call with $DIE
141141 $ntypes = @types + @impl_types + 1;
142142
143143 print OUTPUT <<EOT;
144
145 /* file generated by common/gstdoc-scangobj */
146
144147 #include <string.h>
145148 #include <stdlib.h>
146149 #include <stdio.h>
181184 static gint
182185 gst_feature_sort_compare (gconstpointer a, gconstpointer b)
183186 {
184 return strcmp (((GstPluginFeature *)a)->name, ((GstPluginFeature *)b)->name);
187 const gchar *name_a = gst_plugin_feature_get_name ((GstPluginFeature *) a);
188 const gchar *name_b = gst_plugin_feature_get_name ((GstPluginFeature *) b);
189 return strcmp (name_a, name_b);
185190 }
186191
187192 static gint
215220 gboolean reinspect;
216221
217222 /* get a list of features from plugins in our source module */
218 plugins = gst_registry_get_plugin_list (gst_registry_get_default());
223 plugins = gst_registry_get_plugin_list (gst_registry_get ());
219224
220225 xmlstr = g_string_new ("");
221226
239244 if (gst_plugin_get_filename (plugin) == NULL)
240245 continue;
241246
242 $debug_log ("plugin: %s source: %s", plugin->desc.name, source);
247 $debug_log ("plugin: %s source: %s", gst_plugin_get_name (plugin), source);
243248
244249 if (reinspect) {
250 gchar *basename;
251
245252 inspect_name = g_strdup_printf ("$INSPECT_DIR" G_DIR_SEPARATOR_S "plugin-%s.xml",
246 plugin->desc.name);
253 gst_plugin_get_name (plugin));
247254 inspect = fopen (inspect_name, "w");
248255 if (inspect == NULL) {
249256 g_error ("Could not open %s for writing: %s\\n", inspect_name,
251258 }
252259 g_free (inspect_name);
253260
261 basename = g_path_get_basename (gst_plugin_get_filename (plugin));
262
254263 /* output plugin data */
255264 fputs ("<plugin>\\n",inspect);
256 fputs (xmlprint(2, "name", plugin->desc.name),inspect);
257 fputs (xmlprint(2, "description", plugin->desc.description),inspect);
258 fputs (xmlprint(2, "filename", plugin->filename),inspect);
259 fputs (xmlprint(2, "basename", plugin->basename),inspect);
260 fputs (xmlprint(2, "version", plugin->desc.version),inspect);
261 fputs (xmlprint(2, "license", plugin->desc.license),inspect);
262 fputs (xmlprint(2, "source", plugin->desc.source),inspect);
263 fputs (xmlprint(2, "package", plugin->desc.package),inspect);
264 fputs (xmlprint(2, "origin", plugin->desc.origin),inspect);
265 fputs (xmlprint(2, "name", gst_plugin_get_name (plugin)),inspect);
266 fputs (xmlprint(2, "description", gst_plugin_get_description (plugin)),inspect);
267 fputs (xmlprint(2, "filename", gst_plugin_get_filename (plugin)),inspect);
268 fputs (xmlprint(2, "basename", basename),inspect);
269 fputs (xmlprint(2, "version", gst_plugin_get_version (plugin)),inspect);
270 fputs (xmlprint(2, "license", gst_plugin_get_license (plugin)),inspect);
271 fputs (xmlprint(2, "source", gst_plugin_get_source (plugin)),inspect);
272 fputs (xmlprint(2, "package", gst_plugin_get_package (plugin)),inspect);
273 fputs (xmlprint(2, "origin", gst_plugin_get_origin (plugin)),inspect);
265274 fputs (" <elements>\\n", inspect);
275
276 g_free (basename);
266277 }
267278
268279 features =
269 gst_registry_get_feature_list_by_plugin (gst_registry_get_default (),
270 plugin->desc.name);
280 gst_registry_get_feature_list_by_plugin (gst_registry_get (),
281 gst_plugin_get_name (plugin));
271282
272283 /* sort factories by feature->name */
273284 features = g_list_sort (features, gst_feature_sort_compare);
286297 const gchar *pad_pres[] = { "always","sometimes","request" };
287298 GList *pads, *pad;
288299
289 $debug_log (" feature: %s", feature->name);
300 $debug_log (" feature: %s", gst_plugin_feature_get_name (feature));
290301
291302 factory = GST_ELEMENT_FACTORY (feature);
292303 factories = g_list_prepend (factories, factory);
294305 if (reinspect) {
295306 /* output element data */
296307 fputs (" <element>\\n", inspect);
297 fputs (xmlprint(6, "name", feature->name),inspect);
308 fputs (xmlprint(6, "name", gst_plugin_feature_get_name (feature)),inspect);
298309 fputs (xmlprint(6, "longname", gst_element_factory_get_longname (factory)),inspect);
299310 fputs (xmlprint(6, "class", gst_element_factory_get_klass (factory)),inspect);
300311 fputs (xmlprint(6, "description", gst_element_factory_get_description (factory)),inspect);
1212 @echo
1313
1414 # update the stuff maintained by doc maintainers
15 update:
16 $(MAKE) scanobj-update
15 update: scanobj-update
1716 $(MAKE) check-outdated-docs
1817
1918 # We set GPATH here; this gives us semantics for GNU make
2423 GPATH = $(srcdir)
2524
2625 # thomas: make docs parallel installable
27 TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@
26 TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)-@GST_API_VERSION@
2827
2928 MAINTAINER_DOC_STAMPS = \
3029 scanobj-build.stamp
129128 --module=$(DOC_MODULE) --source=$(PACKAGE) --inspect-dir=$(INSPECT_DIR) && \
130129 echo " DOC Merging introspection data" && \
131130 $(PYTHON) \
132 $(top_srcdir)/common/scangobj-merge.py $(DOC_MODULE); \
131 $(top_srcdir)/common/scangobj-merge.py $(DOC_MODULE) || exit 1; \
133132 if test x"$(srcdir)" != x. ; then \
134133 for f in $(SCANOBJ_FILES); \
135134 do \
224223 fi; \
225224 cd html && gtkdoc-mkhtml $$mkhtml_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE)
226225 @mv html/index.sgml html/index.sgml.bak
227 @$(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_MAJORMINOR@\//g" html/index.sgml.bak >html/index.sgml
226 @$(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_API_VERSION@\//g" html/index.sgml.bak >html/index.sgml
228227 @rm -f html/index.sgml.bak
229228 @rm -f html/$(DOC_MAIN_SGML_FILE)
230229 @rm -rf html/xml
292291 echo '-- Installing $(builddir)/html/$(DOC_MODULE).devhelp2' ; \
293292 if test -e $(builddir)/html/$(DOC_MODULE).devhelp2; then \
294293 $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE).devhelp2 \
295 $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp2; \
294 $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
296295 fi; \
297296 (which gtkdoc-rebase >/dev/null && \
298297 gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR)) || true ; \
1111 GPATH = $(srcdir)
1212
1313 # thomas: make docs parallel installable
14 TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@
14 TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)-@GST_API_VERSION@
1515
1616 EXTRA_DIST = \
1717 $(content_files) \
131131 fi; \
132132 cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
133133 @mv html/index.sgml html/index.sgml.bak
134 @$(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_MAJORMINOR@\//g" html/index.sgml.bak >html/index.sgml
134 @$(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_API_VERSION@\//g" html/index.sgml.bak >html/index.sgml
135135 @rm -f html/index.sgml.bak
136136 @rm -rf html/xml
137137 @rm -f version.entities
191191 echo '-- Installing $(builddir)/html/$(DOC_MODULE).devhelp2' ; \
192192 if test -e $(builddir)/html/$(DOC_MODULE).devhelp2; then \
193193 $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE).devhelp2 \
194 $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp2; \
194 $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
195195 fi; \
196196 (which gtkdoc-rebase >/dev/null && \
197197 gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR)) || true ; \
77 as-gcc-inline-assembly.m4 \
88 as-libtool.m4 \
99 as-libtool-tags.m4 \
10 as-objc.m4 \
1110 as-python.m4 \
1211 as-scrub-include.m4 \
1312 as-version.m4 \
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3232 POST_UNINSTALL = :
3333 build_triplet = @build@
3434 host_triplet = @host@
35 target_triplet = @target@
3536 subdir = common/m4
3637 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
3738 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
3940 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4041 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4142 $(top_srcdir)/common/m4/as-libtool.m4 \
43 $(top_srcdir)/common/m4/as-python.m4 \
4244 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4345 $(top_srcdir)/common/m4/as-version.m4 \
4446 $(top_srcdir)/common/m4/gst-arch.m4 \
5153 $(top_srcdir)/common/m4/gst.m4 \
5254 $(top_srcdir)/common/m4/gtk-doc.m4 \
5355 $(top_srcdir)/common/m4/pkg.m4 \
54 $(top_srcdir)/m4/as-check-python-headers.m4 \
5556 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
5657 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
5758 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
6263 CONFIG_HEADER = $(top_builddir)/config.h
6364 CONFIG_CLEAN_FILES =
6465 CONFIG_CLEAN_VPATH_FILES =
65 AM_V_GEN = $(am__v_GEN_$(V))
66 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
66 AM_V_GEN = $(am__v_GEN_@AM_V@)
67 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
6768 am__v_GEN_0 = @echo " GEN " $@;
68 AM_V_at = $(am__v_at_$(V))
69 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
69 AM_V_at = $(am__v_at_@AM_V@)
70 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
7071 am__v_at_0 = @
7172 SOURCES =
7273 DIST_SOURCES =
7677 AMTAR = @AMTAR@
7778 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
7879 AR = @AR@
80 AS = @AS@
7981 AUTOCONF = @AUTOCONF@
8082 AUTOHEADER = @AUTOHEADER@
8183 AUTOMAKE = @AUTOMAKE@
103105 FGREP = @FGREP@
104106 FS_AGE = @FS_AGE@
105107 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
108 FS_APIVERSION = @FS_APIVERSION@
109 FS_API_VERSION = @FS_API_VERSION@
106110 FS_CFLAGS = @FS_CFLAGS@
107111 FS_CURRENT = @FS_CURRENT@
108112 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
111115 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
112116 FS_LICENSE = @FS_LICENSE@
113117 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
114 FS_MAJORMINOR = @FS_MAJORMINOR@
115 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
116118 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
117119 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
118120 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
125127 GCOV = @GCOV@
126128 GCOV_CFLAGS = @GCOV_CFLAGS@
127129 GCOV_LIBS = @GCOV_LIBS@
130 GIO_CFLAGS = @GIO_CFLAGS@
131 GIO_LDFLAGS = @GIO_LDFLAGS@
132 GIO_LIBS = @GIO_LIBS@
128133 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
129134 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
130135 GLIB_CFLAGS = @GLIB_CFLAGS@
134139 GLIB_REQ = @GLIB_REQ@
135140 GREP = @GREP@
136141 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
142 GST_API_VERSION = @GST_API_VERSION@
137143 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
138144 GST_BASE_LIBS = @GST_BASE_LIBS@
139145 GST_CFLAGS = @GST_CFLAGS@
142148 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
143149 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
144150 GST_LIBS = @GST_LIBS@
145 GST_MAJORMINOR = @GST_MAJORMINOR@
146151 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
147152 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
148153 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
152157 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
153158 GST_TOOLS_DIR = @GST_TOOLS_DIR@
154159 GTKDOC_CHECK = @GTKDOC_CHECK@
160 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
161 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
162 GTKDOC_MKPDF = @GTKDOC_MKPDF@
163 GTKDOC_REBASE = @GTKDOC_REBASE@
155164 GUPNP_CFLAGS = @GUPNP_CFLAGS@
156165 GUPNP_LIBS = @GUPNP_LIBS@
157166 HTML_DIR = @HTML_DIR@
203212 PKG_CONFIG = @PKG_CONFIG@
204213 PLUGINDIR = @PLUGINDIR@
205214 PROFILE_CFLAGS = @PROFILE_CFLAGS@
206 PYCODEGEN = @PYCODEGEN@
207 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
208 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
209 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
210 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
211215 PYTHON = @PYTHON@
212216 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
213 PYTHON_INCLUDES = @PYTHON_INCLUDES@
214217 PYTHON_PLATFORM = @PYTHON_PLATFORM@
215218 PYTHON_PREFIX = @PYTHON_PREFIX@
216219 PYTHON_VERSION = @PYTHON_VERSION@
277280 sharedstatedir = @sharedstatedir@
278281 srcdir = @srcdir@
279282 sysconfdir = @sysconfdir@
283 target = @target@
280284 target_alias = @target_alias@
285 target_cpu = @target_cpu@
286 target_os = @target_os@
287 target_vendor = @target_vendor@
281288 top_build_prefix = @top_build_prefix@
282289 top_builddir = @top_builddir@
283290 top_srcdir = @top_srcdir@
291298 as-gcc-inline-assembly.m4 \
292299 as-libtool.m4 \
293300 as-libtool-tags.m4 \
294 as-objc.m4 \
295301 as-python.m4 \
296302 as-scrub-include.m4 \
297303 as-version.m4 \
414420
415421 installcheck: installcheck-am
416422 install-strip:
417 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
418 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
419 `test -z '$(STRIP)' || \
420 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
423 if test -z '$(STRIP)'; then \
424 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
425 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
426 install; \
427 else \
428 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
429 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
430 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
431 fi
421432 mostlyclean-generic:
422433
423434 clean-generic:
6161 AC_MSG_RESULT([$flag_ok])
6262 ])
6363
64 dnl AS_OBJC_COMPILER_FLAG(CPPFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
65 dnl Tries to compile with the given CPPFLAGS.
66 dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags,
67 dnl and ACTION-IF-NOT-ACCEPTED otherwise.
68
69 AC_DEFUN([AS_OBJC_COMPILER_FLAG],
70 [
71 AC_REQUIRE([AC_PROG_OBJC])
72
73 AC_MSG_CHECKING([to see if Objective C compiler understands $1])
74
75 save_CPPFLAGS="$CPPFLAGS"
76 CPPFLAGS="$CPPFLAGS $1"
77
78 AC_LANG_PUSH([Objective C])
79
80 AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
81 CPPFLAGS="$save_CPPFLAGS"
82
83 if test "X$flag_ok" = Xyes ; then
84 $2
85 true
86 else
87 $3
88 true
89 fi
90
91 AC_LANG_POP([Objective C])
92
93 AC_MSG_RESULT([$flag_ok])
94 ])
95
4040 fi
4141 AC_SUBST([$1]_LT_LDFLAGS)
4242
43 AC_LIBTOOL_DLOPEN
43 LT_PREREQ([2.2.6])
44 LT_INIT([dlopen win32-dll disable-static])
4445 ])
+0
-56
common/m4/as-objc.m4 less more
0
1
2 # AC_PROG_OBJC([LIST-OF-COMPILERS])
3 #
4 AC_DEFUN([AS_PROG_OBJC],
5 [
6 AC_CHECK_TOOLS(OBJC,
7 [m4_default([$1], [objcc objc gcc cc CC])],
8 none)
9 AC_SUBST(OBJC)
10 OBJC_LDFLAGS="-lobjc"
11 AC_SUBST(OBJC_LDFLAGS)
12 if test "x$OBJC" != xnone ; then
13 _AM_DEPENDENCIES(OBJC)
14 AC_MSG_CHECKING([if Objective C compiler works])
15 cat >>conftest.m <<EOF
16 #include <objc/Object.h>
17 @interface Moo:Object
18 {
19 }
20 - moo;
21 int main();
22 @end
23
24 @implementation Moo
25 - moo
26 {
27 exit(0);
28 }
29
30 int main()
31 {
32 id moo;
33 moo = [[Moo new]];
34 [[moo moo]];
35 return 1;
36 }
37 @end
38 EOF
39 ${OBJC} conftest.m ${OBJC_LDFLAGS} >&5 2>&5
40 if test -f a.out -o -f a.exe ; then
41 result=yes
42 else
43 result=no
44 echo failed program is: >&5
45 cat conftest.m >&5
46 fi
47 rm -f conftest.m a.out a.exe
48 AC_MSG_RESULT([$result])
49 else
50 _AM_DEPENDENCIES(OBJC)
51 fi
52
53 ])
54
55
44
55 AC_DEFUN([AG_GST_ARCH],
66 [
7 AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use host_ variables
8
97 dnl Determine CPU
10 case "x${host_cpu}" in
8 case "x${target_cpu}" in
119 xi?86 | xk? | xi?86_64)
12 case $host_os in
10 case $target_os in
1311 solaris*)
1412 AC_CHECK_DECL([__i386], [I386_ABI="yes"], [I386_ABI="no"])
1513 AC_CHECK_DECL([__amd64], [AMD64_ABI="yes"], [AMD64_ABI="no"])
1614
1715 if test "x$I386_ABI" = "xyes" ; then
1816 HAVE_CPU_I386=yes
19 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the host CPU is an x86])
17 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
2018 fi
2119 if test "x$AMD64_ABI" = "xyes" ; then
2220 HAVE_CPU_X86_64=yes
23 AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the host CPU is a x86_64])
21 AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the target CPU is a x86_64])
2422 fi
2523 ;;
2624 *)
2725 HAVE_CPU_I386=yes
28 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the host CPU is an x86])
26 AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
2927
3028 dnl FIXME could use some better detection
3129 dnl (ie CPUID)
32 case "x${host_cpu}" in
30 case "x${target_cpu}" in
3331 xi386 | xi486) ;;
3432 *)
3533 AC_DEFINE(HAVE_RDTSC, 1, [Define if RDTSC is available]) ;;
3937 ;;
4038 xpowerpc)
4139 HAVE_CPU_PPC=yes
42 AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the host CPU is a PowerPC]) ;;
40 AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PowerPC]) ;;
4341 xpowerpc64)
4442 HAVE_CPU_PPC64=yes
45 AC_DEFINE(HAVE_CPU_PPC64, 1, [Define if the host CPU is a 64 bit PowerPC]) ;;
43 AC_DEFINE(HAVE_CPU_PPC64, 1, [Define if the target CPU is a 64 bit PowerPC]) ;;
4644 xalpha*)
4745 HAVE_CPU_ALPHA=yes
48 AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the host CPU is an Alpha]) ;;
46 AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
4947 xarm*)
5048 HAVE_CPU_ARM=yes
51 AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the host CPU is an ARM]) ;;
49 AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
5250 xsparc*)
5351 HAVE_CPU_SPARC=yes
54 AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the host CPU is a SPARC]) ;;
52 AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a SPARC]) ;;
5553 xmips*)
5654 HAVE_CPU_MIPS=yes
57 AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the host CPU is a MIPS]) ;;
55 AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
5856 xhppa*)
5957 HAVE_CPU_HPPA=yes
60 AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the host CPU is a HPPA]) ;;
58 AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
6159 xs390*)
6260 HAVE_CPU_S390=yes
63 AC_DEFINE(HAVE_CPU_S390, 1, [Define if the host CPU is a S390]) ;;
61 AC_DEFINE(HAVE_CPU_S390, 1, [Define if the target CPU is a S390]) ;;
6462 xia64*)
6563 HAVE_CPU_IA64=yes
66 AC_DEFINE(HAVE_CPU_IA64, 1, [Define if the host CPU is a IA64]) ;;
64 AC_DEFINE(HAVE_CPU_IA64, 1, [Define if the target CPU is a IA64]) ;;
6765 xm68k*)
6866 HAVE_CPU_M68K=yes
69 AC_DEFINE(HAVE_CPU_M68K, 1, [Define if the host CPU is a M68K]) ;;
67 AC_DEFINE(HAVE_CPU_M68K, 1, [Define if the target CPU is a M68K]) ;;
7068 xx86_64)
7169 HAVE_CPU_X86_64=yes
72 AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the host CPU is a x86_64]) ;;
70 AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the target CPU is a x86_64]) ;;
7371 xcris)
7472 HAVE_CPU_CRIS=yes
75 AC_DEFINE(HAVE_CPU_CRIS, 1, [Define if the host CPU is a CRIS]) ;;
73 AC_DEFINE(HAVE_CPU_CRIS, 1, [Define if the target CPU is a CRIS]) ;;
7674 xcrisv32)
7775 HAVE_CPU_CRISV32=yes
78 AC_DEFINE(HAVE_CPU_CRISV32, 1, [Define if the host CPU is a CRISv32]) ;;
76 AC_DEFINE(HAVE_CPU_CRISV32, 1, [Define if the target CPU is a CRISv32]) ;;
7977 esac
8078
8179 dnl Determine endianness
9795 AM_CONDITIONAL(HAVE_CPU_CRISV32, test "x$HAVE_CPU_CRISV32" = "xyes")
9896
9997 AC_DEFINE_UNQUOTED(HOST_CPU, "$host_cpu", [the host CPU])
98 AC_DEFINE_UNQUOTED(TARGET_CPU, "$target_cpu", [the target CPU])
10099 ])
101100
102101 dnl check if unaligned memory access works correctly
1818 dnl AG_GST_ARG_ENABLE_EXPERIMENTAL
1919 dnl AG_GST_ARG_ENABLE_BROKEN
2020
21 dnl AG_GST_ARG_DISABLE_FATAL_WARNINGS
2122 AC_DEFUN([AG_GST_ARG_DEBUG],
2223 [
2324 dnl debugging stuff
109110 dnl if gcov is used, we do not want default -O2 CFLAGS
110111 if test "x$GST_GCOV_ENABLED" = "xyes"
111112 then
112 CFLAGS="-O0"
113 CFLAGS="$CFLAGS -O0"
113114 AC_SUBST(CFLAGS)
114 CXXFLAGS="-O0"
115 CXXFLAGS="$CXXFLAGS -O0"
115116 AC_SUBST(CXXFLAGS)
116 FFLAGS="-O0"
117 FFLAGS="$FFLAGS -O0"
117118 AC_SUBST(FFLAGS)
118 CCASFLAGS="-O0"
119 CCASFLAGS="$CCASFLAGS -O0"
119120 AC_SUBST(CCASFLAGS)
120121 AC_MSG_NOTICE([gcov enabled, setting CFLAGS and friends to $CFLAGS])
121122 fi
224225
225226 GST_PLUGINS_ALL=""
226227 GST_PLUGINS_SELECTED=""
228 GST_PLUGINS_NONPORTED=""
227229
228230 AC_SUBST(GST_PLUGINS_ALL)
229231 AC_SUBST(GST_PLUGINS_SELECTED)
232 AC_SUBST(GST_PLUGINS_NONPORTED)
230233 ])
231234
232235 dnl AG_GST_CHECK_PLUGIN(PLUGIN-NAME)
262265 fi
263266 undefine([pname_def])
264267
268 dnl First check inclusion
265269 if [[ -z "$WITH_PLUGINS" ]] || echo " [$WITH_PLUGINS] " | tr , ' ' | grep -i " [$1] " > /dev/null; then
266270 GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED [$1]"
267271 fi
272 dnl Then check exclusion
268273 if echo " [$WITHOUT_PLUGINS] " | tr , ' ' | grep -i " [$1] " > /dev/null; then
274 GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ [$1] / /'`
275 fi
276 dnl Finally check if the plugin is ported or not
277 if echo " [$GST_PLUGINS_NONPORTED] " | tr , ' ' | grep -i " [$1] " > /dev/null; then
269278 GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ [$1] / /'`
270279 fi
271280 AM_CONDITIONAL([USE_PLUGIN_]translit([$1], a-z, A-Z), echo " $GST_PLUGINS_SELECTED " | grep -i " [$1] " > /dev/null)
324333 AC_MSG_NOTICE([not building broken plug-ins])
325334 ])
326335 ])
336
337 dnl allow people (or build tools) to override default behaviour
338 dnl for fatal compiler warnings
339 AC_DEFUN([AG_GST_ARG_DISABLE_FATAL_WARNINGS],
340 [
341 AC_ARG_ENABLE(fatal-warnings,
342 AC_HELP_STRING([--disable-fatal-warnings],
343 [Don't turn compiler warnings into fatal errors]),
344 [
345 case "${enableval}" in
346 yes) FATAL_WARNINGS=yes ;;
347 no) FATAL_WARNINGS=no ;;
348 *) AC_MSG_ERROR(bad value ${enableval} for --disable-fatal-warnings) ;;
349 esac
350 ],
351 [FATAL_WARNINGS=$GST_GIT]) dnl Default value
352 ])
99 dnl AG_GST_CHECK_GST([MAJMIN], [MINVER], [REQUIRED])
1010 dnl also sets/ACSUBSTs GST_TOOLS_DIR and GST_PLUGINS_DIR
1111 dnl AG_GST_CHECK_GST_BASE([MAJMIN], [MINVER], [REQUIRED])
12 dnl AG_GST_CHECK_GST_GDP([MAJMIN], [MINVER], [REQUIRED])
1312 dnl AG_GST_CHECK_GST_CONTROLLER([MAJMIN], [MINVER], [REQUIRED])
13 dnl AG_GST_CHECK_GST_NET([MAJMIN], [MINVER], [REQUIRED])
1414 dnl AG_GST_CHECK_GST_CHECK([MAJMIN], [MINVER], [REQUIRED])
1515 dnl AG_GST_CHECK_GST_PLUGINS_BASE([MAJMIN], [MINVER], [REQUIRED])
1616 dnl also sets/ACSUBSTs GSTPB_PLUGINS_DIR
9797 [GStreamer Base Libraries], [$3])
9898 ])
9999
100 AC_DEFUN([AG_GST_CHECK_GST_GDP],
101 [
102 AG_GST_CHECK_MODULES(GST_GDP, gstreamer-dataprotocol-[$1], [$2],
103 [GStreamer Data Protocol Library], [$3])
104 ])
105
106100 AC_DEFUN([AG_GST_CHECK_GST_CONTROLLER],
107101 [
108102 AG_GST_CHECK_MODULES(GST_CONTROLLER, gstreamer-controller-[$1], [$2],
109103 [GStreamer Controller Library], [$3])
110104 ])
111105
106 AC_DEFUN([AG_GST_CHECK_GST_NET],
107 [
108 AG_GST_CHECK_MODULES(GST_NET, gstreamer-net-[$1], [$2],
109 [GStreamer Network Library], [$3])
110 ])
111
112112 AC_DEFUN([AG_GST_CHECK_GST_CHECK],
113113 [
114114 AG_GST_CHECK_MODULES(GST_CHECK, gstreamer-check-[$1], [$2],
116116 ])
117117
118118 dnl ===========================================================================
119 dnl AG_GST_CHECK_GST_PLUGINS_BASE([GST-MAJORMINOR], [MIN-VERSION], [REQUIRED])
119 dnl AG_GST_CHECK_UNINSTALLED_SETUP([ACTION-IF-UNINSTALLED], [ACTION-IF-NOT])
120 dnl
121 dnl ACTION-IF-UNINSTALLED (optional) extra actions to perform if the setup
122 dnl is an uninstalled setup
123 dnl ACTION-IF-NOT (optional) extra actions to perform if the setup
124 dnl is not an uninstalled setup
125 dnl ===========================================================================
126 AC_DEFUN([AG_GST_CHECK_UNINSTALLED_SETUP],
127 [
128 AC_MSG_CHECKING([whether this is an uninstalled GStreamer setup])
129 AC_CACHE_VAL(gst_cv_is_uninstalled_setup,[
130 gst_cv_is_uninstalled_setup=no
131 if (set -u; : $GST_PLUGIN_SYSTEM_PATH) 2>/dev/null ; then
132 if test -z "$GST_PLUGIN_SYSTEM_PATH" \
133 -a -n "$GST_PLUGIN_SCANNER" \
134 -a -n "$GST_PLUGIN_PATH" \
135 -a -n "$GST_REGISTRY" \
136 -a -n "$DYLD_LIBRARY_PATH" \
137 -a -n "$LD_LIBRARY_PATH"; then
138 gst_cv_is_uninstalled_setup=yes;
139 fi
140 fi
141 ])
142 AC_MSG_RESULT($gst_cv_is_uninstalled_setup)
143 if test "x$gst_cv_is_uninstalled_setup" = "xyes"; then
144 ifelse([$1], , :, [$1])
145 else
146 ifelse([$2], , :, [$2])
147 fi
148 ])
149
150 dnl ===========================================================================
151 dnl AG_GST_CHECK_GST_PLUGINS_BASE([GST-API_VERSION], [MIN-VERSION], [REQUIRED])
120152 dnl
121153 dnl Sets GST_PLUGINS_BASE_CFLAGS and GST_PLUGINS_BASE_LIBS.
122154 dnl
149181 ])
150182
151183 dnl ===========================================================================
152 dnl AG_GST_CHECK_GST_PLUGINS_GOOD([GST-MAJORMINOR], [MIN-VERSION])
184 dnl AG_GST_CHECK_GST_PLUGINS_GOOD([GST-API_VERSION], [MIN-VERSION])
153185 dnl
154186 dnl Will set GST_PLUGINS_GOOD_DIR for use in Makefile.am. Note that this will
155187 dnl only be set in an uninstalled setup, since -good ships no .pc file and in
177209 ])
178210
179211 dnl ===========================================================================
180 dnl AG_GST_CHECK_GST_PLUGINS_UGLY([GST-MAJORMINOR], [MIN-VERSION])
212 dnl AG_GST_CHECK_GST_PLUGINS_UGLY([GST-API_VERSION], [MIN-VERSION])
181213 dnl
182214 dnl Will set GST_PLUGINS_UGLY_DIR for use in Makefile.am. Note that this will
183215 dnl only be set in an uninstalled setup, since -bad ships no .pc file and in
205237 ])
206238
207239 dnl ===========================================================================
208 dnl AG_GST_CHECK_GST_PLUGINS_BAD([GST-MAJORMINOR], [MIN-VERSION])
240 dnl AG_GST_CHECK_GST_PLUGINS_BAD([GST-API_VERSION], [MIN-VERSION])
209241 dnl
210242 dnl Will set GST_PLUGINS_BAD_DIR for use in Makefile.am. Note that this will
211243 dnl only be set in an uninstalled setup, since -ugly ships no .pc file and in
233265 ])
234266
235267 dnl ===========================================================================
236 dnl AG_GST_CHECK_GST_PLUGINS_FFMPEG([GST-MAJORMINOR], [MIN-VERSION])
268 dnl AG_GST_CHECK_GST_PLUGINS_FFMPEG([GST-API_VERSION], [MIN-VERSION])
237269 dnl
238270 dnl Will set GST_PLUGINS_FFMPEG_DIR for use in Makefile.am. Note that this will
239271 dnl only be set in an uninstalled setup, since -ffmpeg ships no .pc file and in
44 then
55 AC_MSG_ERROR([Internal error - PACKAGE_TARNAME not set])
66 fi
7 docdir="\$(datadir)/doc/$PACKAGE_TARNAME-$GST_MAJORMINOR"
7 docdir="\$(datadir)/doc/$PACKAGE_TARNAME-$GST_API_VERSION"
88
99 dnl enable/disable docbook documentation building
1010 AC_ARG_ENABLE(docbook,
195195 AC_MSG_NOTICE([set ERROR_CXXFLAGS to $ERROR_CXXFLAGS])
196196 ])
197197
198 dnl Sets WARNING_OBJCFLAGS and ERROR_OBJCFLAGS to something the compiler
199 dnl will accept and AC_SUBST them so they are available in Makefile
200 dnl
201 dnl WARNING_OBJCFLAGS will contain flags to make the compiler emit more
202 dnl warnings.
203 dnl ERROR_OBJCFLAGS will contain flags to make those warnings fatal,
204 dnl unless ADD-WERROR is set to "no"
205 dnl
206 dnl If MORE_FLAGS is set, tries to add each of the given flags
207 dnl to WARNING_CFLAGS if the compiler supports them. Each flag is
208 dnl tested separately.
209 dnl
210 dnl These flags can be overridden at make time:
211 dnl make ERROR_OBJCFLAGS=
212 AC_DEFUN([AG_GST_SET_ERROR_OBJCFLAGS],
213 [
214 AC_REQUIRE([AC_PROG_OBJC])
215 AC_REQUIRE([AS_OBJC_COMPILER_FLAG])
216
217 ERROR_OBJCFLAGS=""
218 WARNING_OBJCFLAGS=""
219
220 dnl if we support -Wall, set it unconditionally
221 AS_OBJC_COMPILER_FLAG(-Wall, WARNING_OBJCFLAGS="$WARNING_OBJCFLAGS -Wall")
222
223 dnl if asked for, add -Werror if supported
224 if test "x$1" != "xno"
225 then
226 AS_OBJC_COMPILER_FLAG(-Werror, ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -Werror")
227
228 if test "x$ERROR_OBJCFLAGS" != "x"
229 then
230 dnl Add -fno-strict-aliasing for GLib versions before 2.19.8
231 dnl as before G_LOCK and friends caused strict aliasing compiler
232 dnl warnings.
233 PKG_CHECK_EXISTS([glib-2.0 < 2.19.8], [
234 AS_OBJC_COMPILER_FLAG([-fno-strict-aliasing],
235 ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -fno-strict-aliasing")
236 ])
237 else
238 dnl if -Werror isn't suported, try -errwarn=%all
239 AS_OBJC_COMPILER_FLAG([-errwarn=%all], ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -errwarn=%all")
240 if test "x$ERROR_OBJCFLAGS" != "x"; then
241 dnl try -errwarn=%all,no%E_EMPTY_DECLARATION,
242 dnl no%E_STATEMENT_NOT_REACHED,no%E_ARGUEMENT_MISMATCH,
243 dnl no%E_MACRO_REDEFINED (Sun Forte case)
244 dnl For Forte we need disable "empty declaration" warning produced by un-needed semicolon
245 dnl "statement not reached" disabled because there is g_assert_not_reached () in some places
246 dnl "macro redefined" because of gst/gettext.h
247 dnl FIXME: is it really supposed to be 'ARGUEMENT' and not 'ARGUMENT'?
248 dnl FIXME: do any of these work with the c++ compiler? if not, why
249 dnl do we check at all?
250 for f in 'no%E_EMPTY_DECLARATION' \
251 'no%E_STATEMENT_NOT_REACHED' \
252 'no%E_ARGUEMENT_MISMATCH' \
253 'no%E_MACRO_REDEFINED' \
254 'no%E_LOOP_NOT_ENTERED_AT_TOP'
255 do
256 AS_OBJC_COMPILER_FLAG([-errwarn=%all,$f], ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS,$f")
257 done
258 fi
259 fi
260 fi
261
262 if test "x$2" != "x"
263 then
264 UNSUPPORTED=""
265 list="$2"
266 for each in $list
267 do
268 AS_OBJC_COMPILER_FLAG($each,
269 WARNING_OBJCFLAGS="$WARNING_OBJCFLAGS $each",
270 UNSUPPORTED="$UNSUPPORTED $each")
271 done
272 if test "X$UNSUPPORTED" != X ; then
273 AC_MSG_NOTICE([unsupported compiler flags: $UNSUPPORTED])
274 fi
275 fi
276
277 AC_SUBST(WARNING_OBJCFLAGS)
278 AC_SUBST(ERROR_OBJCFLAGS)
279 AC_MSG_NOTICE([set WARNING_OBJCFLAGS to $WARNING_OBJCFLAGS])
280 AC_MSG_NOTICE([set ERROR_OBJCFLAGS to $ERROR_OBJCFLAGS])
281 ])
282
198283 dnl Sets the default error level for debugging messages
199284 AC_DEFUN([AG_GST_SET_LEVEL_DEFAULT],
200285 [
7575 fi
7676 NOUSE=
7777
78 dnl *** Check if it is ported or not
79 if echo " [$GST_PLUGINS_NONPORTED] " | tr , ' ' | grep -i " [$1] " > /dev/null; then
80 USE_[$1]="no"
81 AC_MSG_WARN(*** $3 not ported)
82 fi
83
7884 dnl *** If it's enabled
7985
8086 if test x$USE_[$1] = xyes; then
231237 save_CFLAGS="$CFLAGS"
232238 CFLAGS="$GST_CFLAGS $CFLAGS"
233239 AC_COMPILE_IFELSE([
240 AC_LANG_SOURCE([[
234241 #include <gst/gstconfig.h>
235242 #ifdef GST_DISABLE_GST_DEBUG
236243 #error "debugging disabled, make compiler fail"
237 #endif], [ debug_system_enabled=yes], [debug_system_enabled=no])
244 #endif]])], [ debug_system_enabled=yes], [debug_system_enabled=no])
238245 CFLAGS="$save_CFLAGS"
239246 AC_LANG_POP([C])
240247
269276 done ) | sort
270277 printf "\n"
271278
279 printf "configure: *** Plug-ins that have NOT been ported:\n"
280 ( for i in $GST_PLUGINS_NONPORTED; do
281 printf '\t'$i'\n'
282 done ) | sort
283 printf "\n"
284
272285 if test "x$BUILD_EXTERNAL" = "xno"; then
273286 printf "configure: *** No plug-ins with external dependencies will be built\n"
274287 else
7171 AS_SCRUB_INCLUDE(GLIB_CFLAGS)
7272
7373 AC_SUBST(GLIB_EXTRA_CFLAGS)
74
75 dnl Now check for GIO
76 PKG_CHECK_MODULES(GIO, gio-2.0 >= $GLIB_REQ)
77 if test "x$HAVE_GIO" = "xno"; then
78 AC_MSG_ERROR([This package requires GIO >= $GLIB_REQ to compile.])
79 fi
80
81 GIO_MODULE_DIR="`$PKG_CONFIG --variable=giomoduledir gio-2.0`"
82 AC_DEFINE_UNQUOTED(GIO_MODULE_DIR, "$GIO_MODULE_DIR",
83 [The GIO modules directory.])
84 GIO_LIBDIR="`$PKG_CONFIG --variable=libdir gio-2.0`"
85 AC_DEFINE_UNQUOTED(GIO_LIBDIR, "$GIO_LIBDIR",
86 [The GIO library directory.])
87 AC_SUBST(GIO_CFLAGS)
88 AC_SUBST(GIO_LIBS)
89 AC_SUBST(GIO_LDFLAGS)
7490 ])
3333 dnl we need version >= 2.5.31 for the reentrancy support
3434 dnl in the parser.
3535 flex_min_version=2.5.31
36 flex_version=`$FLEX_PATH --version | head -n 1 | sed 's/^.* //' | sed 's/[[a-zA-Z]]*$//' | cut -d' ' -f1`
36 flex_version=`$FLEX_PATH --version | head -n 1 | awk '{print $2}'`
3737 AC_MSG_CHECKING([flex version $flex_version >= $flex_min_version])
3838 if perl -w <<EOF
3939 (\$min_version_major, \$min_version_minor, \$min_version_micro ) = "$flex_min_version" =~ /(\d+)\.(\d+)\.(\d+)/;
55 AC_DEFUN([AG_GST_SET_PLUGINDIR],
66 [
77 dnl define location of plugin directory
8 AS_AC_EXPAND(PLUGINDIR, ${libdir}/gstreamer-$GST_MAJORMINOR)
8 AS_AC_EXPAND(PLUGINDIR, ${libdir}/gstreamer-$GST_API_VERSION)
99 AC_DEFINE_UNQUOTED(PLUGINDIR, "$PLUGINDIR",
1010 [directory where plugins are located])
1111 AC_MSG_NOTICE([Using $PLUGINDIR as the plugin install location])
1212
1313 dnl plugin directory configure-time variable for use in Makefile.am
14 plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
14 plugindir="\$(libdir)/gstreamer-$GST_API_VERSION"
1515 AC_SUBST(plugindir)
1616 ])
22 dnl all GStreamer autoconf macros are prefixed
33 dnl with AG_GST_ for public macros
44 dnl with _AG_GST_ for private macros
5 dnl
6 dnl We call AC_CANONICAL_TARGET and AC_CANONICAL_HOST so that
7 dnl it is valid before AC_ARG_PROGRAM is called
58
69 AC_DEFUN([AG_GST_INIT],
710 [
811 m4_pattern_forbid(^_?AG_GST_)
12 AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use host_ variables
13 AC_REQUIRE([AC_CANONICAL_TARGET]) dnl we use target_ variables
914 ])
1015
1116 dnl AG_GST_PKG_CONFIG_PATH
55 dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
66 AC_DEFUN([GTK_DOC_CHECK],
77 [
8 AC_REQUIRE([PKG_PROG_PKG_CONFIG])
89 AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
910 AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
11
12 dnl check for tools we added during development
13 AC_PATH_PROG([GTKDOC_CHECK],[gtkdoc-check])
14 AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
15 AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])
16
1017 dnl for overriding the documentation installation directory
1118 AC_ARG_WITH([html-dir],
1219 AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
2532 [PKG_CHECK_EXISTS([gtk-doc],,
2633 AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))],
2734 [PKG_CHECK_EXISTS([gtk-doc >= $1],,
28 AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build gtk-doc]))])
35 AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))])
36 dnl don't check for glib if we build glib
37 if test "x$PACKAGE_NAME" != "xglib"; then
38 dnl don't fail if someone does not have glib
39 PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,)
40 fi
41 dnl don't rely on sed being pulled in implicitly. Fixes Solaris build.
2942 if test -z "$SED"; then
3043 AC_PROG_SED
3144 fi
3447 AC_MSG_CHECKING([whether to build gtk-doc documentation])
3548 AC_MSG_RESULT($enable_gtk_doc)
3649
37 AC_PATH_PROGS(GTKDOC_CHECK,gtkdoc-check,)
50 dnl enable/disable output formats
51 AC_ARG_ENABLE([gtk-doc-html],
52 AS_HELP_STRING([--enable-gtk-doc-html],
53 [build documentation in html format [[default=yes]]]),,
54 [enable_gtk_doc_html=yes])
55 AC_ARG_ENABLE([gtk-doc-pdf],
56 AS_HELP_STRING([--enable-gtk-doc-pdf],
57 [build documentation in pdf format [[default=no]]]),,
58 [enable_gtk_doc_pdf=no])
59
60 if test -z "$GTKDOC_MKPDF"; then
61 enable_gtk_doc_pdf=no
62 fi
63
3864
3965 AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
66 AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
67 AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
4068 AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
69 AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"])
4170 ])
00 # include this snippet to add a common release: target by using
11 # include $(top_srcdir)/common/release.mak
22
3 # make bz2 as well
4 AUTOMAKE_OPTIONS = dist-bzip2
5
63 release: dist
7 $(MAKE) $(PACKAGE)-$(VERSION).tar.gz.md5
8 $(MAKE) $(PACKAGE)-$(VERSION).tar.bz2.md5
4 $(MAKE) $(PACKAGE)-$(VERSION).tar.xz.md5
95
106 # generate md5 sum files
117 %.md5: %
3838 @fail=0 ; \
3939 for l in $(win32defs); do \
4040 libbase=`basename "$$l" ".def"`; \
41 libso=`find "$(top_builddir)" -name "$$libbase-@GST_MAJORMINOR@.so" | grep -v /_build/ | head -n1`; \
41 libso=`find "$(top_builddir)" -name "$$libbase-@GST_API_VERSION@.so" | grep -v /_build/ | head -n1`; \
4242 libdef="$(top_srcdir)/win32/common/$$libbase.def"; \
4343 if test "x$$libso" != "x"; then \
4444 echo Checking symbols in $$libso; \
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3232 POST_UNINSTALL = :
3333 build_triplet = @build@
3434 host_triplet = @host@
35 target_triplet = @target@
3536 subdir = common-modified
3637 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
3738 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
3940 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4041 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4142 $(top_srcdir)/common/m4/as-libtool.m4 \
43 $(top_srcdir)/common/m4/as-python.m4 \
4244 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4345 $(top_srcdir)/common/m4/as-version.m4 \
4446 $(top_srcdir)/common/m4/gst-arch.m4 \
5153 $(top_srcdir)/common/m4/gst.m4 \
5254 $(top_srcdir)/common/m4/gtk-doc.m4 \
5355 $(top_srcdir)/common/m4/pkg.m4 \
54 $(top_srcdir)/m4/as-check-python-headers.m4 \
5556 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
5657 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
5758 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
6263 CONFIG_HEADER = $(top_builddir)/config.h
6364 CONFIG_CLEAN_FILES =
6465 CONFIG_CLEAN_VPATH_FILES =
65 AM_V_GEN = $(am__v_GEN_$(V))
66 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
66 AM_V_GEN = $(am__v_GEN_@AM_V@)
67 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
6768 am__v_GEN_0 = @echo " GEN " $@;
68 AM_V_at = $(am__v_at_$(V))
69 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
69 AM_V_at = $(am__v_at_@AM_V@)
70 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
7071 am__v_at_0 = @
7172 SOURCES =
7273 DIST_SOURCES =
7677 AMTAR = @AMTAR@
7778 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
7879 AR = @AR@
80 AS = @AS@
7981 AUTOCONF = @AUTOCONF@
8082 AUTOHEADER = @AUTOHEADER@
8183 AUTOMAKE = @AUTOMAKE@
103105 FGREP = @FGREP@
104106 FS_AGE = @FS_AGE@
105107 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
108 FS_APIVERSION = @FS_APIVERSION@
109 FS_API_VERSION = @FS_API_VERSION@
106110 FS_CFLAGS = @FS_CFLAGS@
107111 FS_CURRENT = @FS_CURRENT@
108112 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
111115 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
112116 FS_LICENSE = @FS_LICENSE@
113117 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
114 FS_MAJORMINOR = @FS_MAJORMINOR@
115 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
116118 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
117119 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
118120 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
125127 GCOV = @GCOV@
126128 GCOV_CFLAGS = @GCOV_CFLAGS@
127129 GCOV_LIBS = @GCOV_LIBS@
130 GIO_CFLAGS = @GIO_CFLAGS@
131 GIO_LDFLAGS = @GIO_LDFLAGS@
132 GIO_LIBS = @GIO_LIBS@
128133 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
129134 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
130135 GLIB_CFLAGS = @GLIB_CFLAGS@
134139 GLIB_REQ = @GLIB_REQ@
135140 GREP = @GREP@
136141 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
142 GST_API_VERSION = @GST_API_VERSION@
137143 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
138144 GST_BASE_LIBS = @GST_BASE_LIBS@
139145 GST_CFLAGS = @GST_CFLAGS@
142148 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
143149 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
144150 GST_LIBS = @GST_LIBS@
145 GST_MAJORMINOR = @GST_MAJORMINOR@
146151 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
147152 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
148153 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
152157 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
153158 GST_TOOLS_DIR = @GST_TOOLS_DIR@
154159 GTKDOC_CHECK = @GTKDOC_CHECK@
160 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
161 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
162 GTKDOC_MKPDF = @GTKDOC_MKPDF@
163 GTKDOC_REBASE = @GTKDOC_REBASE@
155164 GUPNP_CFLAGS = @GUPNP_CFLAGS@
156165 GUPNP_LIBS = @GUPNP_LIBS@
157166 HTML_DIR = @HTML_DIR@
203212 PKG_CONFIG = @PKG_CONFIG@
204213 PLUGINDIR = @PLUGINDIR@
205214 PROFILE_CFLAGS = @PROFILE_CFLAGS@
206 PYCODEGEN = @PYCODEGEN@
207 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
208 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
209 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
210 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
211215 PYTHON = @PYTHON@
212216 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
213 PYTHON_INCLUDES = @PYTHON_INCLUDES@
214217 PYTHON_PLATFORM = @PYTHON_PLATFORM@
215218 PYTHON_PREFIX = @PYTHON_PREFIX@
216219 PYTHON_VERSION = @PYTHON_VERSION@
277280 sharedstatedir = @sharedstatedir@
278281 srcdir = @srcdir@
279282 sysconfdir = @sysconfdir@
283 target = @target@
280284 target_alias = @target_alias@
285 target_cpu = @target_cpu@
286 target_os = @target_os@
287 target_vendor = @target_vendor@
281288 top_build_prefix = @top_build_prefix@
282289 top_builddir = @top_builddir@
283290 top_srcdir = @top_srcdir@
375382
376383 installcheck: installcheck-am
377384 install-strip:
378 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
379 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
380 `test -z '$(STRIP)' || \
381 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
385 if test -z '$(STRIP)'; then \
386 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
387 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
388 install; \
389 else \
390 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
391 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
392 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
393 fi
382394 mostlyclean-generic:
383395
384396 clean-generic:
2525 GPATH = $(srcdir)
2626
2727 # thomas: make docs parallel installable
28 TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)-@FS_MAJORMINOR@
28 TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)-@FS_APIVERSION@
2929
3030 MAINTAINER_DOC_STAMPS = \
3131 scanobj-build.stamp \
228228 fi; \
229229 cd html && gtkdoc-mkhtml $$mkhtml_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE)
230230 @mv html/index.sgml html/index.sgml.bak
231 @$(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_MAJORMINOR@\//g" html/index.sgml.bak >html/index.sgml
231 @$(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_API_VERSION@\//g" html/index.sgml.bak >html/index.sgml
232232 @rm -f html/index.sgml.bak
233233 @rm -f html/$(DOC_MAIN_SGML_FILE)
234234 @rm -rf html/xml
296296 echo '-- Installing $(builddir)/html/$(DOC_MODULE).devhelp2' ; \
297297 if test -e $(builddir)/html/$(DOC_MODULE).devhelp2; then \
298298 $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE).devhelp2 \
299 $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp2; \
299 $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
300300 fi; \
301301 (which gtkdoc-rebase >/dev/null && \
302302 gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR)) || true ; \
00 #! /bin/sh
11 # Attempt to guess a canonical system name.
22 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
3 # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
3 # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
44 # Free Software Foundation, Inc.
55
6 timestamp='2009-02-03'
6 timestamp='2009-11-20'
77
88 # This file is free software; you can redistribute it and/or modify it
99 # under the terms of the GNU General Public License as published by
2626 # the same distribution terms that you use for the rest of that program.
2727
2828
29 # Originally written by Per Bothner <per@bothner.com>.
30 # Please send patches to <config-patches@gnu.org>. Submit a context
31 # diff and a properly formatted ChangeLog entry.
29 # Originally written by Per Bothner. Please send patches (context
30 # diff format) to <config-patches@gnu.org> and include a ChangeLog
31 # entry.
3232 #
3333 # This script attempts to guess a canonical system name similar to
3434 # config.sub. If it succeeds, it prints the system name on stdout, and
3535 # exits with 0. Otherwise, it exits with 1.
3636 #
37 # The plan is that this can be called by configure scripts if you
38 # don't specify an explicit build system type.
37 # You can get the latest version of this script from:
38 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
3939
4040 me=`echo "$0" | sed -e 's,.*/,,'`
4141
137137 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
138138 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
139139 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
140
141 if [ "${UNAME_SYSTEM}" = "Linux" ] ; then
142 eval $set_cc_for_build
143 cat << EOF > $dummy.c
144 #include <features.h>
145 #ifdef __UCLIBC__
146 # ifdef __UCLIBC_CONFIG_VERSION__
147 LIBC=uclibc __UCLIBC_CONFIG_VERSION__
148 # else
149 LIBC=uclibc
150 # endif
151 #else
152 LIBC=gnu
153 #endif
154 EOF
155 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'`
156 fi
157140
158141 # Note: order is significant - the case branches are not exclusive.
159142
186169 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
187170 eval $set_cc_for_build
188171 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
189 | grep __ELF__ >/dev/null
172 | grep -q __ELF__
190173 then
191174 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
192175 # Return netbsd for either. FIX?
340323 case `/usr/bin/uname -p` in
341324 sparc) echo sparc-icl-nx7; exit ;;
342325 esac ;;
326 s390x:SunOS:*:*)
327 echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
328 exit ;;
343329 sun4H:SunOS:5.*:*)
344330 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
345331 exit ;;
346332 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
347333 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
334 exit ;;
335 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
336 echo i386-pc-auroraux${UNAME_RELEASE}
348337 exit ;;
349338 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
350339 eval $set_cc_for_build
669658 # => hppa64-hp-hpux11.23
670659
671660 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
672 grep __LP64__ >/dev/null
661 grep -q __LP64__
673662 then
674663 HP_ARCH="hppa2.0w"
675664 else
820809 i*:PW*:*)
821810 echo ${UNAME_MACHINE}-pc-pw32
822811 exit ;;
823 *:Interix*:[3456]*)
812 *:Interix*:*)
824813 case ${UNAME_MACHINE} in
825814 x86)
826815 echo i586-pc-interix${UNAME_RELEASE}
827816 exit ;;
828 EM64T | authenticamd | genuineintel)
817 authenticamd | genuineintel | EM64T)
829818 echo x86_64-unknown-interix${UNAME_RELEASE}
830819 exit ;;
831820 IA64)
835824 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
836825 echo i${UNAME_MACHINE}-pc-mks
837826 exit ;;
827 8664:Windows_NT:*)
828 echo x86_64-pc-mks
829 exit ;;
838830 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
839831 # How do we know it's Interix rather than the generic POSIX subsystem?
840832 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
863855 exit ;;
864856 i*86:Minix:*:*)
865857 echo ${UNAME_MACHINE}-pc-minix
866 exit ;;
867 arm*:Linux:*:*)
868 eval $set_cc_for_build
869 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
870 | grep -q __ARM_EABI__
871 then
872 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
873 else
874 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
875 fi
876 exit ;;
877 avr32*:Linux:*:*)
878 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
879 exit ;;
880 cris:Linux:*:*)
881 echo cris-axis-linux-${LIBC}
882 exit ;;
883 crisv32:Linux:*:*)
884 echo crisv32-axis-linux-${LIBC}
885 exit ;;
886 frv:Linux:*:*)
887 echo frv-unknown-linux-${LIBC}
888 exit ;;
889 ia64:Linux:*:*)
890 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
891 exit ;;
892 m32r*:Linux:*:*)
893 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
894 exit ;;
895 m68*:Linux:*:*)
896 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
897 exit ;;
898 mips:Linux:*:*)
899 eval $set_cc_for_build
900 sed 's/^ //' << EOF >$dummy.c
901 #undef CPU
902 #undef mips
903 #undef mipsel
904 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
905 CPU=mipsel
906 #else
907 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
908 CPU=mips
909 #else
910 CPU=
911 #endif
912 #endif
913 EOF
914 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
915 /^CPU/{
916 s: ::g
917 p
918 }'`"
919 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
920 ;;
921 mips64:Linux:*:*)
922 eval $set_cc_for_build
923 sed 's/^ //' << EOF >$dummy.c
924 #undef CPU
925 #undef mips64
926 #undef mips64el
927 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
928 CPU=mips64el
929 #else
930 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
931 CPU=mips64
932 #else
933 CPU=
934 #endif
935 #endif
936 EOF
937 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
938 /^CPU/{
939 s: ::g
940 p
941 }'`"
942 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
943 ;;
944 or32:Linux:*:*)
945 echo or32-unknown-linux-${LIBC}
946 exit ;;
947 ppc:Linux:*:*)
948 echo powerpc-unknown-linux-${LIBC}
949 exit ;;
950 ppc64:Linux:*:*)
951 echo powerpc64-unknown-linux-${LIBC}
952858 exit ;;
953859 alpha:Linux:*:*)
954860 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
960866 EV67) UNAME_MACHINE=alphaev67 ;;
961867 EV68*) UNAME_MACHINE=alphaev68 ;;
962868 esac
963 objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
964 if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
965 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
966 exit ;;
967 padre:Linux:*:*)
968 echo sparc-unknown-linux-gnu
969 exit ;;
970 parisc:Linux:*:* | hppa:Linux:*:*)
971 # Look for CPU level
972 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
973 PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
974 PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
975 *) echo hppa-unknown-linux-${LIBC} ;;
976 esac
977 exit ;;
978 parisc64:Linux:*:* | hppa64:Linux:*:*)
979 echo hppa64-unknown-linux-${LIBC}
980 exit ;;
981 s390:Linux:*:* | s390x:Linux:*:*)
982 echo ${UNAME_MACHINE}-ibm-linux
983 exit ;;
984 sh64*:Linux:*:*)
985 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
986 exit ;;
987 sh*:Linux:*:*)
988 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
989 exit ;;
990 sparc:Linux:*:* | sparc64:Linux:*:*)
991 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
992 exit ;;
993 vax:Linux:*:*)
994 echo ${UNAME_MACHINE}-dec-linux-${LIBC}
995 exit ;;
996 x86_64:Linux:*:*)
997 echo x86_64-unknown-linux-${LIBC}
998 exit ;;
999 xtensa*:Linux:*:*)
1000 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
869 objdump --private-headers /bin/sh | grep -q ld.so.1
870 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
871 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
872 exit ;;
873 arm*:Linux:*:*)
874 eval $set_cc_for_build
875 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
876 | grep -q __ARM_EABI__
877 then
878 echo ${UNAME_MACHINE}-unknown-linux-gnu
879 else
880 echo ${UNAME_MACHINE}-unknown-linux-gnueabi
881 fi
882 exit ;;
883 avr32*:Linux:*:*)
884 echo ${UNAME_MACHINE}-unknown-linux-gnu
885 exit ;;
886 cris:Linux:*:*)
887 echo cris-axis-linux-gnu
888 exit ;;
889 crisv32:Linux:*:*)
890 echo crisv32-axis-linux-gnu
891 exit ;;
892 frv:Linux:*:*)
893 echo frv-unknown-linux-gnu
1001894 exit ;;
1002895 i*86:Linux:*:*)
1003 # The BFD linker knows what the default object file format is, so
1004 # first see if it will tell us. cd to the root directory to prevent
1005 # problems with other programs or directories called `ld' in the path.
1006 # Set LC_ALL=C to ensure ld outputs messages in English.
1007 ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
1008 | sed -ne '/supported targets:/!d
1009 s/[ ][ ]*/ /g
1010 s/.*supported targets: *//
1011 s/ .*//
1012 p'`
1013 case "$ld_supported_targets" in
1014 elf32-i386)
1015 TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}"
1016 ;;
1017 a.out-i386-linux)
1018 echo "${UNAME_MACHINE}-pc-linux-${LIBC}aout"
1019 exit ;;
1020 "")
1021 # Either a pre-BFD a.out linker (linux-gnuoldld) or
1022 # one that does not give us useful --help.
1023 echo "${UNAME_MACHINE}-pc-linux-${LIBC}oldld"
1024 exit ;;
1025 esac
1026 # This should get integrated into the C code below, but now we hack
1027 if [ "$LIBC" != "gnu" ] ; then echo "$TENTATIVE" && exit 0 ; fi
1028 # Determine whether the default compiler is a.out or elf
896 LIBC=gnu
1029897 eval $set_cc_for_build
1030898 sed 's/^ //' << EOF >$dummy.c
1031 #include <features.h>
1032 #ifdef __ELF__
1033 # ifdef __GLIBC__
1034 # if __GLIBC__ >= 2
1035 LIBC=gnu
1036 # else
1037 LIBC=gnulibc1
1038 # endif
1039 # else
1040 LIBC=gnulibc1
1041 # endif
1042 #else
1043 #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1044 LIBC=gnu
1045 #else
1046 LIBC=gnuaout
1047 #endif
1048 #endif
1049899 #ifdef __dietlibc__
1050900 LIBC=dietlibc
1051901 #endif
1052902 EOF
1053 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1054 /^LIBC/{
1055 s: ::g
1056 p
1057 }'`"
1058 test x"${LIBC}" != x && {
1059 echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1060 exit
1061 }
1062 test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
903 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
904 echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
905 exit ;;
906 ia64:Linux:*:*)
907 echo ${UNAME_MACHINE}-unknown-linux-gnu
908 exit ;;
909 m32r*:Linux:*:*)
910 echo ${UNAME_MACHINE}-unknown-linux-gnu
911 exit ;;
912 m68*:Linux:*:*)
913 echo ${UNAME_MACHINE}-unknown-linux-gnu
914 exit ;;
915 mips:Linux:*:* | mips64:Linux:*:*)
916 eval $set_cc_for_build
917 sed 's/^ //' << EOF >$dummy.c
918 #undef CPU
919 #undef ${UNAME_MACHINE}
920 #undef ${UNAME_MACHINE}el
921 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
922 CPU=${UNAME_MACHINE}el
923 #else
924 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
925 CPU=${UNAME_MACHINE}
926 #else
927 CPU=
928 #endif
929 #endif
930 EOF
931 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
932 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
1063933 ;;
934 or32:Linux:*:*)
935 echo or32-unknown-linux-gnu
936 exit ;;
937 padre:Linux:*:*)
938 echo sparc-unknown-linux-gnu
939 exit ;;
940 parisc64:Linux:*:* | hppa64:Linux:*:*)
941 echo hppa64-unknown-linux-gnu
942 exit ;;
943 parisc:Linux:*:* | hppa:Linux:*:*)
944 # Look for CPU level
945 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
946 PA7*) echo hppa1.1-unknown-linux-gnu ;;
947 PA8*) echo hppa2.0-unknown-linux-gnu ;;
948 *) echo hppa-unknown-linux-gnu ;;
949 esac
950 exit ;;
951 ppc64:Linux:*:*)
952 echo powerpc64-unknown-linux-gnu
953 exit ;;
954 ppc:Linux:*:*)
955 echo powerpc-unknown-linux-gnu
956 exit ;;
957 s390:Linux:*:* | s390x:Linux:*:*)
958 echo ${UNAME_MACHINE}-ibm-linux
959 exit ;;
960 sh64*:Linux:*:*)
961 echo ${UNAME_MACHINE}-unknown-linux-gnu
962 exit ;;
963 sh*:Linux:*:*)
964 echo ${UNAME_MACHINE}-unknown-linux-gnu
965 exit ;;
966 sparc:Linux:*:* | sparc64:Linux:*:*)
967 echo ${UNAME_MACHINE}-unknown-linux-gnu
968 exit ;;
969 vax:Linux:*:*)
970 echo ${UNAME_MACHINE}-dec-linux-gnu
971 exit ;;
972 x86_64:Linux:*:*)
973 echo x86_64-unknown-linux-gnu
974 exit ;;
975 xtensa*:Linux:*:*)
976 echo ${UNAME_MACHINE}-unknown-linux-gnu
977 exit ;;
1064978 i*86:DYNIX/ptx:4*:*)
1065979 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1066980 # earlier versions are messed up and put the nodename in both
10891003 i*86:syllable:*:*)
10901004 echo ${UNAME_MACHINE}-pc-syllable
10911005 exit ;;
1092 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1006 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
10931007 echo i386-unknown-lynxos${UNAME_RELEASE}
10941008 exit ;;
10951009 i*86:*DOS:*:*)
11331047 pc:*:*:*)
11341048 # Left here for compatibility:
11351049 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1136 # the processor, so we play safe by assuming i386.
1137 echo i386-pc-msdosdjgpp
1050 # the processor, so we play safe by assuming i586.
1051 # Note: whatever this is, it MUST be the same as what config.sub
1052 # prints for the "djgpp" host, or else GDB configury will decide that
1053 # this is a cross-build.
1054 echo i586-pc-msdosdjgpp
11381055 exit ;;
11391056 Intel:Mach:3*:*)
11401057 echo i386-pc-mach3
11941111 rs6000:LynxOS:2.*:*)
11951112 echo rs6000-unknown-lynxos${UNAME_RELEASE}
11961113 exit ;;
1197 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1114 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
11981115 echo powerpc-unknown-lynxos${UNAME_RELEASE}
11991116 exit ;;
12001117 SM[BE]S:UNIX_SV:*:*)
12871204 *:Darwin:*:*)
12881205 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
12891206 case $UNAME_PROCESSOR in
1207 i386)
1208 eval $set_cc_for_build
1209 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1210 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1211 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1212 grep IS_64BIT_ARCH >/dev/null
1213 then
1214 UNAME_PROCESSOR="x86_64"
1215 fi
1216 fi ;;
12901217 unknown) UNAME_PROCESSOR=powerpc ;;
12911218 esac
12921219 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
22 /* Define if building universal (internal helper macro) */
33 #undef AC_APPLE_UNIVERSAL_BUILD
44
5 /* Farstream x.y API version */
6 #undef FS_APIVERSION
7
8 /* Farstream x_y API version */
9 #undef FS_API_VERSION
10
511 /* Farstream license */
612 #undef FS_LICENSE
7
8 /* Farstream major.minor version */
9 #undef FS_MAJORMINOR
10
11 /* Farstream major_minor version */
12 #undef FS_MAJOR_MINOR
1313
1414 /* The path were plugins are installed and search by default */
1515 #undef FS_PLUGIN_PATH
1616
17 /* The GIO library directory. */
18 #undef GIO_LIBDIR
19
20 /* The GIO modules directory. */
21 #undef GIO_MODULE_DIR
22
1723 /* Prevent post 2.30 APIs */
18 #undef GLIB_VERSION_MAX_REQUIRED
24 #undef GLIB_VERSION_MAX_ALLOWED
1925
2026 /* Ignore post 2.30 deprecations */
2127 #undef GLIB_VERSION_MIN_REQUIRED
28
29 /* GStreamer major.minor version */
30 #undef GST_API_VERSION
2231
2332 /* Defined if gcov is enabled to force a rebuild due to config.h changing */
2433 #undef GST_GCOV_ENABLED
2938 /* Default errorlevel to use */
3039 #undef GST_LEVEL_DEFAULT
3140
32 /* GStreamer major.minor version */
33 #undef GST_MAJORMINOR
34
3541 /* package name in plugins */
3642 #undef GST_PACKAGE_NAME
3743
3844 /* package origin */
3945 #undef GST_PACKAGE_ORIGIN
4046
41 /* Define if the host CPU is an Alpha */
47 /* Define if the target CPU is an Alpha */
4248 #undef HAVE_CPU_ALPHA
4349
44 /* Define if the host CPU is an ARM */
50 /* Define if the target CPU is an ARM */
4551 #undef HAVE_CPU_ARM
4652
47 /* Define if the host CPU is a CRIS */
53 /* Define if the target CPU is a CRIS */
4854 #undef HAVE_CPU_CRIS
4955
50 /* Define if the host CPU is a CRISv32 */
56 /* Define if the target CPU is a CRISv32 */
5157 #undef HAVE_CPU_CRISV32
5258
53 /* Define if the host CPU is a HPPA */
59 /* Define if the target CPU is a HPPA */
5460 #undef HAVE_CPU_HPPA
5561
56 /* Define if the host CPU is an x86 */
62 /* Define if the target CPU is an x86 */
5763 #undef HAVE_CPU_I386
5864
59 /* Define if the host CPU is a IA64 */
65 /* Define if the target CPU is a IA64 */
6066 #undef HAVE_CPU_IA64
6167
62 /* Define if the host CPU is a M68K */
68 /* Define if the target CPU is a M68K */
6369 #undef HAVE_CPU_M68K
6470
65 /* Define if the host CPU is a MIPS */
71 /* Define if the target CPU is a MIPS */
6672 #undef HAVE_CPU_MIPS
6773
68 /* Define if the host CPU is a PowerPC */
74 /* Define if the target CPU is a PowerPC */
6975 #undef HAVE_CPU_PPC
7076
71 /* Define if the host CPU is a 64 bit PowerPC */
77 /* Define if the target CPU is a 64 bit PowerPC */
7278 #undef HAVE_CPU_PPC64
7379
74 /* Define if the host CPU is a S390 */
80 /* Define if the target CPU is a S390 */
7581 #undef HAVE_CPU_S390
7682
77 /* Define if the host CPU is a SPARC */
83 /* Define if the target CPU is a SPARC */
7884 #undef HAVE_CPU_SPARC
7985
80 /* Define if the host CPU is a x86_64 */
86 /* Define if the target CPU is a x86_64 */
8187 #undef HAVE_CPU_X86_64
8288
8389 /* Define to 1 if you have the <dlfcn.h> header file. */
8591
8692 /* Define to 1 if you have the `getifaddrs' function. */
8793 #undef HAVE_GETIFADDRS
94
95 /* Have the GUPnP IGD library */
96 #undef HAVE_GUPNP
8897
8998 /* Define to 1 if you have the <inttypes.h> header file. */
9099 #undef HAVE_INTTYPES_H
162171 /* Define to 1 if you have the ANSI C header files. */
163172 #undef STDC_HEADERS
164173
174 /* the target CPU */
175 #undef TARGET_CPU
176
165177 /* Version number of package */
166178 #undef VERSION
167179
00 #! /bin/sh
11 # Configuration validation subroutine script.
22 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
3 # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
3 # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
44 # Free Software Foundation, Inc.
55
6 timestamp='2009-02-03'
6 timestamp='2009-11-20'
77
88 # This file is (in principle) common to ALL GNU software.
99 # The presence of a machine in this file suggests that SOME GNU software
3131
3232
3333 # Please send patches to <config-patches@gnu.org>. Submit a context
34 # diff and a properly formatted ChangeLog entry.
34 # diff and a properly formatted GNU ChangeLog entry.
3535 #
3636 # Configuration subroutine to validate and canonicalize a configuration type.
3737 # Supply the specified configuration type as an argument.
3838 # If it is invalid, we print an error message on stderr and exit with code 1.
3939 # Otherwise, we print the canonical config type on stdout and succeed.
40
41 # You can get the latest version of this script from:
42 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
4043
4144 # This file is supposed to be the same for all GNU packages
4245 # and recognize all the CPU types, system types and aliases
148151 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
149152 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
150153 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
151 -apple | -axis | -knuth | -cray)
154 -apple | -axis | -knuth | -cray | -microblaze)
152155 os=
153156 basic_machine=$1
157 ;;
158 -bluegene*)
159 os=-cnk
154160 ;;
155161 -sim | -cisco | -oki | -wec | -winbond)
156162 os=
244250 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
245251 | bfin \
246252 | c4x | clipper \
247 | d10v | d30v | dlx | dsp16xx | dvp \
253 | d10v | d30v | dlx | dsp16xx \
248254 | fido | fr30 | frv \
249255 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
250256 | i370 | i860 | i960 | ia64 \
271277 | mipsisa64sr71k | mipsisa64sr71kel \
272278 | mipstx39 | mipstx39el \
273279 | mn10200 | mn10300 \
280 | moxie \
274281 | mt \
275282 | msp430 \
276283 | nios | nios2 \
279286 | pdp10 | pdp11 | pj | pjl \
280287 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
281288 | pyramid \
289 | rx \
282290 | score \
283291 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
284292 | sh64 | sh64le \
286294 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
287295 | spu | strongarm \
288296 | tahoe | thumb | tic4x | tic80 | tron \
297 | ubicom32 \
289298 | v850 | v850e \
290299 | we32k \
291300 | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
292301 | z8k | z80)
293302 basic_machine=$basic_machine-unknown
294303 ;;
295 m6811 | m68hc11 | m6812 | m68hc12)
304 m6811 | m68hc11 | m6812 | m68hc12 | picochip)
296305 # Motorola 68HC11/12.
297306 basic_machine=$basic_machine-unknown
298307 os=-none
335344 | lm32-* \
336345 | m32c-* | m32r-* | m32rle-* \
337346 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
338 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
347 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
339348 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
340349 | mips16-* \
341350 | mips64-* | mips64el-* \
363372 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
364373 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
365374 | pyramid-* \
366 | romp-* | rs6000-* \
375 | romp-* | rs6000-* | rx-* \
367376 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
368377 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
369378 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
372381 | tahoe-* | thumb-* \
373382 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
374383 | tron-* \
384 | ubicom32-* \
375385 | v850-* | v850e-* | vax-* \
376386 | we32k-* \
377387 | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
464474 blackfin-*)
465475 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
466476 os=-linux
477 ;;
478 bluegene*)
479 basic_machine=powerpc-ibm
480 os=-cnk
467481 ;;
468482 c90)
469483 basic_machine=c90-cray
717731 basic_machine=ns32k-utek
718732 os=-sysv
719733 ;;
734 microblaze)
735 basic_machine=microblaze-xilinx
736 ;;
720737 mingw32)
721738 basic_machine=i386-pc
722739 os=-mingw32
731748 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
732749 basic_machine=m68k-atari
733750 os=-mint
734 ;;
735 mipsEE* | ee | ps2)
736 basic_machine=mips64r5900el-scei
737 case $os in
738 -linux*)
739 ;;
740 *)
741 os=-elf
742 ;;
743 esac
744 ;;
745 iop)
746 basic_machine=mipsel-scei
747 os=-irx
748 ;;
749 dvp)
750 basic_machine=dvp-scei
751 os=-elf
752751 ;;
753752 mips3*-*)
754753 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
12561255 # First match some system type aliases
12571256 # that might get confused with valid system types.
12581257 # -solaris* is a basic system type, with this one exception.
1258 -auroraux)
1259 os=-auroraux
1260 ;;
12591261 -solaris1 | -solaris1.*)
12601262 os=`echo $os | sed -e 's|solaris1|sunos4|'`
12611263 ;;
12761278 # Each alternative MUST END IN A *, to match a version number.
12771279 # -sysv* is not here because it comes later, after sysvr4.
12781280 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1279 | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1280 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1281 | -kopensolaris* \
1281 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1282 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1283 | -sym* | -kopensolaris* \
12821284 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
12831285 | -aos* | -aros* \
12841286 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
12991301 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13001302 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13011303 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1302 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -irx*)
1304 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13031305 # Remember, each alternative MUST END IN *, to match a version number.
13041306 ;;
13051307 -qnx*)
16291631 -sunos*)
16301632 vendor=sun
16311633 ;;
1632 -aix*)
1634 -cnk*|-aix*)
16331635 vendor=ibm
16341636 ;;
16351637 -beos*)
+1118
-791
configure less more
00 #! /bin/sh
11 # Guess values for system-dependent variables and create Makefiles.
2 # Generated by GNU Autoconf 2.68 for Farstream 0.1.2.
2 # Generated by GNU Autoconf 2.68 for Farstream 0.1.91.
33 #
44 # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=Farstream>.
55 #
570570 # Identity of this package.
571571 PACKAGE_NAME='Farstream'
572572 PACKAGE_TARNAME='farstream'
573 PACKAGE_VERSION='0.1.2'
574 PACKAGE_STRING='Farstream 0.1.2'
573 PACKAGE_VERSION='0.1.91'
574 PACKAGE_STRING='Farstream 0.1.91'
575575 PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=Farstream'
576576 PACKAGE_URL=''
577577
618618 LIBOBJS
619619 GUPNP_LIBS
620620 GUPNP_CFLAGS
621 WANT_PYTHON_FALSE
622 WANT_PYTHON_TRUE
623 PYCODEGEN
624 PYCODEGEN_LIBS
625 PYCODEGEN_CFLAGS
626 PYFARSTREAM_LIBS
627 PYFARSTREAM_CFLAGS
628 PYTHON_INCLUDES
629621 GST_PLUGIN_LDFLAGS
630622 FS_PLUGIN_LDFLAGS
631623 FS_LIB_LDFLAGS
659651 GST_CFLAGS
660652 GIO_UNIX_LIBS
661653 GIO_UNIX_CFLAGS
654 GIO_LDFLAGS
655 GIO_LIBS
656 GIO_CFLAGS
662657 GLIB_EXTRA_CFLAGS
663658 GLIB_LIBS
664659 GLIB_CFLAGS
674669 PYTHON_PREFIX
675670 PYTHON_VERSION
676671 PYTHON
672 GTK_DOC_USE_REBASE_FALSE
673 GTK_DOC_USE_REBASE_TRUE
677674 GTK_DOC_USE_LIBTOOL_FALSE
678675 GTK_DOC_USE_LIBTOOL_TRUE
676 GTK_DOC_BUILD_PDF_FALSE
677 GTK_DOC_BUILD_PDF_TRUE
678 GTK_DOC_BUILD_HTML_FALSE
679 GTK_DOC_BUILD_HTML_TRUE
679680 ENABLE_GTK_DOC_FALSE
680681 ENABLE_GTK_DOC_TRUE
682 GTKDOC_DEPS_LIBS
683 GTKDOC_DEPS_CFLAGS
684 HTML_DIR
685 GTKDOC_MKPDF
686 GTKDOC_REBASE
681687 GTKDOC_CHECK
682 HTML_DIR
683688 HAVE_INTROSPECTION_FALSE
684689 HAVE_INTROSPECTION_TRUE
685690 INTROSPECTION_MAKEFILE
753758 RANLIB
754759 ac_ct_AR
755760 AR
756 DLLTOOL
757 OBJDUMP
758761 LN_S
759762 NM
760763 ac_ct_DUMPBIN
767770 am__fastdepCC_FALSE
768771 am__fastdepCC_TRUE
769772 CCDEPMODE
773 am__nodep
770774 AMDEPBACKSLASH
771775 AMDEP_FALSE
772776 AMDEP_TRUE
781785 CFLAGS
782786 CC
783787 LIBTOOL
788 OBJDUMP
789 DLLTOOL
790 AS
784791 FS_LT_LDFLAGS
785792 FS_LIBVERSION
786793 FS_AGE
787794 FS_REVISION
788795 FS_CURRENT
789 GST_MAJORMINOR
790 FS_MAJOR_MINOR
791 FS_MAJORMINOR
796 GST_API_VERSION
797 FS_API_VERSION
798 FS_APIVERSION
792799 AM_BACKSLASH
793800 AM_DEFAULT_VERBOSITY
794 host_os
795 host_vendor
796 host_cpu
797 host
798 build_os
799 build_vendor
800 build_cpu
801 build
801 AM_DEFAULT_V
802 AM_V
802803 PACKAGE_VERSION_RELEASE
803804 PACKAGE_VERSION_NANO
804805 PACKAGE_VERSION_MICRO
827828 INSTALL_DATA
828829 INSTALL_SCRIPT
829830 INSTALL_PROGRAM
831 target_os
832 target_vendor
833 target_cpu
834 target
835 host_os
836 host_vendor
837 host_cpu
838 host
839 build_os
840 build_vendor
841 build_cpu
842 build
830843 target_alias
831844 host_alias
832845 build_alias
869882 ac_user_opts='
870883 enable_option_checking
871884 enable_silent_rules
885 enable_static
872886 enable_shared
873 enable_static
874887 with_pic
875888 enable_fast_install
876889 enable_dependency_tracking
894907 enable_introspection
895908 with_html_dir
896909 enable_gtk_doc
910 enable_gtk_doc_html
911 enable_gtk_doc_pdf
897912 enable_gobject_cast_checks
898913 enable_glib_asserts
899 enable_python
900914 enable_gupnp
901915 '
902916 ac_precious_vars='build_alias
913927 VALGRIND_LIBS
914928 NICE_CFLAGS
915929 NICE_LIBS
930 GTKDOC_DEPS_CFLAGS
931 GTKDOC_DEPS_LIBS
916932 GLIB_CFLAGS
917933 GLIB_LIBS
934 GIO_CFLAGS
935 GIO_LIBS
918936 GIO_UNIX_CFLAGS
919937 GIO_UNIX_LIBS
920938 GST_CFLAGS
925943 GST_CHECK_LIBS
926944 GST_PLUGINS_BASE_CFLAGS
927945 GST_PLUGINS_BASE_LIBS
928 PYFARSTREAM_CFLAGS
929 PYFARSTREAM_LIBS
930 PYCODEGEN_CFLAGS
931 PYCODEGEN_LIBS
932946 GUPNP_CFLAGS
933947 GUPNP_LIBS'
934948
14731487 # Omit some internal or obsolete options to make the list less imposing.
14741488 # This message is too long to be a string in the A/UX 3.1 sh.
14751489 cat <<_ACEOF
1476 \`configure' configures Farstream 0.1.2 to adapt to many kinds of systems.
1490 \`configure' configures Farstream 0.1.91 to adapt to many kinds of systems.
14771491
14781492 Usage: $0 [OPTION]... [VAR=VALUE]...
14791493
15381552 System types:
15391553 --build=BUILD configure for building on BUILD [guessed]
15401554 --host=HOST cross-compile to build programs to run on HOST [BUILD]
1555 --target=TARGET configure for building compilers for TARGET [HOST]
15411556 _ACEOF
15421557 fi
15431558
15441559 if test -n "$ac_init_help"; then
15451560 case $ac_init_help in
1546 short | recursive ) echo "Configuration of Farstream 0.1.2:";;
1561 short | recursive ) echo "Configuration of Farstream 0.1.91:";;
15471562 esac
15481563 cat <<\_ACEOF
15491564
15531568 --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
15541569 --enable-silent-rules less verbose build output (undo: `make V=1')
15551570 --disable-silent-rules verbose build output (undo: `make V=0')
1571 --enable-static[=PKGS] build static libraries [default=no]
15561572 --enable-shared[=PKGS] build shared libraries [default=yes]
1557 --enable-static[=PKGS] build static libraries [default=yes]
15581573 --enable-fast-install[=PKGS]
15591574 optimize for fast installation [default=yes]
15601575 --disable-dependency-tracking speeds up one-time build
15681583 --enable-introspection=[no/auto/yes]
15691584 Enable introspection for this build
15701585 --enable-gtk-doc use gtk-doc to build documentation [[default=no]]
1586 --enable-gtk-doc-html build documentation in html format [[default=yes]]
1587 --enable-gtk-doc-pdf build documentation in pdf format [[default=no]]
15711588 --enable-gobject-cast-checks=[no/auto/yes]
15721589 Enable GObject cast checks
15731590 --enable-glib-asserts=[no/auto/yes]
15741591 Enable GLib assertion
1575 --disable-python Disable Python bindings
15761592 --disable-gupnp Disable GUPnP IGD support
15771593
15781594 Optional Packages:
16181634 linker flags for VALGRIND, overriding pkg-config
16191635 NICE_CFLAGS C compiler flags for NICE, overriding pkg-config
16201636 NICE_LIBS linker flags for NICE, overriding pkg-config
1637 GTKDOC_DEPS_CFLAGS
1638 C compiler flags for GTKDOC_DEPS, overriding pkg-config
1639 GTKDOC_DEPS_LIBS
1640 linker flags for GTKDOC_DEPS, overriding pkg-config
16211641 GLIB_CFLAGS C compiler flags for GLIB, overriding pkg-config
16221642 GLIB_LIBS linker flags for GLIB, overriding pkg-config
1643 GIO_CFLAGS C compiler flags for GIO, overriding pkg-config
1644 GIO_LIBS linker flags for GIO, overriding pkg-config
16231645 GIO_UNIX_CFLAGS
16241646 C compiler flags for GIO_UNIX, overriding pkg-config
16251647 GIO_UNIX_LIBS
16381660 C compiler flags for GST_PLUGINS_BASE, overriding pkg-config
16391661 GST_PLUGINS_BASE_LIBS
16401662 linker flags for GST_PLUGINS_BASE, overriding pkg-config
1641 PYFARSTREAM_CFLAGS
1642 C compiler flags for PYFARSTREAM, overriding pkg-config
1643 PYFARSTREAM_LIBS
1644 linker flags for PYFARSTREAM, overriding pkg-config
1645 PYCODEGEN_CFLAGS
1646 C compiler flags for PYCODEGEN, overriding pkg-config
1647 PYCODEGEN_LIBS
1648 linker flags for PYCODEGEN, overriding pkg-config
16491663 GUPNP_CFLAGS
16501664 C compiler flags for GUPNP, overriding pkg-config
16511665 GUPNP_LIBS linker flags for GUPNP, overriding pkg-config
17161730 test -n "$ac_init_help" && exit $ac_status
17171731 if $ac_init_version; then
17181732 cat <<\_ACEOF
1719 Farstream configure 0.1.2
1733 Farstream configure 0.1.91
17201734 generated by GNU Autoconf 2.68
17211735
17221736 Copyright (C) 2010 Free Software Foundation, Inc.
21882202 This file contains any messages produced by compilers while
21892203 running configure, to aid debugging if configure makes a mistake.
21902204
2191 It was created by Farstream $as_me 0.1.2, which was
2205 It was created by Farstream $as_me 0.1.91, which was
21922206 generated by GNU Autoconf 2.68. Invocation command line was
21932207
21942208 $ $0 $@
25372551
25382552
25392553
2540
2541
2542
2543
2544 am__api_version='1.11'
2545
25462554 ac_aux_dir=
25472555 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
25482556 if test -f "$ac_dir/install-sh"; then
25712579 ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
25722580 ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
25732581
2582
2583 # Make sure we can run config.sub.
2584 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
2585 as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
2586
2587 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
2588 $as_echo_n "checking build system type... " >&6; }
2589 if ${ac_cv_build+:} false; then :
2590 $as_echo_n "(cached) " >&6
2591 else
2592 ac_build_alias=$build_alias
2593 test "x$ac_build_alias" = x &&
2594 ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
2595 test "x$ac_build_alias" = x &&
2596 as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
2597 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
2598 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
2599
2600 fi
2601 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
2602 $as_echo "$ac_cv_build" >&6; }
2603 case $ac_cv_build in
2604 *-*-*) ;;
2605 *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
2606 esac
2607 build=$ac_cv_build
2608 ac_save_IFS=$IFS; IFS='-'
2609 set x $ac_cv_build
2610 shift
2611 build_cpu=$1
2612 build_vendor=$2
2613 shift; shift
2614 # Remember, the first character of IFS is used to create $*,
2615 # except with old shells:
2616 build_os=$*
2617 IFS=$ac_save_IFS
2618 case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
2619
2620
2621 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
2622 $as_echo_n "checking host system type... " >&6; }
2623 if ${ac_cv_host+:} false; then :
2624 $as_echo_n "(cached) " >&6
2625 else
2626 if test "x$host_alias" = x; then
2627 ac_cv_host=$ac_cv_build
2628 else
2629 ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
2630 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
2631 fi
2632
2633 fi
2634 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
2635 $as_echo "$ac_cv_host" >&6; }
2636 case $ac_cv_host in
2637 *-*-*) ;;
2638 *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
2639 esac
2640 host=$ac_cv_host
2641 ac_save_IFS=$IFS; IFS='-'
2642 set x $ac_cv_host
2643 shift
2644 host_cpu=$1
2645 host_vendor=$2
2646 shift; shift
2647 # Remember, the first character of IFS is used to create $*,
2648 # except with old shells:
2649 host_os=$*
2650 IFS=$ac_save_IFS
2651 case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
2652
2653
2654 { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
2655 $as_echo_n "checking target system type... " >&6; }
2656 if ${ac_cv_target+:} false; then :
2657 $as_echo_n "(cached) " >&6
2658 else
2659 if test "x$target_alias" = x; then
2660 ac_cv_target=$ac_cv_host
2661 else
2662 ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
2663 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
2664 fi
2665
2666 fi
2667 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
2668 $as_echo "$ac_cv_target" >&6; }
2669 case $ac_cv_target in
2670 *-*-*) ;;
2671 *) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
2672 esac
2673 target=$ac_cv_target
2674 ac_save_IFS=$IFS; IFS='-'
2675 set x $ac_cv_target
2676 shift
2677 target_cpu=$1
2678 target_vendor=$2
2679 shift; shift
2680 # Remember, the first character of IFS is used to create $*,
2681 # except with old shells:
2682 target_os=$*
2683 IFS=$ac_save_IFS
2684 case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
2685
2686
2687 # The aliases save the names the user supplied, while $host etc.
2688 # will get canonicalized.
2689 test -n "$target_alias" &&
2690 test "$program_prefix$program_suffix$program_transform_name" = \
2691 NONENONEs,x,x, &&
2692 program_prefix=${target_alias}-
2693
2694
2695
2696
2697 am__api_version='1.11'
25742698
25752699 # Find a good install program. We prefer a C program (faster),
25762700 # so one script is as good as another. But avoid the broken or
30083132
30093133 # Define the identity of the package.
30103134 PACKAGE='farstream'
3011 VERSION='0.1.2'
3135 VERSION='0.1.91'
30123136
30133137
30143138 cat >>confdefs.h <<_ACEOF
30383162
30393163 # We need awk for the "check" target. The system "awk" is bad on
30403164 # some platforms.
3041 # Always define AMTAR for backward compatibility.
3042
3043 AMTAR=${AMTAR-"${am_missing_run}tar"}
3044
3045 am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
3046
3047
3048
3049
3050
3051
3052
3053 PACKAGE_VERSION_MAJOR=$(echo 0.1.2 | cut -d'.' -f1)
3054 PACKAGE_VERSION_MINOR=$(echo 0.1.2 | cut -d'.' -f2)
3055 PACKAGE_VERSION_MICRO=$(echo 0.1.2 | cut -d'.' -f3)
3165 # Always define AMTAR for backward compatibility. Yes, it's still used
3166 # in the wild :-( We should find a proper way to deprecate it ...
3167 AMTAR='$${TAR-tar}'
3168
3169 am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
3170
3171
3172
3173
3174
3175
3176
3177 PACKAGE_VERSION_MAJOR=$(echo 0.1.91 | cut -d'.' -f1)
3178 PACKAGE_VERSION_MINOR=$(echo 0.1.91 | cut -d'.' -f2)
3179 PACKAGE_VERSION_MICRO=$(echo 0.1.91 | cut -d'.' -f3)
30563180
30573181
30583182
30633187 { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
30643188 $as_echo_n "checking nano version... " >&6; }
30653189
3066 NANO=$(echo 0.1.2 | cut -d'.' -f4)
3190 NANO=$(echo 0.1.91 | cut -d'.' -f4)
30673191
30683192 if test x"$NANO" = x || test "x$NANO" = "x0" ; then
30693193 { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
30703194 $as_echo "0 (release)" >&6; }
30713195 NANO=0
30723196 PACKAGE_VERSION_RELEASE=1
3073 FS_CVS="no"
3197 FS_GIT="no"
30743198 else
30753199 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NANO" >&5
30763200 $as_echo "$NANO" >&6; }
30773201 PACKAGE_VERSION_RELEASE=0.`date +%Y%m%d.%H%M%S`
30783202 if test "x$NANO" != "x1" ; then
3079 FS_CVS="no"
3203 FS_GIT="no"
30803204 else
3081 FS_CVS="yes"
3205 FS_GIT="yes"
30823206 fi
30833207 fi
30843208 PACKAGE_VERSION_NANO=$NANO
30903214
30913215 ac_config_headers="$ac_config_headers config.h"
30923216
3093
3094 # Make sure we can run config.sub.
3095 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
3096 as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
3097
3098 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
3099 $as_echo_n "checking build system type... " >&6; }
3100 if ${ac_cv_build+:} false; then :
3101 $as_echo_n "(cached) " >&6
3102 else
3103 ac_build_alias=$build_alias
3104 test "x$ac_build_alias" = x &&
3105 ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
3106 test "x$ac_build_alias" = x &&
3107 as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
3108 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
3109 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
3110
3111 fi
3112 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
3113 $as_echo "$ac_cv_build" >&6; }
3114 case $ac_cv_build in
3115 *-*-*) ;;
3116 *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
3117 esac
3118 build=$ac_cv_build
3119 ac_save_IFS=$IFS; IFS='-'
3120 set x $ac_cv_build
3121 shift
3122 build_cpu=$1
3123 build_vendor=$2
3124 shift; shift
3125 # Remember, the first character of IFS is used to create $*,
3126 # except with old shells:
3127 build_os=$*
3128 IFS=$ac_save_IFS
3129 case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
3130
3131
3132 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
3133 $as_echo_n "checking host system type... " >&6; }
3134 if ${ac_cv_host+:} false; then :
3135 $as_echo_n "(cached) " >&6
3136 else
3137 if test "x$host_alias" = x; then
3138 ac_cv_host=$ac_cv_build
3139 else
3140 ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
3141 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
3142 fi
3143
3144 fi
3145 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
3146 $as_echo "$ac_cv_host" >&6; }
3147 case $ac_cv_host in
3148 *-*-*) ;;
3149 *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
3150 esac
3151 host=$ac_cv_host
3152 ac_save_IFS=$IFS; IFS='-'
3153 set x $ac_cv_host
3154 shift
3155 host_cpu=$1
3156 host_vendor=$2
3157 shift; shift
3158 # Remember, the first character of IFS is used to create $*,
3159 # except with old shells:
3160 host_os=$*
3161 IFS=$ac_save_IFS
3162 case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
31633217
31643218
31653219
31733227 no) AM_DEFAULT_VERBOSITY=1;;
31743228 *) AM_DEFAULT_VERBOSITY=0;;
31753229 esac
3230 am_make=${MAKE-make}
3231 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
3232 $as_echo_n "checking whether $am_make supports nested variables... " >&6; }
3233 if ${am_cv_make_support_nested_variables+:} false; then :
3234 $as_echo_n "(cached) " >&6
3235 else
3236 if $as_echo 'TRUE=$(BAR$(V))
3237 BAR0=false
3238 BAR1=true
3239 V=1
3240 am__doit:
3241 @$(TRUE)
3242 .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
3243 am_cv_make_support_nested_variables=yes
3244 else
3245 am_cv_make_support_nested_variables=no
3246 fi
3247 fi
3248 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
3249 $as_echo "$am_cv_make_support_nested_variables" >&6; }
3250 if test $am_cv_make_support_nested_variables = yes; then
3251 AM_V='$(V)'
3252 AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
3253 else
3254 AM_V=$AM_DEFAULT_VERBOSITY
3255 AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
3256 fi
31763257 AM_BACKSLASH='\'
31773258
31783259
3179 FS_MAJORMINOR=$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR
3180 FS_MAJOR_MINOR=$PACKAGE_VERSION_MAJOR\_$PACKAGE_VERSION_MINOR
3260 FS_APIVERSION=0.2
3261 FS_API_VERSION=0_2
31813262
31823263
31833264
31843265 cat >>confdefs.h <<_ACEOF
3185 #define FS_MAJORMINOR "$FS_MAJORMINOR"
3266 #define FS_APIVERSION "$FS_APIVERSION"
31863267 _ACEOF
31873268
31883269
31893270 cat >>confdefs.h <<_ACEOF
3190 #define FS_MAJOR_MINOR "$FS_MAJORMINOR"
3271 #define FS_API_VERSION "$FS_APIVERSION"
31913272 _ACEOF
31923273
31933274
3194 GST_MAJORMINOR=0.10
3275 GST_API_VERSION=1.0
31953276
31963277
31973278 cat >>confdefs.h <<_ACEOF
3198 #define GST_MAJORMINOR "$GST_MAJORMINOR"
3279 #define GST_API_VERSION "$GST_API_VERSION"
31993280 _ACEOF
3200
3201
3202
3203
3204 FS_CURRENT=0
3205 FS_REVISION=1
3206 FS_AGE=0
3207 FS_LIBVERSION=0:1:0
3208
3209
3210
3211
3212
3213 FS_LT_LDFLAGS="$FS_LT_LDFLAGS -version-info $FS_LIBVERSION"
3214 if test ! -z ""
3215 then
3216 FS_LT_LDFLAGS="$FS_LT_LDFLAGS -release "
3217 fi
3218
3219
3220 enable_dlopen=yes
3221
3222
3223
32243281
32253282
32263283
33703427 if test "x$enable_dependency_tracking" != xno; then
33713428 am_depcomp="$ac_aux_dir/depcomp"
33723429 AMDEPBACKSLASH='\'
3430 am__nodep='_no'
33733431 fi
33743432 if test "x$enable_dependency_tracking" != xno; then
33753433 AMDEP_TRUE=
41834241 # instance it was reported that on HP-UX the gcc test will end up
41844242 # making a dummy file named `D' -- because `-MD' means `put the output
41854243 # in D'.
4244 rm -rf conftest.dir
41864245 mkdir conftest.dir
41874246 # Copy depcomp to subdir because otherwise we won't find it if we're
41884247 # using a relative directory.
42424301 break
42434302 fi
42444303 ;;
4245 msvisualcpp | msvcmsys)
4304 msvc7 | msvc7msys | msvisualcpp | msvcmsys)
42464305 # This compiler won't grok `-c -o', but also, the minuso test has
42474306 # not run yet. These depmodes are late enough in the game, and
42484307 # so weak that their functioning should not be impacted.
53295388
53305389
53315390
5332
5333
5334
53355391 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
53365392 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
53375393 if ${lt_cv_deplibs_check_method+:} false; then :
56695725 fi
56705726
56715727 test -z "$DLLTOOL" && DLLTOOL=dlltool
5672
5673
5674
56755728
56765729
56775730
76787731 done
76797732
76807733
7734 FS_CURRENT=1
7735 FS_REVISION=0
7736 FS_AGE=0
7737 FS_LIBVERSION=1:0:0
7738
7739
7740
7741
7742
7743 FS_LT_LDFLAGS="$FS_LT_LDFLAGS -version-info $FS_LIBVERSION"
7744 if test ! -z ""
7745 then
7746 FS_LT_LDFLAGS="$FS_LT_LDFLAGS -release "
7747 fi
7748
7749
7750
7751
76817752
76827753
76837754
76847755 # Set options
7685
7686
7687
7688
7689 enable_win32_dll=no
7756 enable_dlopen=yes
7757 enable_win32_dll=yes
7758
7759 case $host in
7760 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
7761 if test -n "$ac_tool_prefix"; then
7762 # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
7763 set dummy ${ac_tool_prefix}as; ac_word=$2
7764 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7765 $as_echo_n "checking for $ac_word... " >&6; }
7766 if ${ac_cv_prog_AS+:} false; then :
7767 $as_echo_n "(cached) " >&6
7768 else
7769 if test -n "$AS"; then
7770 ac_cv_prog_AS="$AS" # Let the user override the test.
7771 else
7772 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7773 for as_dir in $PATH
7774 do
7775 IFS=$as_save_IFS
7776 test -z "$as_dir" && as_dir=.
7777 for ac_exec_ext in '' $ac_executable_extensions; do
7778 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7779 ac_cv_prog_AS="${ac_tool_prefix}as"
7780 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7781 break 2
7782 fi
7783 done
7784 done
7785 IFS=$as_save_IFS
7786
7787 fi
7788 fi
7789 AS=$ac_cv_prog_AS
7790 if test -n "$AS"; then
7791 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
7792 $as_echo "$AS" >&6; }
7793 else
7794 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7795 $as_echo "no" >&6; }
7796 fi
7797
7798
7799 fi
7800 if test -z "$ac_cv_prog_AS"; then
7801 ac_ct_AS=$AS
7802 # Extract the first word of "as", so it can be a program name with args.
7803 set dummy as; ac_word=$2
7804 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7805 $as_echo_n "checking for $ac_word... " >&6; }
7806 if ${ac_cv_prog_ac_ct_AS+:} false; then :
7807 $as_echo_n "(cached) " >&6
7808 else
7809 if test -n "$ac_ct_AS"; then
7810 ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
7811 else
7812 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7813 for as_dir in $PATH
7814 do
7815 IFS=$as_save_IFS
7816 test -z "$as_dir" && as_dir=.
7817 for ac_exec_ext in '' $ac_executable_extensions; do
7818 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7819 ac_cv_prog_ac_ct_AS="as"
7820 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7821 break 2
7822 fi
7823 done
7824 done
7825 IFS=$as_save_IFS
7826
7827 fi
7828 fi
7829 ac_ct_AS=$ac_cv_prog_ac_ct_AS
7830 if test -n "$ac_ct_AS"; then
7831 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
7832 $as_echo "$ac_ct_AS" >&6; }
7833 else
7834 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7835 $as_echo "no" >&6; }
7836 fi
7837
7838 if test "x$ac_ct_AS" = x; then
7839 AS="false"
7840 else
7841 case $cross_compiling:$ac_tool_warned in
7842 yes:)
7843 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
7844 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
7845 ac_tool_warned=yes ;;
7846 esac
7847 AS=$ac_ct_AS
7848 fi
7849 else
7850 AS="$ac_cv_prog_AS"
7851 fi
7852
7853 if test -n "$ac_tool_prefix"; then
7854 # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
7855 set dummy ${ac_tool_prefix}dlltool; ac_word=$2
7856 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7857 $as_echo_n "checking for $ac_word... " >&6; }
7858 if ${ac_cv_prog_DLLTOOL+:} false; then :
7859 $as_echo_n "(cached) " >&6
7860 else
7861 if test -n "$DLLTOOL"; then
7862 ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
7863 else
7864 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7865 for as_dir in $PATH
7866 do
7867 IFS=$as_save_IFS
7868 test -z "$as_dir" && as_dir=.
7869 for ac_exec_ext in '' $ac_executable_extensions; do
7870 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7871 ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
7872 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7873 break 2
7874 fi
7875 done
7876 done
7877 IFS=$as_save_IFS
7878
7879 fi
7880 fi
7881 DLLTOOL=$ac_cv_prog_DLLTOOL
7882 if test -n "$DLLTOOL"; then
7883 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
7884 $as_echo "$DLLTOOL" >&6; }
7885 else
7886 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7887 $as_echo "no" >&6; }
7888 fi
7889
7890
7891 fi
7892 if test -z "$ac_cv_prog_DLLTOOL"; then
7893 ac_ct_DLLTOOL=$DLLTOOL
7894 # Extract the first word of "dlltool", so it can be a program name with args.
7895 set dummy dlltool; ac_word=$2
7896 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7897 $as_echo_n "checking for $ac_word... " >&6; }
7898 if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
7899 $as_echo_n "(cached) " >&6
7900 else
7901 if test -n "$ac_ct_DLLTOOL"; then
7902 ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
7903 else
7904 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7905 for as_dir in $PATH
7906 do
7907 IFS=$as_save_IFS
7908 test -z "$as_dir" && as_dir=.
7909 for ac_exec_ext in '' $ac_executable_extensions; do
7910 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7911 ac_cv_prog_ac_ct_DLLTOOL="dlltool"
7912 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7913 break 2
7914 fi
7915 done
7916 done
7917 IFS=$as_save_IFS
7918
7919 fi
7920 fi
7921 ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
7922 if test -n "$ac_ct_DLLTOOL"; then
7923 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
7924 $as_echo "$ac_ct_DLLTOOL" >&6; }
7925 else
7926 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7927 $as_echo "no" >&6; }
7928 fi
7929
7930 if test "x$ac_ct_DLLTOOL" = x; then
7931 DLLTOOL="false"
7932 else
7933 case $cross_compiling:$ac_tool_warned in
7934 yes:)
7935 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
7936 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
7937 ac_tool_warned=yes ;;
7938 esac
7939 DLLTOOL=$ac_ct_DLLTOOL
7940 fi
7941 else
7942 DLLTOOL="$ac_cv_prog_DLLTOOL"
7943 fi
7944
7945 if test -n "$ac_tool_prefix"; then
7946 # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
7947 set dummy ${ac_tool_prefix}objdump; ac_word=$2
7948 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7949 $as_echo_n "checking for $ac_word... " >&6; }
7950 if ${ac_cv_prog_OBJDUMP+:} false; then :
7951 $as_echo_n "(cached) " >&6
7952 else
7953 if test -n "$OBJDUMP"; then
7954 ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
7955 else
7956 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7957 for as_dir in $PATH
7958 do
7959 IFS=$as_save_IFS
7960 test -z "$as_dir" && as_dir=.
7961 for ac_exec_ext in '' $ac_executable_extensions; do
7962 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7963 ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
7964 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7965 break 2
7966 fi
7967 done
7968 done
7969 IFS=$as_save_IFS
7970
7971 fi
7972 fi
7973 OBJDUMP=$ac_cv_prog_OBJDUMP
7974 if test -n "$OBJDUMP"; then
7975 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
7976 $as_echo "$OBJDUMP" >&6; }
7977 else
7978 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7979 $as_echo "no" >&6; }
7980 fi
7981
7982
7983 fi
7984 if test -z "$ac_cv_prog_OBJDUMP"; then
7985 ac_ct_OBJDUMP=$OBJDUMP
7986 # Extract the first word of "objdump", so it can be a program name with args.
7987 set dummy objdump; ac_word=$2
7988 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7989 $as_echo_n "checking for $ac_word... " >&6; }
7990 if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
7991 $as_echo_n "(cached) " >&6
7992 else
7993 if test -n "$ac_ct_OBJDUMP"; then
7994 ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
7995 else
7996 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7997 for as_dir in $PATH
7998 do
7999 IFS=$as_save_IFS
8000 test -z "$as_dir" && as_dir=.
8001 for ac_exec_ext in '' $ac_executable_extensions; do
8002 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
8003 ac_cv_prog_ac_ct_OBJDUMP="objdump"
8004 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
8005 break 2
8006 fi
8007 done
8008 done
8009 IFS=$as_save_IFS
8010
8011 fi
8012 fi
8013 ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
8014 if test -n "$ac_ct_OBJDUMP"; then
8015 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
8016 $as_echo "$ac_ct_OBJDUMP" >&6; }
8017 else
8018 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
8019 $as_echo "no" >&6; }
8020 fi
8021
8022 if test "x$ac_ct_OBJDUMP" = x; then
8023 OBJDUMP="false"
8024 else
8025 case $cross_compiling:$ac_tool_warned in
8026 yes:)
8027 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
8028 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
8029 ac_tool_warned=yes ;;
8030 esac
8031 OBJDUMP=$ac_ct_OBJDUMP
8032 fi
8033 else
8034 OBJDUMP="$ac_cv_prog_OBJDUMP"
8035 fi
8036
8037 ;;
8038 esac
8039
8040 test -z "$AS" && AS=as
8041
8042
8043
8044
8045
8046 test -z "$DLLTOOL" && DLLTOOL=dlltool
8047
8048
8049
8050
8051
8052 test -z "$OBJDUMP" && OBJDUMP=objdump
8053
8054
8055
8056
8057 # Check whether --enable-static was given.
8058 if test "${enable_static+set}" = set; then :
8059 enableval=$enable_static; p=${PACKAGE-default}
8060 case $enableval in
8061 yes) enable_static=yes ;;
8062 no) enable_static=no ;;
8063 *)
8064 enable_static=no
8065 # Look at the argument we got. We use all the common list separators.
8066 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8067 for pkg in $enableval; do
8068 IFS="$lt_save_ifs"
8069 if test "X$pkg" = "X$p"; then
8070 enable_static=yes
8071 fi
8072 done
8073 IFS="$lt_save_ifs"
8074 ;;
8075 esac
8076 else
8077 enable_static=no
8078 fi
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
76908089
76918090
76928091 # Check whether --enable-shared was given.
77128111 enable_shared=yes
77138112 fi
77148113
7715
7716
7717
7718
7719
7720
7721
7722
7723 # Check whether --enable-static was given.
7724 if test "${enable_static+set}" = set; then :
7725 enableval=$enable_static; p=${PACKAGE-default}
7726 case $enableval in
7727 yes) enable_static=yes ;;
7728 no) enable_static=no ;;
7729 *)
7730 enable_static=no
7731 # Look at the argument we got. We use all the common list separators.
7732 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7733 for pkg in $enableval; do
7734 IFS="$lt_save_ifs"
7735 if test "X$pkg" = "X$p"; then
7736 enable_static=yes
7737 fi
7738 done
7739 IFS="$lt_save_ifs"
7740 ;;
7741 esac
7742 else
7743 enable_static=yes
7744 fi
77458114
77468115
77478116
1166312032
1166412033
1166512034
11666 GST_REQ=0.10.33
11667 GSTPB_REQ=0.10.33
12035
12036
12037
12038
12039 GST_REQ=0.11.1
12040 GSTPB_REQ=0.11.1
1166812041
1166912042
1167012043
1206912442
1207012443 if test "x$GST_GCOV_ENABLED" = "xyes"
1207112444 then
12072 CFLAGS="-O0"
12073
12074 CXXFLAGS="-O0"
12075
12076 FFLAGS="-O0"
12077
12078 CCASFLAGS="-O0"
12445 CFLAGS="$CFLAGS -O0"
12446
12447 CXXFLAGS="$CXXFLAGS -O0"
12448
12449 FFLAGS="$FFLAGS -O0"
12450
12451 CCASFLAGS="$CCASFLAGS -O0"
1207912452
1208012453 { $as_echo "$as_me:${as_lineno-$LINENO}: gcov enabled, setting CFLAGS and friends to $CFLAGS" >&5
1208112454 $as_echo "$as_me: gcov enabled, setting CFLAGS and friends to $CFLAGS" >&6;}
1222812601 fsrawconference \
1222912602 fsrtpconference \
1223012603 fsmsnconference \
12231 fsfunnel \
1223212604 fsrtcpfilter \
1223312605 fsvideoanyrate
1223412606 "
1228612658
1228712659
1228812660
12289 NICE_REQUIRED=0.1.0
12661 NICE_REQUIRED=0.1.3
1229012662
1229112663
1229212664 pkg_failed=no
1237412746
1237512747
1237612748 EXP_VAR=FS_PLUGIN_PATH
12377 FROM_VAR=${libdir}/farstream-$FS_MAJORMINOR
12749 FROM_VAR=${libdir}/farstream-$FS_APIVERSION
1237812750
1237912751 prefix_save=$prefix
1238012752 exec_prefix_save=$exec_prefix
1241112783
1241212784
1241312785
12414
12415 case "x${host_cpu}" in
12786 case "x${target_cpu}" in
1241612787 xi?86 | xk? | xi?86_64)
12417 case $host_os in
12788 case $target_os in
1241812789 solaris*)
1241912790 ac_fn_c_check_decl "$LINENO" "__i386" "ac_cv_have_decl___i386" "$ac_includes_default"
1242012791 if test "x$ac_cv_have_decl___i386" = xyes; then :
1245012821 $as_echo "#define HAVE_CPU_I386 1" >>confdefs.h
1245112822
1245212823
12453 case "x${host_cpu}" in
12824 case "x${target_cpu}" in
1245412825 xi386 | xi486) ;;
1245512826 *)
1245612827
1286813239
1286913240 cat >>confdefs.h <<_ACEOF
1287013241 #define HOST_CPU "$host_cpu"
13242 _ACEOF
13243
13244
13245 cat >>confdefs.h <<_ACEOF
13246 #define TARGET_CPU "$target_cpu"
1287113247 _ACEOF
1287213248
1287313249
1342613802 # instance it was reported that on HP-UX the gcc test will end up
1342713803 # making a dummy file named `D' -- because `-MD' means `put the output
1342813804 # in D'.
13805 rm -rf conftest.dir
1342913806 mkdir conftest.dir
1343013807 # Copy depcomp to subdir because otherwise we won't find it if we're
1343113808 # using a relative directory.
1348513862 break
1348613863 fi
1348713864 ;;
13488 msvisualcpp | msvcmsys)
13865 msvc7 | msvc7msys | msvisualcpp | msvcmsys)
1348913866 # This compiler won't grok `-c -o', but also, the minuso test has
1349013867 # not run yet. These depmodes are late enough in the game, and
1349113868 # so weak that their functioning should not be impacted.
1368714064
1368814065
1368914066
14067
14068 # Extract the first word of "gtkdoc-check", so it can be a program name with args.
14069 set dummy gtkdoc-check; ac_word=$2
14070 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
14071 $as_echo_n "checking for $ac_word... " >&6; }
14072 if ${ac_cv_path_GTKDOC_CHECK+:} false; then :
14073 $as_echo_n "(cached) " >&6
14074 else
14075 case $GTKDOC_CHECK in
14076 [\\/]* | ?:[\\/]*)
14077 ac_cv_path_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test with a path.
14078 ;;
14079 *)
14080 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
14081 for as_dir in $PATH
14082 do
14083 IFS=$as_save_IFS
14084 test -z "$as_dir" && as_dir=.
14085 for ac_exec_ext in '' $ac_executable_extensions; do
14086 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
14087 ac_cv_path_GTKDOC_CHECK="$as_dir/$ac_word$ac_exec_ext"
14088 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
14089 break 2
14090 fi
14091 done
14092 done
14093 IFS=$as_save_IFS
14094
14095 ;;
14096 esac
14097 fi
14098 GTKDOC_CHECK=$ac_cv_path_GTKDOC_CHECK
14099 if test -n "$GTKDOC_CHECK"; then
14100 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
14101 $as_echo "$GTKDOC_CHECK" >&6; }
14102 else
14103 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14104 $as_echo "no" >&6; }
14105 fi
14106
14107
14108 for ac_prog in gtkdoc-rebase
14109 do
14110 # Extract the first word of "$ac_prog", so it can be a program name with args.
14111 set dummy $ac_prog; ac_word=$2
14112 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
14113 $as_echo_n "checking for $ac_word... " >&6; }
14114 if ${ac_cv_path_GTKDOC_REBASE+:} false; then :
14115 $as_echo_n "(cached) " >&6
14116 else
14117 case $GTKDOC_REBASE in
14118 [\\/]* | ?:[\\/]*)
14119 ac_cv_path_GTKDOC_REBASE="$GTKDOC_REBASE" # Let the user override the test with a path.
14120 ;;
14121 *)
14122 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
14123 for as_dir in $PATH
14124 do
14125 IFS=$as_save_IFS
14126 test -z "$as_dir" && as_dir=.
14127 for ac_exec_ext in '' $ac_executable_extensions; do
14128 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
14129 ac_cv_path_GTKDOC_REBASE="$as_dir/$ac_word$ac_exec_ext"
14130 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
14131 break 2
14132 fi
14133 done
14134 done
14135 IFS=$as_save_IFS
14136
14137 ;;
14138 esac
14139 fi
14140 GTKDOC_REBASE=$ac_cv_path_GTKDOC_REBASE
14141 if test -n "$GTKDOC_REBASE"; then
14142 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_REBASE" >&5
14143 $as_echo "$GTKDOC_REBASE" >&6; }
14144 else
14145 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14146 $as_echo "no" >&6; }
14147 fi
14148
14149
14150 test -n "$GTKDOC_REBASE" && break
14151 done
14152 test -n "$GTKDOC_REBASE" || GTKDOC_REBASE="true"
14153
14154 # Extract the first word of "gtkdoc-mkpdf", so it can be a program name with args.
14155 set dummy gtkdoc-mkpdf; ac_word=$2
14156 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
14157 $as_echo_n "checking for $ac_word... " >&6; }
14158 if ${ac_cv_path_GTKDOC_MKPDF+:} false; then :
14159 $as_echo_n "(cached) " >&6
14160 else
14161 case $GTKDOC_MKPDF in
14162 [\\/]* | ?:[\\/]*)
14163 ac_cv_path_GTKDOC_MKPDF="$GTKDOC_MKPDF" # Let the user override the test with a path.
14164 ;;
14165 *)
14166 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
14167 for as_dir in $PATH
14168 do
14169 IFS=$as_save_IFS
14170 test -z "$as_dir" && as_dir=.
14171 for ac_exec_ext in '' $ac_executable_extensions; do
14172 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
14173 ac_cv_path_GTKDOC_MKPDF="$as_dir/$ac_word$ac_exec_ext"
14174 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
14175 break 2
14176 fi
14177 done
14178 done
14179 IFS=$as_save_IFS
14180
14181 ;;
14182 esac
14183 fi
14184 GTKDOC_MKPDF=$ac_cv_path_GTKDOC_MKPDF
14185 if test -n "$GTKDOC_MKPDF"; then
14186 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_MKPDF" >&5
14187 $as_echo "$GTKDOC_MKPDF" >&6; }
14188 else
14189 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14190 $as_echo "no" >&6; }
14191 fi
14192
14193
14194
14195
1369014196 # Check whether --with-html-dir was given.
1369114197 if test "${with_html_dir+set}" = set; then :
1369214198 withval=$with_html_dir;
1371414220 test $ac_status = 0; }; then
1371514221 :
1371614222 else
13717 as_fn_error $? "You need to have gtk-doc >= 1.8 installed to build gtk-doc" "$LINENO" 5
13718 fi
13719 if test -z "$SED"; then
14223 as_fn_error $? "You need to have gtk-doc >= 1.8 installed to build $PACKAGE_NAME" "$LINENO" 5
14224 fi
14225 if test "x$PACKAGE_NAME" != "xglib"; then
14226
14227 pkg_failed=no
14228 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTKDOC_DEPS" >&5
14229 $as_echo_n "checking for GTKDOC_DEPS... " >&6; }
14230
14231 if test -n "$PKG_CONFIG"; then
14232 if test -n "$GTKDOC_DEPS_CFLAGS"; then
14233 pkg_cv_GTKDOC_DEPS_CFLAGS="$GTKDOC_DEPS_CFLAGS"
14234 else
14235 if test -n "$PKG_CONFIG" && \
14236 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0\""; } >&5
14237 ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0") 2>&5
14238 ac_status=$?
14239 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
14240 test $ac_status = 0; }; then
14241 pkg_cv_GTKDOC_DEPS_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0" 2>/dev/null`
14242 else
14243 pkg_failed=yes
14244 fi
14245 fi
14246 else
14247 pkg_failed=untried
14248 fi
14249 if test -n "$PKG_CONFIG"; then
14250 if test -n "$GTKDOC_DEPS_LIBS"; then
14251 pkg_cv_GTKDOC_DEPS_LIBS="$GTKDOC_DEPS_LIBS"
14252 else
14253 if test -n "$PKG_CONFIG" && \
14254 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0\""; } >&5
14255 ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0") 2>&5
14256 ac_status=$?
14257 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
14258 test $ac_status = 0; }; then
14259 pkg_cv_GTKDOC_DEPS_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0" 2>/dev/null`
14260 else
14261 pkg_failed=yes
14262 fi
14263 fi
14264 else
14265 pkg_failed=untried
14266 fi
14267
14268
14269
14270 if test $pkg_failed = yes; then
14271
14272 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
14273 _pkg_short_errors_supported=yes
14274 else
14275 _pkg_short_errors_supported=no
14276 fi
14277 if test $_pkg_short_errors_supported = yes; then
14278 GTKDOC_DEPS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0"`
14279 else
14280 GTKDOC_DEPS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0"`
14281 fi
14282 # Put the nasty error message in config.log where it belongs
14283 echo "$GTKDOC_DEPS_PKG_ERRORS" >&5
14284
14285 as_fn_error $? "Package requirements (glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0) were not met:
14286
14287 $GTKDOC_DEPS_PKG_ERRORS
14288
14289 Consider adjusting the PKG_CONFIG_PATH environment variable if you
14290 installed software in a non-standard prefix.
14291
14292 Alternatively, you may set the environment variables GTKDOC_DEPS_CFLAGS
14293 and GTKDOC_DEPS_LIBS to avoid the need to call pkg-config.
14294 See the pkg-config man page for more details.
14295 " "$LINENO" 5
14296 elif test $pkg_failed = untried; then
14297 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
14298 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
14299 as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
14300 is in your PATH or set the PKG_CONFIG environment variable to the full
14301 path to pkg-config.
14302
14303 Alternatively, you may set the environment variables GTKDOC_DEPS_CFLAGS
14304 and GTKDOC_DEPS_LIBS to avoid the need to call pkg-config.
14305 See the pkg-config man page for more details.
14306
14307 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
14308 See \`config.log' for more details" "$LINENO" 5; }
14309 else
14310 GTKDOC_DEPS_CFLAGS=$pkg_cv_GTKDOC_DEPS_CFLAGS
14311 GTKDOC_DEPS_LIBS=$pkg_cv_GTKDOC_DEPS_LIBS
14312 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14313 $as_echo "yes" >&6; }
14314 :
14315 fi
14316 fi
14317 if test -z "$SED"; then
1372014318 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
1372114319 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
1372214320 if ${ac_cv_path_SED+:} false; then :
1379414392 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5
1379514393 $as_echo "$enable_gtk_doc" >&6; }
1379614394
13797 for ac_prog in gtkdoc-check
13798 do
13799 # Extract the first word of "$ac_prog", so it can be a program name with args.
13800 set dummy $ac_prog; ac_word=$2
13801 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
13802 $as_echo_n "checking for $ac_word... " >&6; }
13803 if ${ac_cv_path_GTKDOC_CHECK+:} false; then :
13804 $as_echo_n "(cached) " >&6
13805 else
13806 case $GTKDOC_CHECK in
13807 [\\/]* | ?:[\\/]*)
13808 ac_cv_path_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test with a path.
13809 ;;
13810 *)
13811 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
13812 for as_dir in $PATH
13813 do
13814 IFS=$as_save_IFS
13815 test -z "$as_dir" && as_dir=.
13816 for ac_exec_ext in '' $ac_executable_extensions; do
13817 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
13818 ac_cv_path_GTKDOC_CHECK="$as_dir/$ac_word$ac_exec_ext"
13819 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
13820 break 2
13821 fi
13822 done
13823 done
13824 IFS=$as_save_IFS
13825
13826 ;;
13827 esac
13828 fi
13829 GTKDOC_CHECK=$ac_cv_path_GTKDOC_CHECK
13830 if test -n "$GTKDOC_CHECK"; then
13831 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
13832 $as_echo "$GTKDOC_CHECK" >&6; }
13833 else
13834 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
13835 $as_echo "no" >&6; }
13836 fi
13837
13838
13839 test -n "$GTKDOC_CHECK" && break
13840 done
14395 # Check whether --enable-gtk-doc-html was given.
14396 if test "${enable_gtk_doc_html+set}" = set; then :
14397 enableval=$enable_gtk_doc_html;
14398 else
14399 enable_gtk_doc_html=yes
14400 fi
14401
14402 # Check whether --enable-gtk-doc-pdf was given.
14403 if test "${enable_gtk_doc_pdf+set}" = set; then :
14404 enableval=$enable_gtk_doc_pdf;
14405 else
14406 enable_gtk_doc_pdf=no
14407 fi
14408
14409
14410 if test -z "$GTKDOC_MKPDF"; then
14411 enable_gtk_doc_pdf=no
14412 fi
1384114413
1384214414
1384314415 if test x$enable_gtk_doc = xyes; then
1384814420 ENABLE_GTK_DOC_FALSE=
1384914421 fi
1385014422
14423 if test x$enable_gtk_doc_html = xyes; then
14424 GTK_DOC_BUILD_HTML_TRUE=
14425 GTK_DOC_BUILD_HTML_FALSE='#'
14426 else
14427 GTK_DOC_BUILD_HTML_TRUE='#'
14428 GTK_DOC_BUILD_HTML_FALSE=
14429 fi
14430
14431 if test x$enable_gtk_doc_pdf = xyes; then
14432 GTK_DOC_BUILD_PDF_TRUE=
14433 GTK_DOC_BUILD_PDF_FALSE='#'
14434 else
14435 GTK_DOC_BUILD_PDF_TRUE='#'
14436 GTK_DOC_BUILD_PDF_FALSE=
14437 fi
14438
1385114439 if test -n "$LIBTOOL"; then
1385214440 GTK_DOC_USE_LIBTOOL_TRUE=
1385314441 GTK_DOC_USE_LIBTOOL_FALSE='#'
1385614444 GTK_DOC_USE_LIBTOOL_FALSE=
1385714445 fi
1385814446
13859
13860
13861
13862
13863
13864 if test -n "$PYTHON"; then
13865 # If the user set $PYTHON, use it and don't search something else.
13866 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version >= 2.4" >&5
13867 $as_echo_n "checking whether $PYTHON version >= 2.4... " >&6; }
13868 prog="import sys
13869 # split strings by '.' and convert to numeric. Append some zeros
13870 # because we need at least 4 digits for the hex conversion.
13871 # map returns an iterator in Python 3.0 and a list in 2.x
13872 minver = list(map(int, '2.4'.split('.'))) + [0, 0, 0]
13873 minverhex = 0
13874 # xrange is not present in Python 3.0 and range returns an iterator
13875 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
13876 sys.exit(sys.hexversion < minverhex)"
13877 if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5
13878 ($PYTHON -c "$prog") >&5 2>&5
13879 ac_status=$?
13880 echo "$as_me:$LINENO: \$? = $ac_status" >&5
13881 (exit $ac_status); }; then :
13882 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
13883 $as_echo "yes" >&6; }
13884 else
13885 as_fn_error $? "too old" "$LINENO" 5
13886 fi
13887 am_display_PYTHON=$PYTHON
13888 else
13889 # Otherwise, try each interpreter until we find one that satisfies
13890 # VERSION.
13891 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 2.4" >&5
13892 $as_echo_n "checking for a Python interpreter with version >= 2.4... " >&6; }
13893 if ${am_cv_pathless_PYTHON+:} false; then :
13894 $as_echo_n "(cached) " >&6
13895 else
13896
13897 for am_cv_pathless_PYTHON in python python2 python3 python3.0 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do
13898 test "$am_cv_pathless_PYTHON" = none && break
13899 prog="import sys
13900 # split strings by '.' and convert to numeric. Append some zeros
13901 # because we need at least 4 digits for the hex conversion.
13902 # map returns an iterator in Python 3.0 and a list in 2.x
13903 minver = list(map(int, '2.4'.split('.'))) + [0, 0, 0]
13904 minverhex = 0
13905 # xrange is not present in Python 3.0 and range returns an iterator
13906 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
13907 sys.exit(sys.hexversion < minverhex)"
13908 if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5
13909 ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5
13910 ac_status=$?
13911 echo "$as_me:$LINENO: \$? = $ac_status" >&5
13912 (exit $ac_status); }; then :
13913 break
13914 fi
13915 done
13916 fi
13917 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5
13918 $as_echo "$am_cv_pathless_PYTHON" >&6; }
13919 # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
13920 if test "$am_cv_pathless_PYTHON" = none; then
13921 PYTHON=:
13922 else
13923 # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args.
13924 set dummy $am_cv_pathless_PYTHON; ac_word=$2
14447 if test -n "$GTKDOC_REBASE"; then
14448 GTK_DOC_USE_REBASE_TRUE=
14449 GTK_DOC_USE_REBASE_FALSE='#'
14450 else
14451 GTK_DOC_USE_REBASE_TRUE='#'
14452 GTK_DOC_USE_REBASE_FALSE=
14453 fi
14454
14455
14456
14457
14458 PYTHON_CANDIDATES="python python2.2 python2.1 python2.0 python2 \
14459 python1.6 python1.5"
14460
14461 { $as_echo "$as_me:${as_lineno-$LINENO}: Looking for Python version >= 2.1" >&5
14462 $as_echo "$as_me: Looking for Python version >= 2.1" >&6;}
14463 prog="
14464 import sys, string
14465 minver = '2.1'
14466 # split string by '.' and convert to numeric
14467 minver_info = map(string.atoi, string.split(minver, '.'))
14468 # we can now do comparisons on the two lists:
14469 if sys.version_info >= tuple(minver_info):
14470 sys.exit(0)
14471 else:
14472 sys.exit(1)"
14473
14474 python_good=false
14475 for python_candidate in $PYTHON_CANDIDATES; do
14476 unset PYTHON
14477 # Extract the first word of "$python_candidate", so it can be a program name with args.
14478 set dummy $python_candidate; ac_word=$2
1392514479 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
1392614480 $as_echo_n "checking for $ac_word... " >&6; }
1392714481 if ${ac_cv_path_PYTHON+:} false; then :
1395914513 $as_echo "no" >&6; }
1396014514 fi
1396114515
13962
14516 1> /dev/null 2> /dev/null
14517
14518 if test "x$PYTHON" = "x"; then continue; fi
14519
14520 if $PYTHON -c "$prog" 1>&5 2>&5; then
14521 { $as_echo "$as_me:${as_lineno-$LINENO}: checking \"$PYTHON\":" >&5
14522 $as_echo_n "checking \"$PYTHON\":... " >&6; }
14523 { $as_echo "$as_me:${as_lineno-$LINENO}: result: okay" >&5
14524 $as_echo "okay" >&6; }
14525 python_good=true
14526 break;
14527 else
14528 unset ac_cv_path_PYTHON
1396314529 fi
13964 am_display_PYTHON=$am_cv_pathless_PYTHON
13965 fi
13966
13967
13968 if test "$PYTHON" = :; then
13969 as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5
14530 done
14531
14532
14533 if test "$python_good" != "true"; then
14534 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No suitable version of python found" >&5
14535 $as_echo "$as_me: WARNING: No suitable version of python found" >&2;}
14536 PYTHON=
1397014537 else
1397114538
13972
13973 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5
13974 $as_echo_n "checking for $am_display_PYTHON version... " >&6; }
13975 if ${am_cv_python_version+:} false; then :
13976 $as_echo_n "(cached) " >&6
13977 else
13978 am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
13979 fi
13980 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
13981 $as_echo "$am_cv_python_version" >&6; }
13982 PYTHON_VERSION=$am_cv_python_version
14539 { $as_echo "$as_me:${as_lineno-$LINENO}: checking local Python configuration" >&5
14540 $as_echo_n "checking local Python configuration... " >&6; }
14541
14542
14543
14544 PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[:3]"`
14545
1398314546
1398414547
1398514548
1398614549 PYTHON_PREFIX='${prefix}'
1398714550
14551
1398814552 PYTHON_EXEC_PREFIX='${exec_prefix}'
1398914553
1399014554
1399114555
13992 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5
13993 $as_echo_n "checking for $am_display_PYTHON platform... " >&6; }
13994 if ${am_cv_python_platform+:} false; then :
13995 $as_echo_n "(cached) " >&6
13996 else
13997 am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`
13998 fi
13999 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
14000 $as_echo "$am_cv_python_platform" >&6; }
14001 PYTHON_PLATFORM=$am_cv_python_platform
14002
14003
14004
14005
14006 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
14007 $as_echo_n "checking for $am_display_PYTHON script directory... " >&6; }
14008 if ${am_cv_python_pythondir+:} false; then :
14009 $as_echo_n "(cached) " >&6
14010 else
14011 if test "x$prefix" = xNONE
14012 then
14013 am_py_prefix=$ac_default_prefix
14014 else
14015 am_py_prefix=$prefix
14016 fi
14017 am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null ||
14018 echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
14019 case $am_cv_python_pythondir in
14020 $am_py_prefix*)
14021 am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
14022 am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
14023 ;;
14024 *)
14025 case $am_py_prefix in
14026 /usr|/System*) ;;
14027 *)
14028 am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
14029 ;;
14030 esac
14031 ;;
14032 esac
14033
14034 fi
14035 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5
14036 $as_echo "$am_cv_python_pythondir" >&6; }
14037 pythondir=$am_cv_python_pythondir
14556 PYTHON_PLATFORM=`$PYTHON -c "import sys; print sys.platform"`
14557
14558
14559
14560
14561
14562 pythondir=$PYTHON_PREFIX"/lib/python"$PYTHON_VERSION/site-packages
1403814563
1403914564
1404014565
1404114566 pkgpythondir=\${pythondir}/$PACKAGE
1404214567
1404314568
14044 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
14045 $as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; }
14046 if ${am_cv_python_pyexecdir+:} false; then :
14047 $as_echo_n "(cached) " >&6
14048 else
14049 if test "x$exec_prefix" = xNONE
14050 then
14051 am_py_exec_prefix=$am_py_prefix
14052 else
14053 am_py_exec_prefix=$exec_prefix
14054 fi
14055 am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null ||
14056 echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
14057 case $am_cv_python_pyexecdir in
14058 $am_py_exec_prefix*)
14059 am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
14060 am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
14061 ;;
14062 *)
14063 case $am_py_exec_prefix in
14064 /usr|/System*) ;;
14065 *)
14066 am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
14067 ;;
14068 esac
14069 ;;
14070 esac
14071
14072 fi
14073 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5
14074 $as_echo "$am_cv_python_pyexecdir" >&6; }
14075 pyexecdir=$am_cv_python_pyexecdir
14569
14570 pyexecdir=$PYTHON_EXEC_PREFIX"/lib/python"$PYTHON_VERSION/site-packages
1407614571
1407714572
1407814573
1407914574 pkgpyexecdir=\${pyexecdir}/$PACKAGE
1408014575
14081
14082
14083 fi
14084
14085
14086 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
14087 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
14088 if ${ac_cv_path_SED+:} false; then :
14089 $as_echo_n "(cached) " >&6
14090 else
14091 ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
14092 for ac_i in 1 2 3 4 5 6 7; do
14093 ac_script="$ac_script$as_nl$ac_script"
14094 done
14095 echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
14096 { ac_script=; unset ac_script;}
14097 if test -z "$SED"; then
14098 ac_path_SED_found=false
14099 # Loop through the user's path and test for each of PROGNAME-LIST
14100 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
14101 for as_dir in $PATH
14102 do
14103 IFS=$as_save_IFS
14104 test -z "$as_dir" && as_dir=.
14105 for ac_prog in sed gsed; do
14106 for ac_exec_ext in '' $ac_executable_extensions; do
14107 ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
14108 { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
14109 # Check for GNU ac_path_SED and select it if it is found.
14110 # Check for GNU $ac_path_SED
14111 case `"$ac_path_SED" --version 2>&1` in
14112 *GNU*)
14113 ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
14114 *)
14115 ac_count=0
14116 $as_echo_n 0123456789 >"conftest.in"
14117 while :
14118 do
14119 cat "conftest.in" "conftest.in" >"conftest.tmp"
14120 mv "conftest.tmp" "conftest.in"
14121 cp "conftest.in" "conftest.nl"
14122 $as_echo '' >> "conftest.nl"
14123 "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
14124 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
14125 as_fn_arith $ac_count + 1 && ac_count=$as_val
14126 if test $ac_count -gt ${ac_path_SED_max-0}; then
14127 # Best one so far, save it but keep looking for a better one
14128 ac_cv_path_SED="$ac_path_SED"
14129 ac_path_SED_max=$ac_count
14130 fi
14131 # 10*(2^10) chars as input seems more than enough
14132 test $ac_count -gt 10 && break
14133 done
14134 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
14135 esac
14136
14137 $ac_path_SED_found && break 3
14138 done
14139 done
14140 done
14141 IFS=$as_save_IFS
14142 if test -z "$ac_cv_path_SED"; then
14143 as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
14144 fi
14145 else
14146 ac_cv_path_SED=$SED
14147 fi
14148
14149 fi
14150 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
14151 $as_echo "$ac_cv_path_SED" >&6; }
14152 SED="$ac_cv_path_SED"
14153 rm -f conftest.sed
14576 { $as_echo "$as_me:${as_lineno-$LINENO}: result: looks good" >&5
14577 $as_echo "looks good" >&6; }
14578
14579 fi
1415414580
1415514581
1415614582
1417314599 ENABLE_PLUGIN_DOCS_TRUE='#'
1417414600 ENABLE_PLUGIN_DOCS_FALSE=
1417514601 fi
14176
1417714602
1417814603
1417914604
1467715102
1467815103
1467915104
15105 pkg_failed=no
15106 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GIO" >&5
15107 $as_echo_n "checking for GIO... " >&6; }
15108
15109 if test -n "$PKG_CONFIG"; then
15110 if test -n "$GIO_CFLAGS"; then
15111 pkg_cv_GIO_CFLAGS="$GIO_CFLAGS"
15112 else
15113 if test -n "$PKG_CONFIG" && \
15114 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0 >= \$GLIB_REQ\""; } >&5
15115 ($PKG_CONFIG --exists --print-errors "gio-2.0 >= $GLIB_REQ") 2>&5
15116 ac_status=$?
15117 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
15118 test $ac_status = 0; }; then
15119 pkg_cv_GIO_CFLAGS=`$PKG_CONFIG --cflags "gio-2.0 >= $GLIB_REQ" 2>/dev/null`
15120 else
15121 pkg_failed=yes
15122 fi
15123 fi
15124 else
15125 pkg_failed=untried
15126 fi
15127 if test -n "$PKG_CONFIG"; then
15128 if test -n "$GIO_LIBS"; then
15129 pkg_cv_GIO_LIBS="$GIO_LIBS"
15130 else
15131 if test -n "$PKG_CONFIG" && \
15132 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0 >= \$GLIB_REQ\""; } >&5
15133 ($PKG_CONFIG --exists --print-errors "gio-2.0 >= $GLIB_REQ") 2>&5
15134 ac_status=$?
15135 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
15136 test $ac_status = 0; }; then
15137 pkg_cv_GIO_LIBS=`$PKG_CONFIG --libs "gio-2.0 >= $GLIB_REQ" 2>/dev/null`
15138 else
15139 pkg_failed=yes
15140 fi
15141 fi
15142 else
15143 pkg_failed=untried
15144 fi
15145
15146
15147
15148 if test $pkg_failed = yes; then
15149
15150 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
15151 _pkg_short_errors_supported=yes
15152 else
15153 _pkg_short_errors_supported=no
15154 fi
15155 if test $_pkg_short_errors_supported = yes; then
15156 GIO_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gio-2.0 >= $GLIB_REQ"`
15157 else
15158 GIO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gio-2.0 >= $GLIB_REQ"`
15159 fi
15160 # Put the nasty error message in config.log where it belongs
15161 echo "$GIO_PKG_ERRORS" >&5
15162
15163 as_fn_error $? "Package requirements (gio-2.0 >= $GLIB_REQ) were not met:
15164
15165 $GIO_PKG_ERRORS
15166
15167 Consider adjusting the PKG_CONFIG_PATH environment variable if you
15168 installed software in a non-standard prefix.
15169
15170 Alternatively, you may set the environment variables GIO_CFLAGS
15171 and GIO_LIBS to avoid the need to call pkg-config.
15172 See the pkg-config man page for more details.
15173 " "$LINENO" 5
15174 elif test $pkg_failed = untried; then
15175 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
15176 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
15177 as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
15178 is in your PATH or set the PKG_CONFIG environment variable to the full
15179 path to pkg-config.
15180
15181 Alternatively, you may set the environment variables GIO_CFLAGS
15182 and GIO_LIBS to avoid the need to call pkg-config.
15183 See the pkg-config man page for more details.
15184
15185 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
15186 See \`config.log' for more details" "$LINENO" 5; }
15187 else
15188 GIO_CFLAGS=$pkg_cv_GIO_CFLAGS
15189 GIO_LIBS=$pkg_cv_GIO_LIBS
15190 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15191 $as_echo "yes" >&6; }
15192 :
15193 fi
15194 if test "x$HAVE_GIO" = "xno"; then
15195 as_fn_error $? "This package requires GIO >= $GLIB_REQ to compile." "$LINENO" 5
15196 fi
15197
15198 GIO_MODULE_DIR="`$PKG_CONFIG --variable=giomoduledir gio-2.0`"
15199
15200 cat >>confdefs.h <<_ACEOF
15201 #define GIO_MODULE_DIR "$GIO_MODULE_DIR"
15202 _ACEOF
15203
15204 GIO_LIBDIR="`$PKG_CONFIG --variable=libdir gio-2.0`"
15205
15206 cat >>confdefs.h <<_ACEOF
15207 #define GIO_LIBDIR "$GIO_LIBDIR"
15208 _ACEOF
15209
15210
15211
15212
15213
15214
1468015215 $as_echo "#define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_30" >>confdefs.h
1468115216
1468215217
14683 $as_echo "#define GLIB_VERSION_MAX_REQUIRED GLIB_VERSION_2_30" >>confdefs.h
15218 $as_echo "#define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_30" >>confdefs.h
1468415219
1468515220
1468615221
1477915314
1478015315
1478115316
14782 module=gstreamer-$GST_MAJORMINOR
15317 module=gstreamer-$GST_API_VERSION
1478315318 minver=$GST_REQ
1478415319 name="GStreamer"
1478515320 required="yes"
1487915414
1488015415
1488115416 if test -z $GST_TOOLS_DIR; then
14882 GST_TOOLS_DIR=`$PKG_CONFIG --variable=toolsdir gstreamer-$GST_MAJORMINOR`
15417 GST_TOOLS_DIR=`$PKG_CONFIG --variable=toolsdir gstreamer-$GST_API_VERSION`
1488315418 if test -z $GST_TOOLS_DIR; then
1488415419 as_fn_error $? "no tools dir set in GStreamer pkg-config file, core upgrade needed." "$LINENO" 5
1488515420 fi
1488915424
1489015425
1489115426 if test -z $GST_PLUGINS_DIR; then
14892 GST_PLUGINS_DIR=`$PKG_CONFIG --variable=pluginsdir gstreamer-$GST_MAJORMINOR`
15427 GST_PLUGINS_DIR=`$PKG_CONFIG --variable=pluginsdir gstreamer-$GST_API_VERSION`
1489315428 if test -z $GST_PLUGINS_DIR; then
1489415429 as_fn_error $? "no pluginsdir set in GStreamer pkg-config file, core upgrade needed." "$LINENO" 5
1489515430 fi
1490015435
1490115436
1490215437
14903 module=gstreamer-base-$GST_MAJORMINOR
15438 module=gstreamer-base-$GST_API_VERSION
1490415439 minver=$GST_REQ
1490515440 name="GStreamer Base Libraries"
1490615441 required="yes"
1500215537
1500315538
1500415539
15005 module=gstreamer-check-$GST_MAJORMINOR
15540 module=gstreamer-check-$GST_API_VERSION
1500615541 minver=$GST_REQ
1500715542 name="GStreamer Check unittest Library"
1500815543 required=no
1510415639
1510515640
1510615641
15107 module=gstreamer-plugins-base-$GST_MAJORMINOR
15642 module=gstreamer-plugins-base-$GST_API_VERSION
1510815643 minver=$GSTPB_REQ
1510915644 name="GStreamer Base Plugins"
1511015645 required="yes"
1520615741
1520715742 if test "x$HAVE_GST_PLUGINS_BASE" = "xyes"; then
1520815743 if test -z $GSTPB_PLUGINS_DIR; then
15209 GSTPB_PLUGINS_DIR=`$PKG_CONFIG --variable=pluginsdir gstreamer-plugins-base-$GST_MAJORMINOR`
15744 GSTPB_PLUGINS_DIR=`$PKG_CONFIG --variable=pluginsdir gstreamer-plugins-base-$GST_API_VERSION`
1521015745 if test -z $GSTPB_PLUGINS_DIR; then
1521115746 as_fn_error $? "no pluginsdir set in GStreamer Base Plugins pkg-config file" "$LINENO" 5
1521215747 fi
1522815763
1522915764
1523015765 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
15231 FS_PREFIX="`$PKG_CONFIG --variable=prefix farstream-$FS_MAJORMINOR`"
15766 FS_PREFIX="`$PKG_CONFIG --variable=prefix farstream-$FS_APIVERSION`"
1523215767
1523315768
1523415769
1524415779
1524515780
1524615781 EXP_VAR=PLUGINDIR
15247 FROM_VAR=${libdir}/gstreamer-$GST_MAJORMINOR
15782 FROM_VAR=${libdir}/gstreamer-$GST_API_VERSION
1524815783
1524915784 prefix_save=$prefix
1525015785 exec_prefix_save=$exec_prefix
1527815813 { $as_echo "$as_me:${as_lineno-$LINENO}: Using $PLUGINDIR as the plugin install location" >&5
1527915814 $as_echo "$as_me: Using $PLUGINDIR as the plugin install location" >&6;}
1528015815
15281 plugindir="\$(libdir)/gstreamer-$GST_MAJORMINOR"
15816 plugindir="\$(libdir)/gstreamer-$GST_API_VERSION"
1528215817
1528315818
1528415819
1543715972 $as_echo "$flag_ok" >&6; }
1543815973
1543915974
15440 if test "x$FS_CVS" != "xno"
15975 if test "x$FS_GIT" != "xno"
1544115976 then
1544215977
1544315978 { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if compiler understands -Werror" >&5
1566816203
1566916204
1567016205
15671 if test "x$FS_CVS" = "xyes"; then
16206 if test "x$FS_GIT" = "xyes"; then
1567216207 GST_LEVEL_DEFAULT=GST_LEVEL_ERROR
1567316208 else
1567416209 GST_LEVEL_DEFAULT=GST_LEVEL_NONE
1570016235 fi
1570116236
1570216237
15703 FS_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS)"
15704
15705
15706
15707
15708 FS_INTERNAL_CFLAGS="-I\$(top_srcdir) -I\$(top_builddir)"
16238 FS_OPTION_CFLAGS="-DGST_USE_UNSTABLE_API \$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) -Wno-error=deprecated-declarations "
16239
16240
16241
16242
16243 FS_INTERNAL_CFLAGS="-I\$(top_srcdir) -I\$(top_builddir) -DGST_USE_UNSTABLE_API"
1570916244
1571016245
1571116246 FS_CFLAGS="$GST_CFLAGS \$(FS_OPTION_CFLAGS)"
1572416259
1572516260
1572616261 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^_*gst_plugin_desc\$\$' $FS_ALL_LDFLAGS"
15727
15728
15729
15730 # Check whether --enable-python was given.
15731 if test "${enable_python+set}" = set; then :
15732 enableval=$enable_python; case "${enableval}" in
15733 yes) WANT_PYTHON=yes ;;
15734 no) WANT_PYTHON=no ;;
15735 *) as_fn_error $? "bad value ${enableval} for --enable-python" "$LINENO" 5 ;;
15736 esac
15737 else
15738 WANT_PYTHON=yes
15739 fi
15740
15741 if test "x$WANT_PYTHON" = "xyes"; then
15742
15743 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for headers required to compile python extensions" >&5
15744 $as_echo_n "checking for headers required to compile python extensions... " >&6; }
15745 py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
15746 py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
15747 if $PYTHON-config --help 2>/dev/null; then
15748 PYTHON_INCLUDES=`$PYTHON-config --includes 2>/dev/null`
15749 else
15750 PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
15751 if test "$py_prefix" != "$py_exec_prefix"; then
15752 PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
15753 fi
15754 fi
15755
15756 save_CPPFLAGS="$CPPFLAGS"
15757 CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
15758 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15759 /* end confdefs.h. */
15760 #include <Python.h>
15761 _ACEOF
15762 if ac_fn_c_try_cpp "$LINENO"; then :
15763 { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
15764 $as_echo "found" >&6; }
15765
15766 else
15767 { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
15768 $as_echo "not found" >&6; }
15769 as_fn_error $? "could not find Python headers" "$LINENO" 5
15770 fi
15771 rm -f conftest.err conftest.i conftest.$ac_ext
15772 CPPFLAGS="$save_CPPFLAGS"
15773
15774
15775 pkg_failed=no
15776 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PYFARSTREAM" >&5
15777 $as_echo_n "checking for PYFARSTREAM... " >&6; }
15778
15779 if test -n "$PKG_CONFIG"; then
15780 if test -n "$PYFARSTREAM_CFLAGS"; then
15781 pkg_cv_PYFARSTREAM_CFLAGS="$PYFARSTREAM_CFLAGS"
15782 else
15783 if test -n "$PKG_CONFIG" && \
15784 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" pygobject-2.0 >= 2.12.0
15785 gst-python-0.10 >= 0.10.10 \""; } >&5
15786 ($PKG_CONFIG --exists --print-errors " pygobject-2.0 >= 2.12.0
15787 gst-python-0.10 >= 0.10.10 ") 2>&5
15788 ac_status=$?
15789 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
15790 test $ac_status = 0; }; then
15791 pkg_cv_PYFARSTREAM_CFLAGS=`$PKG_CONFIG --cflags " pygobject-2.0 >= 2.12.0
15792 gst-python-0.10 >= 0.10.10 " 2>/dev/null`
15793 else
15794 pkg_failed=yes
15795 fi
15796 fi
15797 else
15798 pkg_failed=untried
15799 fi
15800 if test -n "$PKG_CONFIG"; then
15801 if test -n "$PYFARSTREAM_LIBS"; then
15802 pkg_cv_PYFARSTREAM_LIBS="$PYFARSTREAM_LIBS"
15803 else
15804 if test -n "$PKG_CONFIG" && \
15805 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" pygobject-2.0 >= 2.12.0
15806 gst-python-0.10 >= 0.10.10 \""; } >&5
15807 ($PKG_CONFIG --exists --print-errors " pygobject-2.0 >= 2.12.0
15808 gst-python-0.10 >= 0.10.10 ") 2>&5
15809 ac_status=$?
15810 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
15811 test $ac_status = 0; }; then
15812 pkg_cv_PYFARSTREAM_LIBS=`$PKG_CONFIG --libs " pygobject-2.0 >= 2.12.0
15813 gst-python-0.10 >= 0.10.10 " 2>/dev/null`
15814 else
15815 pkg_failed=yes
15816 fi
15817 fi
15818 else
15819 pkg_failed=untried
15820 fi
15821
15822
15823
15824 if test $pkg_failed = yes; then
15825
15826 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
15827 _pkg_short_errors_supported=yes
15828 else
15829 _pkg_short_errors_supported=no
15830 fi
15831 if test $_pkg_short_errors_supported = yes; then
15832 PYFARSTREAM_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors " pygobject-2.0 >= 2.12.0
15833 gst-python-0.10 >= 0.10.10 "`
15834 else
15835 PYFARSTREAM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors " pygobject-2.0 >= 2.12.0
15836 gst-python-0.10 >= 0.10.10 "`
15837 fi
15838 # Put the nasty error message in config.log where it belongs
15839 echo "$PYFARSTREAM_PKG_ERRORS" >&5
15840
15841 as_fn_error $? "Package requirements ( pygobject-2.0 >= 2.12.0
15842 gst-python-0.10 >= 0.10.10 ) were not met:
15843
15844 $PYFARSTREAM_PKG_ERRORS
15845
15846 Consider adjusting the PKG_CONFIG_PATH environment variable if you
15847 installed software in a non-standard prefix.
15848
15849 Alternatively, you may set the environment variables PYFARSTREAM_CFLAGS
15850 and PYFARSTREAM_LIBS to avoid the need to call pkg-config.
15851 See the pkg-config man page for more details.
15852 " "$LINENO" 5
15853 elif test $pkg_failed = untried; then
15854 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
15855 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
15856 as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
15857 is in your PATH or set the PKG_CONFIG environment variable to the full
15858 path to pkg-config.
15859
15860 Alternatively, you may set the environment variables PYFARSTREAM_CFLAGS
15861 and PYFARSTREAM_LIBS to avoid the need to call pkg-config.
15862 See the pkg-config man page for more details.
15863
15864 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
15865 See \`config.log' for more details" "$LINENO" 5; }
15866 else
15867 PYFARSTREAM_CFLAGS=$pkg_cv_PYFARSTREAM_CFLAGS
15868 PYFARSTREAM_LIBS=$pkg_cv_PYFARSTREAM_LIBS
15869 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15870 $as_echo "yes" >&6; }
15871 :
15872 fi
15873
15874 pkg_failed=no
15875 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PYCODEGEN" >&5
15876 $as_echo_n "checking for PYCODEGEN... " >&6; }
15877
15878 if test -n "$PKG_CONFIG"; then
15879 if test -n "$PYCODEGEN_CFLAGS"; then
15880 pkg_cv_PYCODEGEN_CFLAGS="$PYCODEGEN_CFLAGS"
15881 else
15882 if test -n "$PKG_CONFIG" && \
15883 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" pygobject-2.0 >= 2.16.0 \""; } >&5
15884 ($PKG_CONFIG --exists --print-errors " pygobject-2.0 >= 2.16.0 ") 2>&5
15885 ac_status=$?
15886 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
15887 test $ac_status = 0; }; then
15888 pkg_cv_PYCODEGEN_CFLAGS=`$PKG_CONFIG --cflags " pygobject-2.0 >= 2.16.0 " 2>/dev/null`
15889 else
15890 pkg_failed=yes
15891 fi
15892 fi
15893 else
15894 pkg_failed=untried
15895 fi
15896 if test -n "$PKG_CONFIG"; then
15897 if test -n "$PYCODEGEN_LIBS"; then
15898 pkg_cv_PYCODEGEN_LIBS="$PYCODEGEN_LIBS"
15899 else
15900 if test -n "$PKG_CONFIG" && \
15901 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" pygobject-2.0 >= 2.16.0 \""; } >&5
15902 ($PKG_CONFIG --exists --print-errors " pygobject-2.0 >= 2.16.0 ") 2>&5
15903 ac_status=$?
15904 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
15905 test $ac_status = 0; }; then
15906 pkg_cv_PYCODEGEN_LIBS=`$PKG_CONFIG --libs " pygobject-2.0 >= 2.16.0 " 2>/dev/null`
15907 else
15908 pkg_failed=yes
15909 fi
15910 fi
15911 else
15912 pkg_failed=untried
15913 fi
15914
15915
15916
15917 if test $pkg_failed = yes; then
15918
15919 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
15920 _pkg_short_errors_supported=yes
15921 else
15922 _pkg_short_errors_supported=no
15923 fi
15924 if test $_pkg_short_errors_supported = yes; then
15925 PYCODEGEN_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors " pygobject-2.0 >= 2.16.0 "`
15926 else
15927 PYCODEGEN_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors " pygobject-2.0 >= 2.16.0 "`
15928 fi
15929 # Put the nasty error message in config.log where it belongs
15930 echo "$PYCODEGEN_PKG_ERRORS" >&5
15931
15932 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15933 $as_echo "no" >&6; }
15934 as_fn_error $? "You need pygobject 2.16+ for the codegen" "$LINENO" 5
15935 elif test $pkg_failed = untried; then
15936 as_fn_error $? "You need pygobject 2.16+ for the codegen" "$LINENO" 5
15937 else
15938 PYCODEGEN_CFLAGS=$pkg_cv_PYCODEGEN_CFLAGS
15939 PYCODEGEN_LIBS=$pkg_cv_PYCODEGEN_LIBS
15940 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15941 $as_echo "yes" >&6; }
15942 PYCODEGEN=pygobject-codegen-2.0
15943 fi
15944 fi
15945
15946 if test "x$WANT_PYTHON" = "xyes"; then
15947 WANT_PYTHON_TRUE=
15948 WANT_PYTHON_FALSE='#'
15949 else
15950 WANT_PYTHON_TRUE='#'
15951 WANT_PYTHON_FALSE=
15952 fi
1595316262
1595416263
1595516264 # Check whether --enable-gupnp was given.
1597616285 pkg_cv_GUPNP_CFLAGS="$GUPNP_CFLAGS"
1597716286 else
1597816287 if test -n "$PKG_CONFIG" && \
15979 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" gupnp-igd-1.0 \""; } >&5
15980 ($PKG_CONFIG --exists --print-errors " gupnp-igd-1.0 ") 2>&5
16288 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" gupnp-igd-1.0 >= 0.2 \""; } >&5
16289 ($PKG_CONFIG --exists --print-errors " gupnp-igd-1.0 >= 0.2 ") 2>&5
1598116290 ac_status=$?
1598216291 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1598316292 test $ac_status = 0; }; then
15984 pkg_cv_GUPNP_CFLAGS=`$PKG_CONFIG --cflags " gupnp-igd-1.0 " 2>/dev/null`
16293 pkg_cv_GUPNP_CFLAGS=`$PKG_CONFIG --cflags " gupnp-igd-1.0 >= 0.2 " 2>/dev/null`
1598516294 else
1598616295 pkg_failed=yes
1598716296 fi
1599416303 pkg_cv_GUPNP_LIBS="$GUPNP_LIBS"
1599516304 else
1599616305 if test -n "$PKG_CONFIG" && \
15997 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" gupnp-igd-1.0 \""; } >&5
15998 ($PKG_CONFIG --exists --print-errors " gupnp-igd-1.0 ") 2>&5
16306 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" gupnp-igd-1.0 >= 0.2 \""; } >&5
16307 ($PKG_CONFIG --exists --print-errors " gupnp-igd-1.0 >= 0.2 ") 2>&5
1599916308 ac_status=$?
1600016309 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1600116310 test $ac_status = 0; }; then
16002 pkg_cv_GUPNP_LIBS=`$PKG_CONFIG --libs " gupnp-igd-1.0 " 2>/dev/null`
16311 pkg_cv_GUPNP_LIBS=`$PKG_CONFIG --libs " gupnp-igd-1.0 >= 0.2 " 2>/dev/null`
1600316312 else
1600416313 pkg_failed=yes
1600516314 fi
1601816327 _pkg_short_errors_supported=no
1601916328 fi
1602016329 if test $_pkg_short_errors_supported = yes; then
16021 GUPNP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors " gupnp-igd-1.0 "`
16330 GUPNP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors " gupnp-igd-1.0 >= 0.2 "`
1602216331 else
16023 GUPNP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors " gupnp-igd-1.0 "`
16332 GUPNP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors " gupnp-igd-1.0 >= 0.2 "`
1602416333 fi
1602516334 # Put the nasty error message in config.log where it belongs
1602616335 echo "$GUPNP_PKG_ERRORS" >&5
1604216351 as_fn_error $? "Requested GUPnP IGD, but it is not available" "$LINENO" 5
1604316352 fi
1604416353
16045
16046 ac_config_files="$ac_config_files Makefile farstream.pc common/Makefile common/m4/Makefile common-modified/Makefile gst/Makefile gst/fsrawconference/Makefile gst/fsrtpconference/Makefile gst/fsmsnconference/Makefile gst/fsfunnel/Makefile gst/fsrtcpfilter/Makefile gst/fsvideoanyrate/Makefile farstream/Makefile transmitters/Makefile transmitters/rawudp/Makefile transmitters/multicast/Makefile transmitters/nice/Makefile transmitters/shm/Makefile tests/Makefile tests/check/Makefile tests/rtp/Makefile examples/Makefile examples/gui/Makefile examples/commandline/Makefile docs/Makefile docs/libs/Makefile docs/plugins/Makefile docs/version.entities python/Makefile m4/Makefile"
16354 if test "x$HAVE_GUPNP" = "xyes"; then
16355
16356 $as_echo "#define HAVE_GUPNP /**/" >>confdefs.h
16357
16358 fi
16359
16360
16361 ac_config_files="$ac_config_files Makefile farstream.pc farstream-uninstalled.pc common/Makefile common/m4/Makefile common-modified/Makefile gst/Makefile gst/fsrawconference/Makefile gst/fsrtpconference/Makefile gst/fsmsnconference/Makefile gst/fsrtcpfilter/Makefile gst/fsvideoanyrate/Makefile farstream/Makefile transmitters/Makefile transmitters/rawudp/Makefile transmitters/multicast/Makefile transmitters/nice/Makefile transmitters/shm/Makefile tests/Makefile tests/check/Makefile tests/rtp/Makefile examples/Makefile examples/gui/Makefile examples/commandline/Makefile docs/Makefile docs/libs/Makefile docs/plugins/Makefile docs/version.entities m4/Makefile"
1604716362
1604816363 cat >confcache <<\_ACEOF
1604916364 # This file is a shell script that caches the results of configure
1624716562 as_fn_error $? "conditional \"ENABLE_GTK_DOC\" was never defined.
1624816563 Usually this means the macro was only invoked conditionally." "$LINENO" 5
1624916564 fi
16565 if test -z "${GTK_DOC_BUILD_HTML_TRUE}" && test -z "${GTK_DOC_BUILD_HTML_FALSE}"; then
16566 as_fn_error $? "conditional \"GTK_DOC_BUILD_HTML\" was never defined.
16567 Usually this means the macro was only invoked conditionally." "$LINENO" 5
16568 fi
16569 if test -z "${GTK_DOC_BUILD_PDF_TRUE}" && test -z "${GTK_DOC_BUILD_PDF_FALSE}"; then
16570 as_fn_error $? "conditional \"GTK_DOC_BUILD_PDF\" was never defined.
16571 Usually this means the macro was only invoked conditionally." "$LINENO" 5
16572 fi
1625016573 if test -z "${GTK_DOC_USE_LIBTOOL_TRUE}" && test -z "${GTK_DOC_USE_LIBTOOL_FALSE}"; then
1625116574 as_fn_error $? "conditional \"GTK_DOC_USE_LIBTOOL\" was never defined.
1625216575 Usually this means the macro was only invoked conditionally." "$LINENO" 5
1625316576 fi
16577 if test -z "${GTK_DOC_USE_REBASE_TRUE}" && test -z "${GTK_DOC_USE_REBASE_FALSE}"; then
16578 as_fn_error $? "conditional \"GTK_DOC_USE_REBASE\" was never defined.
16579 Usually this means the macro was only invoked conditionally." "$LINENO" 5
16580 fi
1625416581 if test -z "${ENABLE_PLUGIN_DOCS_TRUE}" && test -z "${ENABLE_PLUGIN_DOCS_FALSE}"; then
1625516582 as_fn_error $? "conditional \"ENABLE_PLUGIN_DOCS\" was never defined.
1625616583 Usually this means the macro was only invoked conditionally." "$LINENO" 5
1625716584 fi
1625816585 if test -z "${HAVE_GST_CHECK_TRUE}" && test -z "${HAVE_GST_CHECK_FALSE}"; then
1625916586 as_fn_error $? "conditional \"HAVE_GST_CHECK\" was never defined.
16260 Usually this means the macro was only invoked conditionally." "$LINENO" 5
16261 fi
16262 if test -z "${WANT_PYTHON_TRUE}" && test -z "${WANT_PYTHON_FALSE}"; then
16263 as_fn_error $? "conditional \"WANT_PYTHON\" was never defined.
1626416587 Usually this means the macro was only invoked conditionally." "$LINENO" 5
1626516588 fi
1626616589
1667216995 # report actual input values of CONFIG_FILES etc. instead of their
1667316996 # values after options handling.
1667416997 ac_log="
16675 This file was extended by Farstream $as_me 0.1.2, which was
16998 This file was extended by Farstream $as_me 0.1.91, which was
1667616999 generated by GNU Autoconf 2.68. Invocation command line was
1667717000
1667817001 CONFIG_FILES = $CONFIG_FILES
1673817061 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
1673917062 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
1674017063 ac_cs_version="\\
16741 Farstream config.status 0.1.2
17064 Farstream config.status 0.1.91
1674217065 configured by $0, generated by GNU Autoconf 2.68,
1674317066 with options \\"\$ac_cs_config\\"
1674417067
1686917192 delay_variable_subst='$delay_variable_subst'
1687017193 macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
1687117194 macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
17195 AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`'
17196 DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
17197 OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
17198 enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
1687217199 enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
16873 enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
1687417200 pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
1687517201 enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
1687617202 SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
1689917225 lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
1690017226 reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
1690117227 reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
16902 OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
1690317228 deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
1690417229 file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
1690517230 file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
1690617231 want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
16907 DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
1690817232 sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
1690917233 AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
1691017234 AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
1701117335 }
1701217336
1701317337 # Quote evaled strings.
17014 for var in SHELL \
17338 for var in AS \
17339 DLLTOOL \
17340 OBJDUMP \
17341 SHELL \
1701517342 ECHO \
1701617343 SED \
1701717344 GREP \
1702317350 lt_SP2NL \
1702417351 lt_NL2SP \
1702517352 reload_flag \
17026 OBJDUMP \
1702717353 deplibs_check_method \
1702817354 file_magic_cmd \
1702917355 file_magic_glob \
1703017356 want_nocaseglob \
17031 DLLTOOL \
1703217357 sharedlib_from_linklib_cmd \
1703317358 AR \
1703417359 AR_FLAGS \
1714917474 "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
1715017475 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
1715117476 "farstream.pc") CONFIG_FILES="$CONFIG_FILES farstream.pc" ;;
17477 "farstream-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES farstream-uninstalled.pc" ;;
1715217478 "common/Makefile") CONFIG_FILES="$CONFIG_FILES common/Makefile" ;;
1715317479 "common/m4/Makefile") CONFIG_FILES="$CONFIG_FILES common/m4/Makefile" ;;
1715417480 "common-modified/Makefile") CONFIG_FILES="$CONFIG_FILES common-modified/Makefile" ;;
1715617482 "gst/fsrawconference/Makefile") CONFIG_FILES="$CONFIG_FILES gst/fsrawconference/Makefile" ;;
1715717483 "gst/fsrtpconference/Makefile") CONFIG_FILES="$CONFIG_FILES gst/fsrtpconference/Makefile" ;;
1715817484 "gst/fsmsnconference/Makefile") CONFIG_FILES="$CONFIG_FILES gst/fsmsnconference/Makefile" ;;
17159 "gst/fsfunnel/Makefile") CONFIG_FILES="$CONFIG_FILES gst/fsfunnel/Makefile" ;;
1716017485 "gst/fsrtcpfilter/Makefile") CONFIG_FILES="$CONFIG_FILES gst/fsrtcpfilter/Makefile" ;;
1716117486 "gst/fsvideoanyrate/Makefile") CONFIG_FILES="$CONFIG_FILES gst/fsvideoanyrate/Makefile" ;;
1716217487 "farstream/Makefile") CONFIG_FILES="$CONFIG_FILES farstream/Makefile" ;;
1717517500 "docs/libs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/libs/Makefile" ;;
1717617501 "docs/plugins/Makefile") CONFIG_FILES="$CONFIG_FILES docs/plugins/Makefile" ;;
1717717502 "docs/version.entities") CONFIG_FILES="$CONFIG_FILES docs/version.entities" ;;
17178 "python/Makefile") CONFIG_FILES="$CONFIG_FILES python/Makefile" ;;
1717917503 "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;;
1718017504
1718117505 *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
1792518249 macro_version=$macro_version
1792618250 macro_revision=$macro_revision
1792718251
18252 # Assembler program.
18253 AS=$lt_AS
18254
18255 # DLL creation program.
18256 DLLTOOL=$lt_DLLTOOL
18257
18258 # Object dumper program.
18259 OBJDUMP=$lt_OBJDUMP
18260
18261 # Whether or not to build static libraries.
18262 build_old_libs=$enable_static
18263
1792818264 # Whether or not to build shared libraries.
1792918265 build_libtool_libs=$enable_shared
17930
17931 # Whether or not to build static libraries.
17932 build_old_libs=$enable_static
1793318266
1793418267 # What type of objects to build.
1793518268 pic_mode=$pic_mode
1799818331 # convert \$build files to toolchain format.
1799918332 to_tool_file_cmd=$lt_cv_to_tool_file_cmd
1800018333
18001 # An object symbol dumper.
18002 OBJDUMP=$lt_OBJDUMP
18003
1800418334 # Method to check whether dependent libraries are shared objects.
1800518335 deplibs_check_method=$lt_deplibs_check_method
1800618336
1801218342
1801318343 # Find potential files using nocaseglob when deplibs_check_method = "file_magic".
1801418344 want_nocaseglob=$lt_want_nocaseglob
18015
18016 # DLL creation program.
18017 DLLTOOL=$lt_DLLTOOL
1801818345
1801918346 # Command to associate shared and link libraries.
1802018347 sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
44 dnl initialize autoconf
55 dnl releases only do -Wall, cvs and prerelease does -Werror too
66 dnl use a three digit version number for releases, and four for cvs/prerelease
7 AC_INIT(Farstream, 0.1.2,
7 AC_INIT(Farstream, 0.1.91,
88 https://bugs.freedesktop.org/enter_bug.cgi?product=Farstream,
99 farstream)
1010
1717 AS_VERSION
1818
1919 dnl check if this is a release version
20 AS_NANO(FS_CVS="no", FS_CVS="yes")
20 AS_NANO(FS_GIT="no", FS_GIT="yes")
2121
2222 dnl can autoconf find the source ?
2323 AC_CONFIG_SRCDIR([farstream/fs-conference.c])
3434 AC_SUBST(AM_DEFAULT_VERBOSITY)])
3535
3636 dnl our libraries and install dirs use major.minor as a version
37 FS_MAJORMINOR=$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR
38 FS_MAJOR_MINOR=$PACKAGE_VERSION_MAJOR\_$PACKAGE_VERSION_MINOR
39 AC_SUBST(FS_MAJORMINOR)
40 AC_SUBST(FS_MAJOR_MINOR)
41 AC_DEFINE_UNQUOTED(FS_MAJORMINOR, "$FS_MAJORMINOR",
42 [Farstream major.minor version])
43 AC_DEFINE_UNQUOTED(FS_MAJOR_MINOR, "$FS_MAJORMINOR",
44 [Farstream major_minor version])
45
46 GST_MAJORMINOR=0.10
47 AC_SUBST(GST_MAJORMINOR)
48 AC_DEFINE_UNQUOTED(GST_MAJORMINOR, "$GST_MAJORMINOR",
37 FS_APIVERSION=0.2
38 FS_API_VERSION=0_2
39 AC_SUBST(FS_APIVERSION)
40 AC_SUBST(FS_API_VERSION)
41 AC_DEFINE_UNQUOTED(FS_APIVERSION, "$FS_APIVERSION",
42 [Farstream x.y API version])
43 AC_DEFINE_UNQUOTED(FS_API_VERSION, "$FS_APIVERSION",
44 [Farstream x_y API version])
45
46 GST_API_VERSION=1.0
47 AC_SUBST(GST_API_VERSION)
48 AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION",
4949 [GStreamer major.minor version])
5050
5151
5555 dnl - interfaces added -> increment AGE
5656 dnl - interfaces removed -> AGE = 0
5757 dnl sets FS_LT_LDFLAGS
58 AS_LIBTOOL(FS, 0, 1, 0)
58 AS_LIBTOOL(FS, 1, 0, 0)
5959
6060 dnl FIXME: this macro doesn't actually work;
6161 dnl the generated libtool script has no support for the listed tags.
6565 AM_PROG_LIBTOOL
6666
6767 dnl *** required versions of GStreamer stuff ***
68 GST_REQ=0.10.33
69 GSTPB_REQ=0.10.33
68 GST_REQ=0.11.1
69 GSTPB_REQ=0.11.1
7070
7171 dnl *** autotools stuff ****
7272
113113 fsrawconference \
114114 fsrtpconference \
115115 fsmsnconference \
116 fsfunnel \
117116 fsrtcpfilter \
118117 fsvideoanyrate
119118 "
167166 [FS_TRANSMITTER_PLUGINS_SELECTED=$FS_TRANSMITTER_PLUGINS_ALL])
168167
169168
170 NICE_REQUIRED=0.1.0
169 NICE_REQUIRED=0.1.3
171170
172171 PKG_CHECK_MODULES(NICE, \
173172 nice >= $NICE_REQUIRED,, AC_MSG_ERROR([Need libnice >= $NICE_REQUIRED]))
177176 AC_SUBST(FS_TRANSMITTER_PLUGINS_SELECTED)
178177
179178 dnl set the plugindir where plugins should be installed
180 AS_AC_EXPAND(FS_PLUGIN_PATH, ${libdir}/farstream-$FS_MAJORMINOR)
179 AS_AC_EXPAND(FS_PLUGIN_PATH, ${libdir}/farstream-$FS_APIVERSION)
181180 AC_SUBST(FS_PLUGIN_PATH)
182181 AC_DEFINE_UNQUOTED(FS_PLUGIN_PATH, "${FS_PLUGIN_PATH}", [The path were plugins are installed and search by default])
183182
201200
202201 dnl check for documentation tools
203202 GTK_DOC_CHECK([1.8])
204 AM_PATH_PYTHON([2.4])
205 LT_AC_PROG_SED
203 AS_PATH_PYTHON([2.1])
206204 AG_GST_PLUGIN_DOCS([1.8],[2.1])
207 AC_SUBST(SED)
208205
209206 dnl Make automake happy with per-target flags
210207 AM_PROG_CC_C_O
246243 dnl GLib is required
247244 AG_GST_GLIB_CHECK([2.30])
248245 AC_DEFINE(GLIB_VERSION_MIN_REQUIRED, GLIB_VERSION_2_30, [Ignore post 2.30 deprecations])
249 AC_DEFINE(GLIB_VERSION_MAX_REQUIRED, GLIB_VERSION_2_30, [Prevent post 2.30 APIs])
246 AC_DEFINE(GLIB_VERSION_MAX_ALLOWED, GLIB_VERSION_2_30, [Prevent post 2.30 APIs])
250247
251248
252249 PKG_CHECK_MODULES(GIO_UNIX, gio-unix-2.0 >= 2.16)
255252
256253 dnl checks for gstreamer
257254 dnl uninstalled is selected preferentially -- see pkg-config(1)
258 AG_GST_CHECK_GST($GST_MAJORMINOR, [$GST_REQ])
259 AG_GST_CHECK_GST_BASE($GST_MAJORMINOR, [$GST_REQ])
260 AG_GST_CHECK_GST_CHECK($GST_MAJORMINOR, [$GST_REQ], no)
261 AG_GST_CHECK_GST_PLUGINS_BASE($GST_MAJORMINOR, [$GSTPB_REQ])
255 AG_GST_CHECK_GST($GST_API_VERSION, [$GST_REQ])
256 AG_GST_CHECK_GST_BASE($GST_API_VERSION, [$GST_REQ])
257 AG_GST_CHECK_GST_CHECK($GST_API_VERSION, [$GST_REQ], no)
258 AG_GST_CHECK_GST_PLUGINS_BASE($GST_API_VERSION, [$GSTPB_REQ])
262259 AM_CONDITIONAL(HAVE_GST_CHECK, test "x$HAVE_GST_CHECK" = "xyes")
263260
264261 dnl Check for documentation xrefs
265262 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
266 FS_PREFIX="`$PKG_CONFIG --variable=prefix farstream-$FS_MAJORMINOR`"
263 FS_PREFIX="`$PKG_CONFIG --variable=prefix farstream-$FS_APIVERSION`"
267264 AC_SUBST(GLIB_PREFIX)
268265 AC_SUBST(FS_PREFIX)
269266
278275 AG_GST_SET_PLUGINDIR
279276
280277 dnl define an ERROR_CFLAGS Makefile variable
281 AG_GST_SET_ERROR_CFLAGS($FS_CVS)
278 AG_GST_SET_ERROR_CFLAGS($FS_GIT)
282279
283280 dnl define correct level for debugging messages
284 AG_GST_SET_LEVEL_DEFAULT($FS_CVS)
281 AG_GST_SET_LEVEL_DEFAULT($FS_GIT)
285282
286283 AC_CHECK_FUNCS(getifaddrs)
287284
304301 AC_SUBST(PROFILE_CFLAGS)
305302
306303 dnl every flag in FS_OPTION_CFLAGS can be overridden at make time
307 FS_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS)"
304 FS_OPTION_CFLAGS="-DGST_USE_UNSTABLE_API \$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) -Wno-error=deprecated-declarations "
308305 AC_SUBST(FS_OPTION_CFLAGS)
309306
310307 dnl our libraries need to be versioned correctly
313310 dnl FS_INTERNAL_CFLAGS
314311 dnl prefer internal headers to already installed ones
315312 dnl also add builddir include for enumtypes and marshal
316 FS_INTERNAL_CFLAGS="-I\$(top_srcdir) -I\$(top_builddir)"
313 FS_INTERNAL_CFLAGS="-I\$(top_srcdir) -I\$(top_builddir) -DGST_USE_UNSTABLE_API"
317314 AC_SUBST(FS_INTERNAL_CFLAGS)
318315
319316 dnl FIXME: do we want to rename to GST_ALL_* ?
345342 dnl whatevertarget_LIBS and -L flags here affect the rest of the linking
346343 GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^[_]*gst_plugin_desc\$\$' $FS_ALL_LDFLAGS"
347344 AC_SUBST(GST_PLUGIN_LDFLAGS)
348
349
350 AC_ARG_ENABLE([python],
351 AC_HELP_STRING([--disable-python], [Disable Python bindings]),
352 [case "${enableval}" in
353 yes) WANT_PYTHON=yes ;;
354 no) WANT_PYTHON=no ;;
355 *) AC_MSG_ERROR(bad value ${enableval} for --enable-python) ;;
356 esac],
357 WANT_PYTHON=yes)
358 if test "x$WANT_PYTHON" = "xyes"; then
359 AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)])
360 PKG_CHECK_MODULES(PYFARSTREAM, [ pygobject-2.0 >= 2.12.0
361 gst-python-0.10 >= 0.10.10] )
362 PKG_CHECK_MODULES(PYCODEGEN, [ pygobject-2.0 >= 2.16.0 ],
363 PYCODEGEN=pygobject-codegen-2.0,
364 AC_MSG_ERROR([You need pygobject 2.16+ for the codegen]))
365 fi
366 AC_SUBST(PYCODEGEN)
367 AM_CONDITIONAL(WANT_PYTHON, test "x$WANT_PYTHON" = "xyes")
368345
369346 AC_ARG_ENABLE([gupnp],
370347 AC_HELP_STRING([--disable-gupnp], [Disable GUPnP IGD support]),
377354
378355 HAVE_GUPNP=no
379356 if test "x$WANT_GUPNP" != "xno"; then
380 PKG_CHECK_MODULES(GUPNP, [ gupnp-igd-1.0 ],
357 PKG_CHECK_MODULES(GUPNP, [ gupnp-igd-1.0 >= 0.2 ],
381358 [ HAVE_GUPNP=yes ],
382359 [ HAVE_GUPNP=no ])
383360 fi
385362 AC_ERROR([Requested GUPnP IGD, but it is not available])
386363 fi
387364
365 if test "x$HAVE_GUPNP" = "xyes"; then
366 AC_DEFINE(HAVE_GUPNP,,[Have the GUPnP IGD library])
367 fi
368
388369 dnl *** output files ***
389370
390371 AC_CONFIG_FILES(
391372 Makefile
392373 farstream.pc
374 farstream-uninstalled.pc
393375 common/Makefile
394376 common/m4/Makefile
395377 common-modified/Makefile
397379 gst/fsrawconference/Makefile
398380 gst/fsrtpconference/Makefile
399381 gst/fsmsnconference/Makefile
400 gst/fsfunnel/Makefile
401382 gst/fsrtcpfilter/Makefile
402383 gst/fsvideoanyrate/Makefile
403384 farstream/Makefile
419400 docs/libs/Makefile
420401 docs/plugins/Makefile
421402 docs/version.entities
422 python/Makefile
423403 m4/Makefile
424404 dnl docs/plugins/Makefile
425405 )
00 #! /bin/sh
11 # depcomp - compile a program generating dependencies as side-effects
22
3 scriptversion=2006-10-15.18
4
5 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
6 # Foundation, Inc.
3 scriptversion=2009-04-28.21; # UTC
4
5 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
6 # Software Foundation, Inc.
77
88 # This program is free software; you can redistribute it and/or modify
99 # it under the terms of the GNU General Public License as published by
1616 # GNU General Public License for more details.
1717
1818 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21 # 02110-1301, USA.
19 # along with this program. If not, see <http://www.gnu.org/licenses/>.
2220
2321 # As a special exception to the GNU General Public License, if you
2422 # distribute this file as part of a program that contains a
8482 # This is just like dashmstdout with a different argument.
8583 dashmflag=-xM
8684 depmode=dashmstdout
85 fi
86
87 cygpath_u="cygpath -u -f -"
88 if test "$depmode" = msvcmsys; then
89 # This is just like msvisualcpp but w/o cygpath translation.
90 # Just convert the backslash-escaped backslashes to single forward
91 # slashes to satisfy depend.m4
92 cygpath_u="sed s,\\\\\\\\,/,g"
93 depmode=msvisualcpp
8794 fi
8895
8996 case "$depmode" in
191198 ' < "$tmpdepfile" \
192199 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
193200 tr '
194 ' ' ' >> $depfile
195 echo >> $depfile
201 ' ' ' >> "$depfile"
202 echo >> "$depfile"
196203
197204 # The second pass generates a dummy entry for each header file.
198205 tr ' ' '
199206 ' < "$tmpdepfile" \
200207 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
201 >> $depfile
208 >> "$depfile"
202209 else
203210 # The sourcefile does not contain any dependencies, so just
204211 # store a dummy comment line, to avoid errors with the Makefile
214221 # current directory. Also, the AIX compiler puts `$object:' at the
215222 # start of each line; $object doesn't have directory information.
216223 # Version 6 uses the directory in both cases.
217 stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
218 tmpdepfile="$stripped.u"
224 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
225 test "x$dir" = "x$object" && dir=
226 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
219227 if test "$libtool" = yes; then
228 tmpdepfile1=$dir$base.u
229 tmpdepfile2=$base.u
230 tmpdepfile3=$dir.libs/$base.u
220231 "$@" -Wc,-M
221232 else
233 tmpdepfile1=$dir$base.u
234 tmpdepfile2=$dir$base.u
235 tmpdepfile3=$dir$base.u
222236 "$@" -M
223237 fi
224238 stat=$?
225239
226 if test -f "$tmpdepfile"; then :
227 else
228 stripped=`echo "$stripped" | sed 's,^.*/,,'`
229 tmpdepfile="$stripped.u"
230 fi
231
232240 if test $stat -eq 0; then :
233241 else
234 rm -f "$tmpdepfile"
242 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
235243 exit $stat
236244 fi
237245
246 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
247 do
248 test -f "$tmpdepfile" && break
249 done
238250 if test -f "$tmpdepfile"; then
239 outname="$stripped.o"
240251 # Each line is of the form `foo.o: dependent.h'.
241252 # Do two passes, one to just change these to
242253 # `$object: dependent.h' and one to simply `dependent.h:'.
243 sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
244 sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
254 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
255 # That's a tab and a space in the [].
256 sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
245257 else
246258 # The sourcefile does not contain any dependencies, so just
247259 # store a dummy comment line, to avoid errors with the Makefile
322334 if test -f "$tmpdepfile"; then
323335 sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
324336 # Add `dependent.h:' lines.
325 sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
337 sed -ne '2,${
338 s/^ *//
339 s/ \\*$//
340 s/$/:/
341 p
342 }' "$tmpdepfile" >> "$depfile"
326343 else
327344 echo "#dummy" > "$depfile"
328345 fi
398415
399416 # Remove the call to Libtool.
400417 if test "$libtool" = yes; then
401 while test $1 != '--mode=compile'; do
418 while test "X$1" != 'X--mode=compile'; do
402419 shift
403420 done
404421 shift
449466 "$@" || exit $?
450467 # Remove any Libtool call
451468 if test "$libtool" = yes; then
452 while test $1 != '--mode=compile'; do
469 while test "X$1" != 'X--mode=compile'; do
453470 shift
454471 done
455472 shift
456473 fi
457474 # X makedepend
458475 shift
459 cleared=no
460 for arg in "$@"; do
476 cleared=no eat=no
477 for arg
478 do
461479 case $cleared in
462480 no)
463481 set ""; shift
464482 cleared=yes ;;
465483 esac
484 if test $eat = yes; then
485 eat=no
486 continue
487 fi
466488 case "$arg" in
467489 -D*|-I*)
468490 set fnord "$@" "$arg"; shift ;;
469491 # Strip any option that makedepend may not understand. Remove
470492 # the object too, otherwise makedepend will parse it as a source file.
493 -arch)
494 eat=yes ;;
471495 -*|$object)
472496 ;;
473497 *)
474498 set fnord "$@" "$arg"; shift ;;
475499 esac
476500 done
477 obj_suffix="`echo $object | sed 's/^.*\././'`"
501 obj_suffix=`echo "$object" | sed 's/^.*\././'`
478502 touch "$tmpdepfile"
479503 ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
480504 rm -f "$depfile"
494518
495519 # Remove the call to Libtool.
496520 if test "$libtool" = yes; then
497 while test $1 != '--mode=compile'; do
521 while test "X$1" != 'X--mode=compile'; do
498522 shift
499523 done
500524 shift
532556
533557 msvisualcpp)
534558 # Important note: in order to support this mode, a compiler *must*
535 # always write the preprocessed file to stdout, regardless of -o,
536 # because we must use -o when running libtool.
559 # always write the preprocessed file to stdout.
537560 "$@" || exit $?
561
562 # Remove the call to Libtool.
563 if test "$libtool" = yes; then
564 while test "X$1" != 'X--mode=compile'; do
565 shift
566 done
567 shift
568 fi
569
538570 IFS=" "
539571 for arg
540572 do
541573 case "$arg" in
574 -o)
575 shift
576 ;;
577 $object)
578 shift
579 ;;
542580 "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
543581 set fnord "$@"
544582 shift
551589 ;;
552590 esac
553591 done
554 "$@" -E |
555 sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
592 "$@" -E 2>/dev/null |
593 sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
556594 rm -f "$depfile"
557595 echo "$object : \\" > "$depfile"
558 . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
596 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
559597 echo " " >> "$depfile"
560 . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
598 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
561599 rm -f "$tmpdepfile"
600 ;;
601
602 msvcmsys)
603 # This case exists only to let depend.m4 do its work. It works by
604 # looking at the text of this script. This case will never be run,
605 # since it is checked for above.
606 exit 1
562607 ;;
563608
564609 none)
579624 # eval: (add-hook 'write-file-hooks 'time-stamp)
580625 # time-stamp-start: "scriptversion="
581626 # time-stamp-format: "%:y-%02m-%02d.%02H"
582 # time-stamp-end: "$"
627 # time-stamp-time-zone: "UTC"
628 # time-stamp-end: "; # UTC"
583629 # End:
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3232 POST_UNINSTALL = :
3333 build_triplet = @build@
3434 host_triplet = @host@
35 target_triplet = @target@
3536 subdir = docs
3637 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
3738 $(srcdir)/version.entities.in
4041 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4142 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4243 $(top_srcdir)/common/m4/as-libtool.m4 \
44 $(top_srcdir)/common/m4/as-python.m4 \
4345 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4446 $(top_srcdir)/common/m4/as-version.m4 \
4547 $(top_srcdir)/common/m4/gst-arch.m4 \
5254 $(top_srcdir)/common/m4/gst.m4 \
5355 $(top_srcdir)/common/m4/gtk-doc.m4 \
5456 $(top_srcdir)/common/m4/pkg.m4 \
55 $(top_srcdir)/m4/as-check-python-headers.m4 \
5657 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
5758 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
5859 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
6364 CONFIG_HEADER = $(top_builddir)/config.h
6465 CONFIG_CLEAN_FILES = version.entities
6566 CONFIG_CLEAN_VPATH_FILES =
66 AM_V_GEN = $(am__v_GEN_$(V))
67 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
67 AM_V_GEN = $(am__v_GEN_@AM_V@)
68 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
6869 am__v_GEN_0 = @echo " GEN " $@;
69 AM_V_at = $(am__v_at_$(V))
70 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
70 AM_V_at = $(am__v_at_@AM_V@)
71 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
7172 am__v_at_0 = @
7273 SOURCES =
7374 DIST_SOURCES =
117118 AMTAR = @AMTAR@
118119 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
119120 AR = @AR@
121 AS = @AS@
120122 AUTOCONF = @AUTOCONF@
121123 AUTOHEADER = @AUTOHEADER@
122124 AUTOMAKE = @AUTOMAKE@
144146 FGREP = @FGREP@
145147 FS_AGE = @FS_AGE@
146148 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
149 FS_APIVERSION = @FS_APIVERSION@
150 FS_API_VERSION = @FS_API_VERSION@
147151 FS_CFLAGS = @FS_CFLAGS@
148152 FS_CURRENT = @FS_CURRENT@
149153 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
152156 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
153157 FS_LICENSE = @FS_LICENSE@
154158 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
155 FS_MAJORMINOR = @FS_MAJORMINOR@
156 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
157159 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
158160 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
159161 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
166168 GCOV = @GCOV@
167169 GCOV_CFLAGS = @GCOV_CFLAGS@
168170 GCOV_LIBS = @GCOV_LIBS@
171 GIO_CFLAGS = @GIO_CFLAGS@
172 GIO_LDFLAGS = @GIO_LDFLAGS@
173 GIO_LIBS = @GIO_LIBS@
169174 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
170175 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
171176 GLIB_CFLAGS = @GLIB_CFLAGS@
175180 GLIB_REQ = @GLIB_REQ@
176181 GREP = @GREP@
177182 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
183 GST_API_VERSION = @GST_API_VERSION@
178184 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
179185 GST_BASE_LIBS = @GST_BASE_LIBS@
180186 GST_CFLAGS = @GST_CFLAGS@
183189 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
184190 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
185191 GST_LIBS = @GST_LIBS@
186 GST_MAJORMINOR = @GST_MAJORMINOR@
187192 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
188193 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
189194 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
193198 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
194199 GST_TOOLS_DIR = @GST_TOOLS_DIR@
195200 GTKDOC_CHECK = @GTKDOC_CHECK@
201 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
202 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
203 GTKDOC_MKPDF = @GTKDOC_MKPDF@
204 GTKDOC_REBASE = @GTKDOC_REBASE@
196205 GUPNP_CFLAGS = @GUPNP_CFLAGS@
197206 GUPNP_LIBS = @GUPNP_LIBS@
198207 HTML_DIR = @HTML_DIR@
244253 PKG_CONFIG = @PKG_CONFIG@
245254 PLUGINDIR = @PLUGINDIR@
246255 PROFILE_CFLAGS = @PROFILE_CFLAGS@
247 PYCODEGEN = @PYCODEGEN@
248 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
249 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
250 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
251 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
252256 PYTHON = @PYTHON@
253257 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
254 PYTHON_INCLUDES = @PYTHON_INCLUDES@
255258 PYTHON_PLATFORM = @PYTHON_PLATFORM@
256259 PYTHON_PREFIX = @PYTHON_PREFIX@
257260 PYTHON_VERSION = @PYTHON_VERSION@
318321 sharedstatedir = @sharedstatedir@
319322 srcdir = @srcdir@
320323 sysconfdir = @sysconfdir@
324 target = @target@
321325 target_alias = @target_alias@
326 target_cpu = @target_cpu@
327 target_os = @target_os@
328 target_vendor = @target_vendor@
322329 top_build_prefix = @top_build_prefix@
323330 top_builddir = @top_builddir@
324331 top_srcdir = @top_srcdir@
578585
579586 installcheck: installcheck-recursive
580587 install-strip:
581 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
582 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
583 `test -z '$(STRIP)' || \
584 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
588 if test -z '$(STRIP)'; then \
589 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
590 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
591 install; \
592 else \
593 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
594 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
595 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
596 fi
585597 mostlyclean-generic:
586598
587599 clean-generic:
00 This page describes the Farstream coding style. Respect it or die.
11
22 It is a copy of
3 http://farstream.freedesktop.org/wiki/Fs2CodingStyle
3 http://www.freedesktop.org/wiki/Software/Farstream/CodingStyle
44
55 They should both be in sync
66
33 # DOCS_ARE_INCOMPLETE_PLEASE_FIXME=yespleasedo
44
55 # The name of the module, e.g. 'glib'.
6 #DOC_MODULE=gst-plugins-libs-@GST_MAJORMINOR@
6 #DOC_MODULE=gst-plugins-libs-@GST_API_VERSION@
77 DOC_MODULE=farstream-libs
88
99 # generated basefiles
4545 # this is useful ;)
4646
4747 SCANOBJ_DEPS = \
48 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la
48 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la
4949
5050 # Header files to ignore when scanning.
5151 IGNORE_HFILES = fs-marshal.h fs-enumtypes.h fs-private.h
6363 # contains GtkObjects/GObjects and you want to document signals and properties.
6464 GTKDOC_CFLAGS = $(FS_INTERNAL_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS)
6565 GTKDOC_LIBS = -static \
66 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
66 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
6767 $(GST_BASE_LIBS) \
6868 $(GCOV_LIBS)
6969
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
4040 POST_UNINSTALL = :
4141 build_triplet = @build@
4242 host_triplet = @host@
43 target_triplet = @target@
4344 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
4445 $(top_srcdir)/common/gtk-doc.mak
4546 subdir = docs/libs
4849 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4950 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
5051 $(top_srcdir)/common/m4/as-libtool.m4 \
52 $(top_srcdir)/common/m4/as-python.m4 \
5153 $(top_srcdir)/common/m4/as-scrub-include.m4 \
5254 $(top_srcdir)/common/m4/as-version.m4 \
5355 $(top_srcdir)/common/m4/gst-arch.m4 \
6062 $(top_srcdir)/common/m4/gst.m4 \
6163 $(top_srcdir)/common/m4/gtk-doc.m4 \
6264 $(top_srcdir)/common/m4/pkg.m4 \
63 $(top_srcdir)/m4/as-check-python-headers.m4 \
6465 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
6566 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
6667 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
7172 CONFIG_HEADER = $(top_builddir)/config.h
7273 CONFIG_CLEAN_FILES =
7374 CONFIG_CLEAN_VPATH_FILES =
74 AM_V_GEN = $(am__v_GEN_$(V))
75 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
75 AM_V_GEN = $(am__v_GEN_@AM_V@)
76 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
7677 am__v_GEN_0 = @echo " GEN " $@;
77 AM_V_at = $(am__v_at_$(V))
78 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
78 AM_V_at = $(am__v_at_@AM_V@)
79 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
7980 am__v_at_0 = @
8081 SOURCES =
8182 DIST_SOURCES =
8586 AMTAR = @AMTAR@
8687 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
8788 AR = @AR@
89 AS = @AS@
8890 AUTOCONF = @AUTOCONF@
8991 AUTOHEADER = @AUTOHEADER@
9092 AUTOMAKE = @AUTOMAKE@
112114 FGREP = @FGREP@
113115 FS_AGE = @FS_AGE@
114116 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
117 FS_APIVERSION = @FS_APIVERSION@
118 FS_API_VERSION = @FS_API_VERSION@
115119 FS_CFLAGS = @FS_CFLAGS@
116120 FS_CURRENT = @FS_CURRENT@
117121 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
120124 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
121125 FS_LICENSE = @FS_LICENSE@
122126 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
123 FS_MAJORMINOR = @FS_MAJORMINOR@
124 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
125127 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
126128 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
127129 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
134136 GCOV = @GCOV@
135137 GCOV_CFLAGS = @GCOV_CFLAGS@
136138 GCOV_LIBS = @GCOV_LIBS@
139 GIO_CFLAGS = @GIO_CFLAGS@
140 GIO_LDFLAGS = @GIO_LDFLAGS@
141 GIO_LIBS = @GIO_LIBS@
137142 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
138143 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
139144 GLIB_CFLAGS = @GLIB_CFLAGS@
143148 GLIB_REQ = @GLIB_REQ@
144149 GREP = @GREP@
145150 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
151 GST_API_VERSION = @GST_API_VERSION@
146152 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
147153 GST_BASE_LIBS = @GST_BASE_LIBS@
148154 GST_CFLAGS = @GST_CFLAGS@
151157 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
152158 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
153159 GST_LIBS = @GST_LIBS@
154 GST_MAJORMINOR = @GST_MAJORMINOR@
155160 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
156161 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
157162 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
161166 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
162167 GST_TOOLS_DIR = @GST_TOOLS_DIR@
163168 GTKDOC_CHECK = @GTKDOC_CHECK@
169 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
170 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
171 GTKDOC_MKPDF = @GTKDOC_MKPDF@
172 GTKDOC_REBASE = @GTKDOC_REBASE@
164173 GUPNP_CFLAGS = @GUPNP_CFLAGS@
165174 GUPNP_LIBS = @GUPNP_LIBS@
166175 HTML_DIR = @HTML_DIR@
212221 PKG_CONFIG = @PKG_CONFIG@
213222 PLUGINDIR = @PLUGINDIR@
214223 PROFILE_CFLAGS = @PROFILE_CFLAGS@
215 PYCODEGEN = @PYCODEGEN@
216 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
217 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
218 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
219 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
220224 PYTHON = @PYTHON@
221225 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
222 PYTHON_INCLUDES = @PYTHON_INCLUDES@
223226 PYTHON_PLATFORM = @PYTHON_PLATFORM@
224227 PYTHON_PREFIX = @PYTHON_PREFIX@
225228 PYTHON_VERSION = @PYTHON_VERSION@
286289 sharedstatedir = @sharedstatedir@
287290 srcdir = @srcdir@
288291 sysconfdir = @sysconfdir@
292 target = @target@
289293 target_alias = @target_alias@
294 target_cpu = @target_cpu@
295 target_os = @target_os@
296 target_vendor = @target_vendor@
290297 top_build_prefix = @top_build_prefix@
291298 top_builddir = @top_builddir@
292299 top_srcdir = @top_srcdir@
293300
294301 # The name of the module, e.g. 'glib'.
295 #DOC_MODULE=gst-plugins-libs-@GST_MAJORMINOR@
302 #DOC_MODULE=gst-plugins-libs-@GST_API_VERSION@
296303 DOC_MODULE = farstream-libs
297304
298305 # generated basefiles
335342 # thomasvs: another nice wingo addition would be an explanation on why
336343 # this is useful ;)
337344 SCANOBJ_DEPS = \
338 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la
345 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la
339346
340347
341348 # Header files to ignore when scanning.
354361 # contains GtkObjects/GObjects and you want to document signals and properties.
355362 GTKDOC_CFLAGS = $(FS_INTERNAL_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS)
356363 GTKDOC_LIBS = -static \
357 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
364 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
358365 $(GST_BASE_LIBS) \
359366 $(GCOV_LIBS)
360367
374381 GPATH = $(srcdir)
375382
376383 # thomas: make docs parallel installable
377 TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@
384 TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)-@GST_API_VERSION@
378385 EXTRA_DIST = \
379386 $(content_files) \
380387 $(extra_files) \
430437 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
431438 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
432439 esac;
440 $(top_srcdir)/common/gtk-doc.mak:
433441
434442 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
435443 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
499507
500508 installcheck: installcheck-am
501509 install-strip:
502 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
503 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
504 `test -z '$(STRIP)' || \
505 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
510 if test -z '$(STRIP)'; then \
511 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
512 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
513 install; \
514 else \
515 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
516 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
517 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
518 fi
506519 mostlyclean-generic:
507520
508521 clean-generic:
684697 @ENABLE_GTK_DOC_TRUE@ fi; \
685698 @ENABLE_GTK_DOC_TRUE@ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
686699 @ENABLE_GTK_DOC_TRUE@ @mv html/index.sgml html/index.sgml.bak
687 @ENABLE_GTK_DOC_TRUE@ @$(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_MAJORMINOR@\//g" html/index.sgml.bak >html/index.sgml
700 @ENABLE_GTK_DOC_TRUE@ @$(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_API_VERSION@\//g" html/index.sgml.bak >html/index.sgml
688701 @ENABLE_GTK_DOC_TRUE@ @rm -f html/index.sgml.bak
689702 @ENABLE_GTK_DOC_TRUE@ @rm -rf html/xml
690703 @ENABLE_GTK_DOC_TRUE@ @rm -f version.entities
742755 echo '-- Installing $(builddir)/html/$(DOC_MODULE).devhelp2' ; \
743756 if test -e $(builddir)/html/$(DOC_MODULE).devhelp2; then \
744757 $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE).devhelp2 \
745 $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp2; \
758 $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
746759 fi; \
747760 (which gtkdoc-rebase >/dev/null && \
748761 gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR)) || true ; \
99 <releaseinfo>
1010 for version &FS_VERSION;.
1111 The latest version of this documentation can be found on-line at
12 <ulink role="online-location" url="http://farstream.freedesktop.org/apidoc/farstream/">http://farstream.freedesktop.org/apidoc/farstream/</ulink>.
12 <ulink role="online-location" url="http://www.freedesktop.org/software/farstream/apidoc/farstream/">http://www.freedesktop.org/software/farstream/apidoc/farstream/</ulink>.
1313 The bases classes are implemented by multiple plugins described in
1414 the <ulink url="http://farstream.freedesktop.org/apidoc/farstream-plugins/">Farstream Plugins Manual</ulink>.
1515 </releaseinfo>
77 <link rel="up" href="ch01.html" title="Farstream Core Library">
88 <link rel="prev" href="ch01.html" title="Farstream Core Library">
99 <link rel="next" href="FsParticipant.html" title="FsParticipant">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
4646 struct <a class="link" href="FsConference.html#FsConference-struct" title="struct FsConference">FsConference</a>;
4747 <a class="link" href="FsSession.html" title="FsSession"><span class="returnvalue">FsSession</span></a> * <a class="link" href="FsConference.html#fs-conference-new-session" title="fs_conference_new_session ()">fs_conference_new_session</a> (<em class="parameter"><code><a class="link" href="FsConference.html" title="FsConference"><span class="type">FsConference</span></a> *conference</code></em>,
4848 <em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsMediaType" title="enum FsMediaType"><span class="type">FsMediaType</span></a> media_type</code></em>,
49 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
49 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
5050 <a class="link" href="FsParticipant.html" title="FsParticipant"><span class="returnvalue">FsParticipant</span></a> * <a class="link" href="FsConference.html#fs-conference-new-participant" title="fs_conference_new_participant ()">fs_conference_new_participant</a> (<em class="parameter"><code><a class="link" href="FsConference.html" title="FsConference"><span class="type">FsConference</span></a> *conference</code></em>,
51 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
51 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
5252 #define <a class="link" href="FsConference.html#FS-ERROR:CAPS" title="FS_ERROR">FS_ERROR</a>
5353 enum <a class="link" href="FsConference.html#FsError" title="enum FsError">FsError</a>;
5454 #define <a class="link" href="FsConference.html#FS-ERROR-IS-FATAL:CAPS" title="FS_ERROR_IS_FATAL()">FS_ERROR_IS_FATAL</a> (error)
55 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsConference.html#fs-parse-error" title="fs_parse_error ()">fs_parse_error</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
55 <span class="returnvalue">gboolean</span> <a class="link" href="FsConference.html#fs-parse-error" title="fs_parse_error ()">fs_parse_error</a> (<em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
5656 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
5757 <em class="parameter"><code><a class="link" href="FsConference.html#FsError" title="enum FsError"><span class="type">FsError</span></a> *error</code></em>,
58 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **error_msg</code></em>);
58 <em class="parameter"><code>const <span class="type">gchar</span> **error_msg</code></em>);
5959 </pre>
6060 </div>
6161 <div class="refsect1">
6262 <a name="FsConference.object-hierarchy"></a><h2>Object Hierarchy</h2>
6363 <pre class="synopsis">
64 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
65 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
66 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
67 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html">GstBin</a>
68 +----FsConference
64 GObject
65 +----GInitiallyUnowned
66 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
67 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
68 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html">GstBin</a>
69 +----FsConference
6970 </pre>
7071 </div>
7172 <div class="refsect1">
8687 of type <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-ELEMENT:CAPS"><span class="type">GST_MESSAGE_ELEMENT</span></a> sent over the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html"><span class="type">GstBus</span></a>.
8788 </p>
8889 <div class="refsect2">
89 <a name="id373643"></a><h3>The "<code class="literal">farstream-error</code>" message</h3>
90 <a name="id318855"></a><h3>The "<code class="literal">farstream-error</code>" message</h3>
9091 <div class="informalexample">
9192 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
9293 <tbody>
9495 <td class="listing_lines" align="right"><pre>1
9596 2
9697 3</pre></td>
97 <td class="listing_code"><pre class="programlisting"><span class="string">"src-object"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">GTKDOCLINK</span><span class="normal"> HREF</span><span class="symbol">=</span><span class="string">"GObject"</span><span class="symbol">&gt;</span><span class="usertype">GObject&lt;/GTKDOCLINK&gt; The object (&lt;a class="link" href="FsConference.html" title="FsConference"&gt;FsConference&lt;/a&gt;, &lt;a class="link" href="FsSession.html" title="FsSession"&gt;FsSession&lt;/a&gt;</span><span class="normal"> or </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"FsStream.html"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"FsStream"</span><span class="symbol">&gt;</span><span class="normal"><a href="../farstream-libs-0.10/FsStream.html">FsStream</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;)</span><span class="normal"> that emitted the error</span>
98 <span class="string">"error-no"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"FsConference.html#FsError"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"enum FsError"</span><span class="symbol">&gt;</span><span class="normal"><a href="../farstream-libs-0.10/FsConference.html#FsError">FsError</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> The Error number</span>
99 <span class="string">"error-msg"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">GTKDOCLINK</span><span class="normal"> HREF</span><span class="symbol">=</span><span class="string">"gchar"</span><span class="symbol">&gt;</span><span class="normal"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar">gchar</a></span><span class="symbol">&lt;/</span><span class="normal">GTKDOCLINK</span><span class="symbol">&gt;*</span><span class="normal"> The error message</span></pre></td>
98 <td class="listing_code"><pre class="programlisting"><span class="string">"src-object"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">GTKDOCLINK</span><span class="normal"> HREF</span><span class="symbol">=</span><span class="string">"GObject"</span><span class="symbol">&gt;</span><span class="usertype">GObject&lt;/GTKDOCLINK&gt; The object (&lt;a class="link" href="FsConference.html" title="FsConference"&gt;FsConference&lt;/a&gt;, &lt;a class="link" href="FsSession.html" title="FsSession"&gt;FsSession&lt;/a&gt;</span><span class="normal"> or </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"FsStream.html"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"FsStream"</span><span class="symbol">&gt;</span><span class="normal"><a href="http://farstream.freedesktop.org/apidoc/farstream/FsStream.html">FsStream</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;)</span><span class="normal"> that emitted the error</span>
99 <span class="string">"error-no"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"FsConference.html#FsError"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"enum FsError"</span><span class="symbol">&gt;</span><span class="normal"><a href="http://farstream.freedesktop.org/apidoc/farstream/FsConference.html#FsError">FsError</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> The Error number</span>
100 <span class="string">"error-msg"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">GTKDOCLINK</span><span class="normal"> HREF</span><span class="symbol">=</span><span class="string">"gchar"</span><span class="symbol">&gt;</span><span class="normal">gchar</span><span class="symbol">&lt;/</span><span class="normal">GTKDOCLINK</span><span class="symbol">&gt;*</span><span class="normal"> The error message</span></pre></td>
100101 </tr>
101102 </tbody>
102103 </table>
123124 <a name="fs-conference-new-session"></a><h3>fs_conference_new_session ()</h3>
124125 <pre class="programlisting"><a class="link" href="FsSession.html" title="FsSession"><span class="returnvalue">FsSession</span></a> * fs_conference_new_session (<em class="parameter"><code><a class="link" href="FsConference.html" title="FsConference"><span class="type">FsConference</span></a> *conference</code></em>,
125126 <em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsMediaType" title="enum FsMediaType"><span class="type">FsMediaType</span></a> media_type</code></em>,
126 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
127 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
127128 <p>
128129 Create a new Farstream session for the given conference.
129130 </p>
143144 </tr>
144145 <tr>
145146 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
146 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if no error occured</td>
147 <td>location of a <span class="type">GError</span>, or <code class="literal">NULL</code> if no error occured</td>
147148 </tr>
148149 <tr>
149150 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
158159 <div class="refsect2">
159160 <a name="fs-conference-new-participant"></a><h3>fs_conference_new_participant ()</h3>
160161 <pre class="programlisting"><a class="link" href="FsParticipant.html" title="FsParticipant"><span class="returnvalue">FsParticipant</span></a> * fs_conference_new_participant (<em class="parameter"><code><a class="link" href="FsConference.html" title="FsConference"><span class="type">FsConference</span></a> *conference</code></em>,
161 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
162 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
162163 <p>
163164 Create a new Farstream Participant for the type of the given conference.
164165 </p>
173174 </tr>
174175 <tr>
175176 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
176 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if no error occured</td>
177 <td>location of a <span class="type">GError</span>, or <code class="literal">NULL</code> if no error occured</td>
177178 </tr>
178179 <tr>
179180 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
299300 <a name="FS-ERROR-IS-FATAL:CAPS"></a><h3>FS_ERROR_IS_FATAL()</h3>
300301 <pre class="programlisting">#define FS_ERROR_IS_FATAL(error)</pre>
301302 <p>
302 Tells the programmer if an error if fatal or not, if it returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>,
303 Tells the programmer if an error if fatal or not, if it returns <code class="literal">TRUE</code>,
303304 the error is fatal, and the object that created it should
304 be discarded. It returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
305 be discarded. It returns <code class="literal">FALSE</code> otherwise.
305306 </p>
306307 <div class="variablelist"><table border="0">
307308 <col align="left" valign="top">
315316 <hr>
316317 <div class="refsect2">
317318 <a name="fs-parse-error"></a><h3>fs_parse_error ()</h3>
318 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_parse_error (<em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
319 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_parse_error (<em class="parameter"><code><span class="type">GObject</span> *object</code></em>,
319320 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
320321 <em class="parameter"><code><a class="link" href="FsConference.html#FsError" title="enum FsError"><span class="type">FsError</span></a> *error</code></em>,
321 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **error_msg</code></em>);</pre>
322 <em class="parameter"><code>const <span class="type">gchar</span> **error_msg</code></em>);</pre>
322323 <p>
323324 Parses a "farstream-farstream" message and checks if it matches
324325 the <em class="parameter"><code>object</code></em> parameters.
328329 <tbody>
329330 <tr>
330331 <td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
331 <td>a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> to match against the message</td>
332 <td>a <span class="type">GObject</span> to match against the message</td>
332333 </tr>
333334 <tr>
334335 <td><p><span class="term"><em class="parameter"><code>message</code></em> :</span></p></td>
337338 <tr>
338339 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
339340 <td>Returns the <a class="link" href="FsConference.html#FsError" title="enum FsError"><span class="type">FsError</span></a> error number in
340 the message if not <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span>
341 the message if not <code class="literal">NULL</code>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span>
341342 </td>
342343 </tr>
343344 <tr>
344345 <td><p><span class="term"><em class="parameter"><code>error_msg</code></em> :</span></p></td>
345 <td>Returns the error message if not <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span>
346 <td>Returns the error message if not <code class="literal">NULL</code>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span>
346347 </td>
347348 </tr>
348349 <tr>
349350 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
350351 <td>
351 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message matches the object and is valid.</td>
352 <code class="literal">TRUE</code> if the message matches the object and is valid.</td>
352353 </tr>
353354 </tbody>
354355 </table></div>
357358 </div>
358359 <div class="footer">
359360 <hr>
360 Generated by GTK-Doc V1.18.1</div>
361 Generated by GTK-Doc V1.18</div>
361362 </body>
362363 </html>
77 <link rel="up" href="ch03.html" title="Farstream Utility Functions and Objects">
88 <link rel="prev" href="ch03.html" title="Farstream Utility Functions and Objects">
99 <link rel="next" href="farstream-libs-Utility-functions.html" title="Utility functions">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
4747 <a class="link" href="FsElementAddedNotifier.html" title="FsElementAddedNotifier"><span class="returnvalue">FsElementAddedNotifier</span></a> * <a class="link" href="FsElementAddedNotifier.html#fs-element-added-notifier-new" title="fs_element_added_notifier_new ()">fs_element_added_notifier_new</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
4848 <span class="returnvalue">void</span> <a class="link" href="FsElementAddedNotifier.html#fs-element-added-notifier-add" title="fs_element_added_notifier_add ()">fs_element_added_notifier_add</a> (<em class="parameter"><code><a class="link" href="FsElementAddedNotifier.html" title="FsElementAddedNotifier"><span class="type">FsElementAddedNotifier</span></a> *notifier</code></em>,
4949 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html"><span class="type">GstBin</span></a> *bin</code></em>);
50 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsElementAddedNotifier.html#fs-element-added-notifier-remove" title="fs_element_added_notifier_remove ()">fs_element_added_notifier_remove</a> (<em class="parameter"><code><a class="link" href="FsElementAddedNotifier.html" title="FsElementAddedNotifier"><span class="type">FsElementAddedNotifier</span></a> *notifier</code></em>,
50 <span class="returnvalue">gboolean</span> <a class="link" href="FsElementAddedNotifier.html#fs-element-added-notifier-remove" title="fs_element_added_notifier_remove ()">fs_element_added_notifier_remove</a> (<em class="parameter"><code><a class="link" href="FsElementAddedNotifier.html" title="FsElementAddedNotifier"><span class="type">FsElementAddedNotifier</span></a> *notifier</code></em>,
5151 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html"><span class="type">GstBin</span></a> *bin</code></em>);
5252 <span class="returnvalue">void</span> <a class="link" href="FsElementAddedNotifier.html#fs-element-added-notifier-set-properties-from-keyfile" title="fs_element_added_notifier_set_properties_from_keyfile ()">fs_element_added_notifier_set_properties_from_keyfile</a>
5353 (<em class="parameter"><code><a class="link" href="FsElementAddedNotifier.html" title="FsElementAddedNotifier"><span class="type">FsElementAddedNotifier</span></a> *notifier</code></em>,
54 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="type">GKeyFile</span></a> *keyfile</code></em>);
55 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsElementAddedNotifier.html#fs-element-added-notifier-set-properties-from-file" title="fs_element_added_notifier_set_properties_from_file ()">fs_element_added_notifier_set_properties_from_file</a>
56 (<em class="parameter"><code><a class="link" href="FsElementAddedNotifier.html" title="FsElementAddedNotifier"><span class="type">FsElementAddedNotifier</span></a> *notifier</code></em>,
57 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filename</code></em>,
58 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
54 <em class="parameter"><code><span class="type">GKeyFile</span> *keyfile</code></em>);
55 <span class="returnvalue">gboolean</span> <a class="link" href="FsElementAddedNotifier.html#fs-element-added-notifier-set-properties-from-file" title="fs_element_added_notifier_set_properties_from_file ()">fs_element_added_notifier_set_properties_from_file</a>
56 (<em class="parameter"><code><a class="link" href="FsElementAddedNotifier.html" title="FsElementAddedNotifier"><span class="type">FsElementAddedNotifier</span></a> *notifier</code></em>,
57 <em class="parameter"><code>const <span class="type">gchar</span> *filename</code></em>,
58 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
5959 <span class="returnvalue">void</span> <a class="link" href="FsElementAddedNotifier.html#fs-element-added-notifier-set-default-properties" title="fs_element_added_notifier_set_default_properties ()">fs_element_added_notifier_set_default_properties</a>
6060 (<em class="parameter"><code><a class="link" href="FsElementAddedNotifier.html" title="FsElementAddedNotifier"><span class="type">FsElementAddedNotifier</span></a> *notifier</code></em>,
6161 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);
6464 <div class="refsect1">
6565 <a name="FsElementAddedNotifier.object-hierarchy"></a><h2>Object Hierarchy</h2>
6666 <pre class="synopsis">
67 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
67 GObject
6868 +----FsElementAddedNotifier
6969 </pre>
7070 </div>
7171 <div class="refsect1">
7272 <a name="FsElementAddedNotifier.signals"></a><h2>Signals</h2>
7373 <pre class="synopsis">
74 "<a class="link" href="FsElementAddedNotifier.html#FsElementAddedNotifier-element-added" title='The "element-added" signal'>element-added</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
74 "<a class="link" href="FsElementAddedNotifier.html#FsElementAddedNotifier-element-added" title='The "element-added" signal'>element-added</a>" : <code class="literal">Run Last</code>
7575 </pre>
7676 </div>
7777 <div class="refsect1">
137137 <hr>
138138 <div class="refsect2">
139139 <a name="fs-element-added-notifier-remove"></a><h3>fs_element_added_notifier_remove ()</h3>
140 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_element_added_notifier_remove (<em class="parameter"><code><a class="link" href="FsElementAddedNotifier.html" title="FsElementAddedNotifier"><span class="type">FsElementAddedNotifier</span></a> *notifier</code></em>,
140 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_element_added_notifier_remove (<em class="parameter"><code><a class="link" href="FsElementAddedNotifier.html" title="FsElementAddedNotifier"><span class="type">FsElementAddedNotifier</span></a> *notifier</code></em>,
141141 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html"><span class="type">GstBin</span></a> *bin</code></em>);</pre>
142142 <p>
143143 Stop watching the passed bin and its subbins.
157157 <tr>
158158 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
159159 <td>
160 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html"><span class="type">GstBin</span></a> was being watched, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
160 <code class="literal">TRUE</code> if the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html"><span class="type">GstBin</span></a> was being watched, <code class="literal">FALSE</code> otherwise</td>
161161 </tr>
162162 </tbody>
163163 </table></div>
167167 <a name="fs-element-added-notifier-set-properties-from-keyfile"></a><h3>fs_element_added_notifier_set_properties_from_keyfile ()</h3>
168168 <pre class="programlisting"><span class="returnvalue">void</span> fs_element_added_notifier_set_properties_from_keyfile
169169 (<em class="parameter"><code><a class="link" href="FsElementAddedNotifier.html" title="FsElementAddedNotifier"><span class="type">FsElementAddedNotifier</span></a> *notifier</code></em>,
170 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="type">GKeyFile</span></a> *keyfile</code></em>);</pre>
171 <p>
172 Using a <a href="http://library.gnome.org/devel/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="type">GKeyFile</span></a> where the groups are the element's type or name
170 <em class="parameter"><code><span class="type">GKeyFile</span> *keyfile</code></em>);</pre>
171 <p>
172 Using a <span class="type">GKeyFile</span> where the groups are the element's type or name
173173 and the key=value are the property and its value, this function
174174 will set the properties on the elements added to this object after
175175 this function has been called. It will take ownership of the
186186 </tr>
187187 <tr>
188188 <td><p><span class="term"><em class="parameter"><code>keyfile</code></em> :</span></p></td>
189 <td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="type">GKeyFile</span></a>
189 <td>a <span class="type">GKeyFile</span>
190190 </td>
191191 </tr>
192192 </tbody>
195195 <hr>
196196 <div class="refsect2">
197197 <a name="fs-element-added-notifier-set-properties-from-file"></a><h3>fs_element_added_notifier_set_properties_from_file ()</h3>
198 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_element_added_notifier_set_properties_from_file
199 (<em class="parameter"><code><a class="link" href="FsElementAddedNotifier.html" title="FsElementAddedNotifier"><span class="type">FsElementAddedNotifier</span></a> *notifier</code></em>,
200 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filename</code></em>,
201 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
198 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_element_added_notifier_set_properties_from_file
199 (<em class="parameter"><code><a class="link" href="FsElementAddedNotifier.html" title="FsElementAddedNotifier"><span class="type">FsElementAddedNotifier</span></a> *notifier</code></em>,
200 <em class="parameter"><code>const <span class="type">gchar</span> *filename</code></em>,
201 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
202202 <p>
203203 Same as <a class="link" href="FsElementAddedNotifier.html#fs-element-added-notifier-set-properties-from-keyfile" title="fs_element_added_notifier_set_properties_from_keyfile ()"><code class="function">fs_element_added_notifier_set_properties_from_keyfile()</code></a> but using
204 the name of the file to load instead of the <a href="http://library.gnome.org/devel/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="type">GKeyFile</span></a> directly.
204 the name of the file to load instead of the <span class="type">GKeyFile</span> directly.
205205 </p>
206206 <div class="variablelist"><table border="0">
207207 <col align="left" valign="top">
217217 </tr>
218218 <tr>
219219 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
220 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if no error occured</td>
220 <td>location of a <span class="type">GError</span>, or <code class="literal">NULL</code> if no error occured</td>
221221 </tr>
222222 <tr>
223223 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
224224 <td>
225 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the file was successfully loaded, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
225 <code class="literal">TRUE</code> if the file was successfully loaded, <code class="literal">FALSE</code> otherwise</td>
226226 </tr>
227227 </tbody>
228228 </table></div>
265265 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="FsElementAddedNotifier.html" title="FsElementAddedNotifier"><span class="type">FsElementAddedNotifier</span></a> *self,
266266 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html"><span class="type">GstBin</span></a> *bin,
267267 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element,
268 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
268 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
269269 <p>
270270 This signal is emitted when an element is added to a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html"><span class="type">GstBin</span></a> that was added
271271 to this object or one of its sub-bins.
272272 Be careful, there is no guarantee that this will be emitted on your
273273 main thread, it will be emitted in the thread that added the element.
274 The bin may be <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if this is the top-level bin.
274 The bin may be <code class="literal">NULL</code> if this is the top-level bin.
275275 </p>
276276 <div class="variablelist"><table border="0">
277277 <col align="left" valign="top">
300300 </div>
301301 <div class="footer">
302302 <hr>
303 Generated by GTK-Doc V1.18.1</div>
303 Generated by GTK-Doc V1.18</div>
304304 </body>
305305 </html>
77 <link rel="up" href="ch01.html" title="Farstream Core Library">
88 <link rel="prev" href="FsConference.html" title="FsConference">
99 <link rel="next" href="FsSession.html" title="FsSession">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
5050 <div class="refsect1">
5151 <a name="FsParticipant.object-hierarchy"></a><h2>Object Hierarchy</h2>
5252 <pre class="synopsis">
53 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
54 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
55 +----FsParticipant
53 GObject
54 +----GInitiallyUnowned
55 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
56 +----FsParticipant
5657 </pre>
5758 </div>
5859 <div class="refsect1">
99100 <a name="FS-PARTICIPANT-DATA-LOCK:CAPS"></a><h3>FS_PARTICIPANT_DATA_LOCK()</h3>
100101 <pre class="programlisting">#define FS_PARTICIPANT_DATA_LOCK(participant)</pre>
101102 <p>
102 Locks the participant for data set with <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-set-data"><code class="function">g_object_set_data()</code></a> or
103 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-set-qdata"><code class="function">g_object_set_qdata()</code></a>.
103 Locks the participant for data set with <code class="function">g_object_set_data()</code> or
104 <code class="function">g_object_set_qdata()</code>.
104105 </p>
105106 <div class="variablelist"><table border="0">
106107 <col align="left" valign="top">
116117 <a name="FS-PARTICIPANT-DATA-UNLOCK:CAPS"></a><h3>FS_PARTICIPANT_DATA_UNLOCK()</h3>
117118 <pre class="programlisting">#define FS_PARTICIPANT_DATA_UNLOCK(participant)</pre>
118119 <p>
119 Unlocks the participant for data set with <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-set-data"><code class="function">g_object_set_data()</code></a> or
120 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-set-qdata"><code class="function">g_object_set_qdata()</code></a>.
120 Unlocks the participant for data set with <code class="function">g_object_set_data()</code> or
121 <code class="function">g_object_set_qdata()</code>.
121122 </p>
122123 <div class="variablelist"><table border="0">
123124 <col align="left" valign="top">
132133 </div>
133134 <div class="footer">
134135 <hr>
135 Generated by GTK-Doc V1.18.1</div>
136 Generated by GTK-Doc V1.18</div>
136137 </body>
137138 </html>
77 <link rel="up" href="ch01.html" title="Farstream Core Library">
88 <link rel="prev" href="FsParticipant.html" title="FsParticipant">
99 <link rel="next" href="FsStream.html" title="FsStream">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
5252 <a class="link" href="FsStream.html" title="FsStream"><span class="returnvalue">FsStream</span></a> * <a class="link" href="FsSession.html#fs-session-new-stream" title="fs_session_new_stream ()">fs_session_new_stream</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
5353 <em class="parameter"><code><a class="link" href="FsParticipant.html" title="FsParticipant"><span class="type">FsParticipant</span></a> *participant</code></em>,
5454 <em class="parameter"><code><a class="link" href="FsStream.html#FsStreamDirection" title="enum FsStreamDirection"><span class="type">FsStreamDirection</span></a> direction</code></em>,
55 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
56 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsSession.html#fs-session-set-codec-preferences" title="fs_session_set_codec_preferences ()">fs_session_set_codec_preferences</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
57 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *codec_preferences</code></em>,
58 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
55 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
56 <span class="returnvalue">gboolean</span> <a class="link" href="FsSession.html#fs-session-set-codec-preferences" title="fs_session_set_codec_preferences ()">fs_session_set_codec_preferences</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
57 <em class="parameter"><code><span class="type">GList</span> *codec_preferences</code></em>,
58 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
5959 <span class="returnvalue">void</span> <a class="link" href="FsSession.html#fs-session-destroy" title="fs_session_destroy ()">fs_session_destroy</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>);
60 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsSession.html#fs-session-start-telephony-event" title="fs_session_start_telephony_event ()">fs_session_start_telephony_event</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
61 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> event</code></em>,
62 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> volume</code></em>);
63 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsSession.html#fs-session-stop-telephony-event" title="fs_session_stop_telephony_event ()">fs_session_stop_telephony_event</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>);
64 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsSession.html#fs-session-set-send-codec" title="fs_session_set_send_codec ()">fs_session_set_send_codec</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
60 <span class="returnvalue">gboolean</span> <a class="link" href="FsSession.html#fs-session-start-telephony-event" title="fs_session_start_telephony_event ()">fs_session_start_telephony_event</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
61 <em class="parameter"><code><span class="type">guint8</span> event</code></em>,
62 <em class="parameter"><code><span class="type">guint8</span> volume</code></em>);
63 <span class="returnvalue">gboolean</span> <a class="link" href="FsSession.html#fs-session-stop-telephony-event" title="fs_session_stop_telephony_event ()">fs_session_stop_telephony_event</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>);
64 <span class="returnvalue">gboolean</span> <a class="link" href="FsSession.html#fs-session-set-send-codec" title="fs_session_set_send_codec ()">fs_session_set_send_codec</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
6565 <em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *send_codec</code></em>,
66 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
67 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> ** <a class="link" href="FsSession.html#fs-session-list-transmitters" title="fs_session_list_transmitters ()">fs_session_list_transmitters</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>);
68 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> <a class="link" href="FsSession.html#fs-session-get-stream-transmitter-type" title="fs_session_get_stream_transmitter_type ()">fs_session_get_stream_transmitter_type</a>
66 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
67 <span class="returnvalue">gchar</span> ** <a class="link" href="FsSession.html#fs-session-list-transmitters" title="fs_session_list_transmitters ()">fs_session_list_transmitters</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>);
68 <span class="returnvalue">GType</span> <a class="link" href="FsSession.html#fs-session-get-stream-transmitter-type" title="fs_session_get_stream_transmitter_type ()">fs_session_get_stream_transmitter_type</a>
6969 (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
70 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *transmitter</code></em>);
71 <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="FsSession.html#fs-session-codecs-need-resend" title="fs_session_codecs_need_resend ()">fs_session_codecs_need_resend</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
72 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *old_codecs</code></em>,
73 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *new_codecs</code></em>);
70 <em class="parameter"><code>const <span class="type">gchar</span> *transmitter</code></em>);
71 <span class="returnvalue">GList</span> * <a class="link" href="FsSession.html#fs-session-codecs-need-resend" title="fs_session_codecs_need_resend ()">fs_session_codecs_need_resend</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
72 <em class="parameter"><code><span class="type">GList</span> *old_codecs</code></em>,
73 <em class="parameter"><code><span class="type">GList</span> *new_codecs</code></em>);
7474 <span class="returnvalue">void</span> <a class="link" href="FsSession.html#fs-session-emit-error" title="fs_session_emit_error ()">fs_session_emit_error</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
75 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> error_no</code></em>,
76 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *error_msg</code></em>);
77 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsSession.html#fs-session-parse-codecs-changed" title="fs_session_parse_codecs_changed ()">fs_session_parse_codecs_changed</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
75 <em class="parameter"><code><span class="type">gint</span> error_no</code></em>,
76 <em class="parameter"><code>const <span class="type">gchar</span> *error_msg</code></em>);
77 <span class="returnvalue">gboolean</span> <a class="link" href="FsSession.html#fs-session-parse-codecs-changed" title="fs_session_parse_codecs_changed ()">fs_session_parse_codecs_changed</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
7878 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>);
79 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsSession.html#fs-session-parse-send-codec-changed" title="fs_session_parse_send_codec_changed ()">fs_session_parse_send_codec_changed</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
79 <span class="returnvalue">gboolean</span> <a class="link" href="FsSession.html#fs-session-parse-send-codec-changed" title="fs_session_parse_send_codec_changed ()">fs_session_parse_send_codec_changed</a> (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
8080 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
8181 <em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> **codec</code></em>,
82 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> **secondary_codecs</code></em>);
83 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsSession.html#fs-session-parse-telephony-event-started" title="fs_session_parse_telephony_event_started ()">fs_session_parse_telephony_event_started</a>
82 <em class="parameter"><code><span class="type">GList</span> **secondary_codecs</code></em>);
83 <span class="returnvalue">gboolean</span> <a class="link" href="FsSession.html#fs-session-parse-telephony-event-started" title="fs_session_parse_telephony_event_started ()">fs_session_parse_telephony_event_started</a>
8484 (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
8585 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
8686 <em class="parameter"><code><a class="link" href="FsSession.html#FsDTMFMethod" title="enum FsDTMFMethod"><span class="type">FsDTMFMethod</span></a> *method</code></em>,
8787 <em class="parameter"><code><a class="link" href="FsSession.html#FsDTMFEvent" title="enum FsDTMFEvent"><span class="type">FsDTMFEvent</span></a> *event</code></em>,
88 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *volume</code></em>);
89 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsSession.html#fs-session-parse-telephony-event-stopped" title="fs_session_parse_telephony_event_stopped ()">fs_session_parse_telephony_event_stopped</a>
88 <em class="parameter"><code><span class="type">guint8</span> *volume</code></em>);
89 <span class="returnvalue">gboolean</span> <a class="link" href="FsSession.html#fs-session-parse-telephony-event-stopped" title="fs_session_parse_telephony_event_stopped ()">fs_session_parse_telephony_event_stopped</a>
9090 (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
9191 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
9292 <em class="parameter"><code><a class="link" href="FsSession.html#FsDTMFMethod" title="enum FsDTMFMethod"><span class="type">FsDTMFMethod</span></a> *method</code></em>);
9595 <div class="refsect1">
9696 <a name="FsSession.object-hierarchy"></a><h2>Object Hierarchy</h2>
9797 <pre class="synopsis">
98 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
99 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
100 +----FsSession
98 GObject
99 +----GInitiallyUnowned
100 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
101 +----FsSession
101102 </pre>
102103 </div>
103104 <div class="refsect1">
108109 "<a class="link" href="FsSession.html#FsSession--codecs-without-config" title='The "codecs-without-config" property'>codecs-without-config</a>" <span class="type">FsCodecGList</span>* : Read
109110 "<a class="link" href="FsSession.html#FsSession--conference" title='The "conference" property'>conference</a>" <a class="link" href="FsConference.html" title="FsConference"><span class="type">FsConference</span></a>* : Read / Write / Construct Only
110111 "<a class="link" href="FsSession.html#FsSession--current-send-codec" title='The "current-send-codec" property'>current-send-codec</a>" <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>* : Read
111 "<a class="link" href="FsSession.html#FsSession--id" title='The "id" property'>id</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write / Construct Only
112 "<a class="link" href="FsSession.html#FsSession--id" title='The "id" property'>id</a>" <span class="type">guint</span> : Read / Write / Construct Only
112113 "<a class="link" href="FsSession.html#FsSession--media-type" title='The "media-type" property'>media-type</a>" <a class="link" href="farstream-libs-FsCodec.html#FsMediaType" title="enum FsMediaType"><span class="type">FsMediaType</span></a> : Read / Write / Construct Only
113114 "<a class="link" href="FsSession.html#FsSession--sink-pad" title='The "sink-pad" property'>sink-pad</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a>* : Read
114 "<a class="link" href="FsSession.html#FsSession--tos" title='The "tos" property'>tos</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
115 "<a class="link" href="FsSession.html#FsSession--tos" title='The "tos" property'>tos</a>" <span class="type">guint</span> : Read / Write
115116 </pre>
116117 </div>
117118 <div class="refsect1">
118119 <a name="FsSession.signals"></a><h2>Signals</h2>
119120 <pre class="synopsis">
120 "<a class="link" href="FsSession.html#FsSession-error" title='The "error" signal'>error</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
121 "<a class="link" href="FsSession.html#FsSession-error" title='The "error" signal'>error</a>" : <code class="literal">Run Last</code>
121122 </pre>
122123 </div>
123124 <div class="refsect1">
136137 of type <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-ELEMENT:CAPS"><span class="type">GST_MESSAGE_ELEMENT</span></a> sent over the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html"><span class="type">GstBus</span></a>.
137138 </p>
138139 <div class="refsect2">
139 <a name="id421225"></a><h3>The "<code class="literal">farstream-send-codec-changed</code>"
140 <a name="id366067"></a><h3>The "<code class="literal">farstream-send-codec-changed</code>"
140141 message</h3>
141 <table id="id421236">
142 <table id="id366078">
142143 <tr>
143144 <td><code class="code">"session"</code></td>
144145 <td><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a></td>
151152 </tr>
152153 <tr>
153154 <td><code class="code">"secondary-codecs"</code></td>
154 <td><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a></td>
155 <td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> (to be freed with <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-destroy" title="fs_codec_list_destroy ()"><code class="function">fs_codec_list_destroy()</code></a>)
155 <td><span class="type">GList</span></td>
156 <td>A <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> (to be freed with <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-destroy" title="fs_codec_list_destroy ()"><code class="function">fs_codec_list_destroy()</code></a>)
156157 </td>
157158 </tr>
158159 </table>
163164 </div>
164165 <hr>
165166 <div class="refsect2">
166 <a name="id421337"></a><h3>The "<code class="literal">farstream-codecs-changed</code>"
167 <a name="id366178"></a><h3>The "<code class="literal">farstream-codecs-changed</code>"
167168 message</h3>
168 <table id="id421348"><tr>
169 <table id="id366189"><tr>
169170 <td><code class="code">"session"</code></td>
170171 <td><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a></td>
171172 <td>The session that emits the message</td>
180181 </div>
181182 <hr>
182183 <div class="refsect2">
183 <a name="id421406"></a><h3>The "<code class="literal">farstream-telephony-event-started</code>"
184 <a name="id366248"></a><h3>The "<code class="literal">farstream-telephony-event-started</code>"
184185 message</h3>
185 <table id="id421417">
186 <table id="id366258">
186187 <tr>
187188 <td><code class="code">"session"</code></td>
188189 <td><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a></td>
212213 </div>
213214 <hr>
214215 <div class="refsect2">
215 <a name="id421513"></a><h3>The "<code class="literal">farstream-telephony-event-stopped</code>"
216 <a name="id366354"></a><h3>The "<code class="literal">farstream-telephony-event-stopped</code>"
216217 message</h3>
217 <table id="id421524">
218 <table id="id366365">
218219 <tr>
219220 <td><code class="code">"session"</code></td>
220221 <td><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a></td>
368369 <pre class="programlisting"><a class="link" href="FsStream.html" title="FsStream"><span class="returnvalue">FsStream</span></a> * fs_session_new_stream (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
369370 <em class="parameter"><code><a class="link" href="FsParticipant.html" title="FsParticipant"><span class="type">FsParticipant</span></a> *participant</code></em>,
370371 <em class="parameter"><code><a class="link" href="FsStream.html#FsStreamDirection" title="enum FsStreamDirection"><span class="type">FsStreamDirection</span></a> direction</code></em>,
371 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
372 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
372373 <p>
373374 This function creates a stream for the given participant into the active session.
374375 </p>
393394 </tr>
394395 <tr>
395396 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
396 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if no error occured</td>
397 <td>location of a <span class="type">GError</span>, or <code class="literal">NULL</code> if no error occured</td>
397398 </tr>
398399 <tr>
399400 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
408409 <hr>
409410 <div class="refsect2">
410411 <a name="fs-session-set-codec-preferences"></a><h3>fs_session_set_codec_preferences ()</h3>
411 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_session_set_codec_preferences (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
412 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *codec_preferences</code></em>,
413 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
412 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_session_set_codec_preferences (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
413 <em class="parameter"><code><span class="type">GList</span> *codec_preferences</code></em>,
414 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
414415 <p>
415416 Set the list of desired codec preferences. The user may
416417 change this value during an ongoing session. Note that doing this can cause
417418 the codecs to change. Therefore this requires the user to fetch
418 the new codecs and renegotiate them with the peers. It is a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a>
419 the new codecs and renegotiate them with the peers. It is a <span class="type">GList</span>
419420 of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>. The changes are immediately effective.
420421 The function does not take ownership of the list.
421422 </p>
439440 </tr>
440441 <tr>
441442 <td><p><span class="term"><em class="parameter"><code>codec_preferences</code></em> :</span></p></td>
442 <td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> with the
443 <td>a <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> with the
443444 desired configuration. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodec]</span>
444445 </td>
445446 </tr>
446447 <tr>
447448 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
448 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if no error occured</td>
449 </tr>
450 <tr>
451 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
452 <td>
453 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on error.</td>
449 <td>location of a <span class="type">GError</span>, or <code class="literal">NULL</code> if no error occured</td>
450 </tr>
451 <tr>
452 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
453 <td>
454 <code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> on error.</td>
454455 </tr>
455456 </tbody>
456457 </table></div>
481482 <hr>
482483 <div class="refsect2">
483484 <a name="fs-session-start-telephony-event"></a><h3>fs_session_start_telephony_event ()</h3>
484 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_session_start_telephony_event (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
485 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> event</code></em>,
486 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> volume</code></em>);</pre>
485 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_session_start_telephony_event (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
486 <em class="parameter"><code><span class="type">guint8</span> event</code></em>,
487 <em class="parameter"><code><span class="type">guint8</span> volume</code></em>);</pre>
487488 <p>
488489 This function will start sending a telephony event (such as a DTMF
489490 tone) on the <a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a>. You have to call the function
490491 <a class="link" href="FsSession.html#fs-session-stop-telephony-event" title="fs_session_stop_telephony_event ()"><code class="function">fs_session_stop_telephony_event()</code></a> to stop it.
491492 </p>
492493 <p>
493 If this function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, a "farstream-telephony-event-started" will
494 If this function returns <code class="literal">TRUE</code>, a "farstream-telephony-event-started" will
494495 always be emitted when the event is actually played out.
495496 </p>
496497 <div class="variablelist"><table border="0">
514515 <tr>
515516 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
516517 <td>
517 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if sucessful, it can return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the <a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a>
518 <code class="literal">TRUE</code> if sucessful, it can return <code class="literal">FALSE</code> if the <a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a>
518519 does not support this telephony event.</td>
519520 </tr>
520521 </tbody>
523524 <hr>
524525 <div class="refsect2">
525526 <a name="fs-session-stop-telephony-event"></a><h3>fs_session_stop_telephony_event ()</h3>
526 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_session_stop_telephony_event (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>);</pre>
527 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_session_stop_telephony_event (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>);</pre>
527528 <p>
528529 This function will stop sending a telephony event started by
529530 <a class="link" href="FsSession.html#fs-session-start-telephony-event" title="fs_session_start_telephony_event ()"><code class="function">fs_session_start_telephony_event()</code></a>. If the event was being sent
532533 short.
533534 </p>
534535 <p>
535 If this function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, a "farstream-telephony-event-stopped" will
536 If this function returns <code class="literal">TRUE</code>, a "farstream-telephony-event-stopped" will
536537 always be emitted when the event is actually stopped.
537538 </p>
538539 <div class="variablelist"><table border="0">
546547 <tr>
547548 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
548549 <td>
549 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if sucessful, it can return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the <a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a>
550 <code class="literal">TRUE</code> if sucessful, it can return <code class="literal">FALSE</code> if the <a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a>
550551 does not support telephony events or if no telephony event is being sent</td>
551552 </tr>
552553 </tbody>
555556 <hr>
556557 <div class="refsect2">
557558 <a name="fs-session-set-send-codec"></a><h3>fs_session_set_send_codec ()</h3>
558 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_session_set_send_codec (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
559 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_session_set_send_codec (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
559560 <em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *send_codec</code></em>,
560 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
561 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
561562 <p>
562563 This function will set the currently being sent codec for all streams in this
563564 session. The given <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> must be taken directly from the <span class="type">codecs</span>
564565 property of the session. If the given codec is not in the codecs
565 list, <em class="parameter"><code>error</code></em> will be set and <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will be returned. The <em class="parameter"><code>send_codec</code></em> will be
566 list, <em class="parameter"><code>error</code></em> will be set and <code class="literal">FALSE</code> will be returned. The <em class="parameter"><code>send_codec</code></em> will be
566567 copied so it must be free'd using <a class="link" href="farstream-libs-FsCodec.html#fs-codec-destroy" title="fs_codec_destroy ()"><code class="function">fs_codec_destroy()</code></a> when done.
567568 </p>
568569 <div class="variablelist"><table border="0">
579580 </tr>
580581 <tr>
581582 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
582 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if no error occured</td>
583 </tr>
584 <tr>
585 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
586 <td>
587 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the send codec couldn't be set.</td>
583 <td>location of a <span class="type">GError</span>, or <code class="literal">NULL</code> if no error occured</td>
584 </tr>
585 <tr>
586 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
587 <td>
588 <code class="literal">FALSE</code> if the send codec couldn't be set.</td>
588589 </tr>
589590 </tbody>
590591 </table></div>
592593 <hr>
593594 <div class="refsect2">
594595 <a name="fs-session-list-transmitters"></a><h3>fs_session_list_transmitters ()</h3>
595 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> ** fs_session_list_transmitters (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>);</pre>
596 <pre class="programlisting"><span class="returnvalue">gchar</span> ** fs_session_list_transmitters (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>);</pre>
596597 <p>
597598 Get the list of all available transmitters for this session.
598599 </p>
606607 </tr>
607608 <tr>
608609 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
609 <td>a newly-allocagted <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated array of
610 named of transmitters or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if no transmitter is needed for this type of
611 session. It should be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a>. <span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span>
610 <td>a newly-allocagted <code class="literal">NULL</code> terminated array of
611 named of transmitters or <code class="literal">NULL</code> if no transmitter is needed for this type of
612 session. It should be freed with <code class="function">g_strfreev()</code>. <span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span>
612613 </td>
613614 </tr>
614615 </tbody>
617618 <hr>
618619 <div class="refsect2">
619620 <a name="fs-session-get-stream-transmitter-type"></a><h3>fs_session_get_stream_transmitter_type ()</h3>
620 <pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> fs_session_get_stream_transmitter_type
621 <pre class="programlisting"><span class="returnvalue">GType</span> fs_session_get_stream_transmitter_type
621622 (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
622 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *transmitter</code></em>);</pre>
623 <em class="parameter"><code>const <span class="type">gchar</span> *transmitter</code></em>);</pre>
623624 <p>
624625 Returns the GType of the stream transmitter, bindings can use it
625626 to validate/convert the parameters passed to <a class="link" href="FsSession.html#fs-session-new-stream" title="fs_session_new_stream ()"><code class="function">fs_session_new_stream()</code></a>.
638639 </tr>
639640 <tr>
640641 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
641 <td>The <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of the stream transmitter</td>
642 <td>The <span class="type">GType</span> of the stream transmitter</td>
642643 </tr>
643644 </tbody>
644645 </table></div>
646647 <hr>
647648 <div class="refsect2">
648649 <a name="fs-session-codecs-need-resend"></a><h3>fs_session_codecs_need_resend ()</h3>
649 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * fs_session_codecs_need_resend (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
650 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *old_codecs</code></em>,
651 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *new_codecs</code></em>);</pre>
650 <pre class="programlisting"><span class="returnvalue">GList</span> * fs_session_codecs_need_resend (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
651 <em class="parameter"><code><span class="type">GList</span> *old_codecs</code></em>,
652 <em class="parameter"><code><span class="type">GList</span> *new_codecs</code></em>);</pre>
652653 <p>
653654 Some codec updates need to be reliably transmitted to the other side
654655 because they contain important parameters required to decode the media.
674675 </tr>
675676 <tr>
676677 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
677 <td>A new <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
678 <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> that need to be resent or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if there are none. This
678 <td>A new <span class="type">GList</span> of
679 <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> that need to be resent or <code class="literal">NULL</code> if there are none. This
679680 list must be freed with <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-destroy" title="fs_codec_list_destroy ()"><code class="function">fs_codec_list_destroy()</code></a>. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodec][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span>
680681 </td>
681682 </tr>
686687 <div class="refsect2">
687688 <a name="fs-session-emit-error"></a><h3>fs_session_emit_error ()</h3>
688689 <pre class="programlisting"><span class="returnvalue">void</span> fs_session_emit_error (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
689 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> error_no</code></em>,
690 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *error_msg</code></em>);</pre>
690 <em class="parameter"><code><span class="type">gint</span> error_no</code></em>,
691 <em class="parameter"><code>const <span class="type">gchar</span> *error_msg</code></em>);</pre>
691692 <p>
692693 This function emit the "error" signal on a <a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a>, it should only be
693694 called by subclasses.
715716 <hr>
716717 <div class="refsect2">
717718 <a name="fs-session-parse-codecs-changed"></a><h3>fs_session_parse_codecs_changed ()</h3>
718 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_session_parse_codecs_changed (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
719 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_session_parse_codecs_changed (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
719720 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>);</pre>
720721 <p>
721722 Parses a "farstream-codecs-changed" message and checks if it matches
735736 <tr>
736737 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
737738 <td>
738 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message matches the session and is valid.</td>
739 <code class="literal">TRUE</code> if the message matches the session and is valid.</td>
739740 </tr>
740741 </tbody>
741742 </table></div>
743744 <hr>
744745 <div class="refsect2">
745746 <a name="fs-session-parse-send-codec-changed"></a><h3>fs_session_parse_send_codec_changed ()</h3>
746 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_session_parse_send_codec_changed (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
747 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_session_parse_send_codec_changed (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
747748 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
748749 <em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> **codec</code></em>,
749 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> **secondary_codecs</code></em>);</pre>
750 <p>
751 Returns a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> of the message if not <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>
752 </p>
750 <em class="parameter"><code><span class="type">GList</span> **secondary_codecs</code></em>);</pre>
753751 <p>
754752 Parses a "farstream-send-codec-changed" message and checks if it matches
755753 the <em class="parameter"><code>session</code></em> parameters.
768766 <tr>
769767 <td><p><span class="term"><em class="parameter"><code>codec</code></em> :</span></p></td>
770768 <td>Returns the <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> in the message if not
771 <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span>
769 <code class="literal">NULL</code>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span>
772770 </td>
773771 </tr>
774772 <tr>
775773 <td><p><span class="term"><em class="parameter"><code>secondary_codecs</code></em> :</span></p></td>
776 <td>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodec]</span>
777 </td>
778 </tr>
779 <tr>
780 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
781 <td>
782 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message matches the session and is valid.</td>
774 <td>Returns a <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> of the message if not <code class="literal">NULL</code>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodec]</span>
775 </td>
776 </tr>
777 <tr>
778 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
779 <td>
780 <code class="literal">TRUE</code> if the message matches the session and is valid.</td>
783781 </tr>
784782 </tbody>
785783 </table></div>
787785 <hr>
788786 <div class="refsect2">
789787 <a name="fs-session-parse-telephony-event-started"></a><h3>fs_session_parse_telephony_event_started ()</h3>
790 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_session_parse_telephony_event_started
788 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_session_parse_telephony_event_started
791789 (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
792790 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
793791 <em class="parameter"><code><a class="link" href="FsSession.html#FsDTMFMethod" title="enum FsDTMFMethod"><span class="type">FsDTMFMethod</span></a> *method</code></em>,
794792 <em class="parameter"><code><a class="link" href="FsSession.html#FsDTMFEvent" title="enum FsDTMFEvent"><span class="type">FsDTMFEvent</span></a> *event</code></em>,
795 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *volume</code></em>);</pre>
793 <em class="parameter"><code><span class="type">guint8</span> *volume</code></em>);</pre>
796794 <p>
797795 Parses a "farstream-telephony-event-started" message and checks if it matches
798796 the <em class="parameter"><code>session</code></em> parameters.
810808 </tr>
811809 <tr>
812810 <td><p><span class="term"><em class="parameter"><code>method</code></em> :</span></p></td>
813 <td>Returns the <a class="link" href="FsSession.html#FsDTMFMethod" title="enum FsDTMFMethod"><span class="type">FsDTMFMethod</span></a> in the message if not <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span>
811 <td>Returns the <a class="link" href="FsSession.html#FsDTMFMethod" title="enum FsDTMFMethod"><span class="type">FsDTMFMethod</span></a> in the message if not <code class="literal">NULL</code>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span>
814812 </td>
815813 </tr>
816814 <tr>
817815 <td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
818 <td>Returns the <a class="link" href="FsSession.html#FsDTMFEvent" title="enum FsDTMFEvent"><span class="type">FsDTMFEvent</span></a> in the message if not <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span>
816 <td>Returns the <a class="link" href="FsSession.html#FsDTMFEvent" title="enum FsDTMFEvent"><span class="type">FsDTMFEvent</span></a> in the message if not <code class="literal">NULL</code>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span>
819817 </td>
820818 </tr>
821819 <tr>
822820 <td><p><span class="term"><em class="parameter"><code>volume</code></em> :</span></p></td>
823 <td>Returns the volume in the message if not <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span>
824 </td>
825 </tr>
826 <tr>
827 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
828 <td>
829 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message matches the session and is valid.</td>
821 <td>Returns the volume in the message if not <code class="literal">NULL</code>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span>
822 </td>
823 </tr>
824 <tr>
825 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
826 <td>
827 <code class="literal">TRUE</code> if the message matches the session and is valid.</td>
830828 </tr>
831829 </tbody>
832830 </table></div>
834832 <hr>
835833 <div class="refsect2">
836834 <a name="fs-session-parse-telephony-event-stopped"></a><h3>fs_session_parse_telephony_event_stopped ()</h3>
837 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_session_parse_telephony_event_stopped
835 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_session_parse_telephony_event_stopped
838836 (<em class="parameter"><code><a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *session</code></em>,
839837 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
840838 <em class="parameter"><code><a class="link" href="FsSession.html#FsDTMFMethod" title="enum FsDTMFMethod"><span class="type">FsDTMFMethod</span></a> *method</code></em>);</pre>
855853 </tr>
856854 <tr>
857855 <td><p><span class="term"><em class="parameter"><code>method</code></em> :</span></p></td>
858 <td>Returns the <a class="link" href="FsSession.html#FsDTMFMethod" title="enum FsDTMFMethod"><span class="type">FsDTMFMethod</span></a> in the message if not <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span>
859 </td>
860 </tr>
861 <tr>
862 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
863 <td>
864 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message matches the session and is valid.</td>
856 <td>Returns the <a class="link" href="FsSession.html#FsDTMFMethod" title="enum FsDTMFMethod"><span class="type">FsDTMFMethod</span></a> in the message if not <code class="literal">NULL</code>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span>
857 </td>
858 </tr>
859 <tr>
860 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
861 <td>
862 <code class="literal">TRUE</code> if the message matches the session and is valid.</td>
865863 </tr>
866864 </tbody>
867865 </table></div>
872870 <div class="refsect2">
873871 <a name="FsSession--codec-preferences"></a><h3>The <code class="literal">"codec-preferences"</code> property</h3>
874872 <pre class="programlisting"> "codec-preferences" <span class="type">FsCodecGList</span>* : Read</pre>
875 <p>
876 Type: GLib.List(FsCodec)
877 Transfer: full
878 </p>
879873 <p>
880874 This is the current preferences list for the local codecs. It is
881875 set by the user to specify the codec options and priorities. The user may
882876 change its value with <a class="link" href="FsSession.html#fs-session-set-codec-preferences" title="fs_session_set_codec_preferences ()"><code class="function">fs_session_set_codec_preferences()</code></a> at any time
883 during a session. It is a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>.
877 during a session. It is a <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>.
884878 The user must free this codec list using <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-destroy" title="fs_codec_list_destroy ()"><code class="function">fs_codec_list_destroy()</code></a> when done.
885879 </p>
886880 <p>
889883 payload type of the codec will be "reserved" and not be used by any
890884 dynamically assigned payload type.
891885 </p>
886 <p>
887 Type: GLib.List(FsCodec)
888 Transfer: full
889 </p>
892890 </div>
893891 <hr>
894892 <div class="refsect2">
895893 <a name="FsSession--codecs"></a><h3>The <code class="literal">"codecs"</code> property</h3>
896894 <pre class="programlisting"> "codecs" <span class="type">FsCodecGList</span>* : Read</pre>
897 <p>
898 Type: GLib.List(FsCodec)
899 Transfer: full
900 </p>
901895 <p>
902896 This is the list of codecs used for this session. It will include the
903897 codecs and payload type used to receive media on this session. It will
911905 </p>
912906 <p>
913907 If any configuration parameter needs to be discovered, this property
914 will be <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> until they have been discovered. One can always get
908 will be <code class="literal">NULL</code> until they have been discovered. One can always get
915909 the codecs from <a class="link" href="FsSession.html#FsSession--codecs-without-config" title='The "codecs-without-config" property'><span class="type">"codecs-without-config"</span></a>.
916910 The "farstream-codecs-changed" message will be emitted whenever the value
917911 of this property changes.
918912 </p>
919913 <p>
920 It is a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>. User must free this codec list using
914 It is a <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>. User must free this codec list using
921915 <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-destroy" title="fs_codec_list_destroy ()"><code class="function">fs_codec_list_destroy()</code></a> when done.
916 </p>
917 <p>
918 Type: GLib.List(FsCodec)
919 Transfer: full
922920 </p>
923921 </div>
924922 <hr>
925923 <div class="refsect2">
926924 <a name="FsSession--codecs-without-config"></a><h3>The <code class="literal">"codecs-without-config"</code> property</h3>
927925 <pre class="programlisting"> "codecs-without-config" <span class="type">FsCodecGList</span>* : Read</pre>
928 <p>
929 Type: GLib.List(FsCodec)
930 Transfer: full
931 </p>
932926 <p>
933927 This is the same list of codecs as <a class="link" href="FsSession.html#FsSession--codecs" title='The "codecs" property'><span class="type">"codecs"</span></a> without
934928 the configuration information that describes the data sent. It is suitable
947941 of this property changes.
948942 </p>
949943 <p>
950 It is a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>. User must free this codec list using
944 It is a <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>. User must free this codec list using
951945 <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-destroy" title="fs_codec_list_destroy ()"><code class="function">fs_codec_list_destroy()</code></a> when done.
946 </p>
947 <p>
948 Type: GLib.List(FsCodec)
949 Transfer: full
952950 </p>
953951 </div>
954952 <hr>
976974 <hr>
977975 <div class="refsect2">
978976 <a name="FsSession--id"></a><h3>The <code class="literal">"id"</code> property</h3>
979 <pre class="programlisting"> "id" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write / Construct Only</pre>
977 <pre class="programlisting"> "id" <span class="type">guint</span> : Read / Write / Construct Only</pre>
980978 <p>
981979 The ID of the session, the first number of the pads linked to this session
982980 will be this id
10051003 <hr>
10061004 <div class="refsect2">
10071005 <a name="FsSession--tos"></a><h3>The <code class="literal">"tos"</code> property</h3>
1008 <pre class="programlisting"> "tos" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write</pre>
1006 <pre class="programlisting"> "tos" <span class="type">guint</span> : Read / Write</pre>
10091007 <p>
10101008 Sets the IP ToS field (and if possible the IPv6 TCLASS field
10111009 </p>
10181016 <div class="refsect2">
10191017 <a name="FsSession-error"></a><h3>The <code class="literal">"error"</code> signal</h3>
10201018 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a> *self,
1021 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object,
1019 <span class="type">GObject</span> *object,
10221020 <a class="link" href="FsConference.html#FsError" title="enum FsError"><span class="type">FsError</span></a> error_no,
1023 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *error_msg,
1024 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
1021 <span class="type">gchar</span> *error_msg,
1022 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
10251023 <p>
10261024 This signal is emitted in any error condition, it can be emitted on any
10271025 thread. Applications should listen to the GstBus for errors.
10571055 </div>
10581056 <div class="footer">
10591057 <hr>
1060 Generated by GTK-Doc V1.18.1</div>
1058 Generated by GTK-Doc V1.18</div>
10611059 </body>
10621060 </html>
77 <link rel="up" href="ch01.html" title="Farstream Core Library">
88 <link rel="prev" href="FsSession.html" title="FsSession">
99 <link rel="next" href="farstream-libs-FsCandidate.html" title="FsCandidate">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
4949 struct <a class="link" href="FsStream.html#FsStreamClass" title="struct FsStreamClass">FsStreamClass</a>;
5050 enum <a class="link" href="FsStream.html#FsStreamDirection" title="enum FsStreamDirection">FsStreamDirection</a>;
5151 enum <a class="link" href="FsStream.html#FsStreamState" title="enum FsStreamState">FsStreamState</a>;
52 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsStream.html#fs-stream-set-transmitter" title="fs_stream_set_transmitter ()">fs_stream_set_transmitter</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
53 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *transmitter</code></em>,
54 <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GParameter"><span class="type">GParameter</span></a> *stream_transmitter_parameters</code></em>,
55 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> stream_transmitter_n_parameters</code></em>,
56 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
57 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsStream.html#fs-stream-add-remote-candidates" title="fs_stream_add_remote_candidates ()">fs_stream_add_remote_candidates</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
58 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *candidates</code></em>,
59 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
60 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsStream.html#fs-stream-set-remote-codecs" title="fs_stream_set_remote_codecs ()">fs_stream_set_remote_codecs</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
61 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *remote_codecs</code></em>,
62 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
63 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsStream.html#fs-stream-force-remote-candidates" title="fs_stream_force_remote_candidates ()">fs_stream_force_remote_candidates</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
64 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *remote_candidates</code></em>,
65 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
52 <span class="returnvalue">gboolean</span> <a class="link" href="FsStream.html#fs-stream-set-transmitter" title="fs_stream_set_transmitter ()">fs_stream_set_transmitter</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
53 <em class="parameter"><code>const <span class="type">gchar</span> *transmitter</code></em>,
54 <em class="parameter"><code><span class="type">GParameter</span> *stream_transmitter_parameters</code></em>,
55 <em class="parameter"><code><span class="type">guint</span> stream_transmitter_n_parameters</code></em>,
56 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
57 <span class="returnvalue">gboolean</span> <a class="link" href="FsStream.html#fs-stream-add-remote-candidates" title="fs_stream_add_remote_candidates ()">fs_stream_add_remote_candidates</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
58 <em class="parameter"><code><span class="type">GList</span> *candidates</code></em>,
59 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
60 <span class="returnvalue">gboolean</span> <a class="link" href="FsStream.html#fs-stream-set-remote-codecs" title="fs_stream_set_remote_codecs ()">fs_stream_set_remote_codecs</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
61 <em class="parameter"><code><span class="type">GList</span> *remote_codecs</code></em>,
62 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
63 <span class="returnvalue">gboolean</span> <a class="link" href="FsStream.html#fs-stream-force-remote-candidates" title="fs_stream_force_remote_candidates ()">fs_stream_force_remote_candidates</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
64 <em class="parameter"><code><span class="type">GList</span> *remote_candidates</code></em>,
65 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
6666 <span class="returnvalue">void</span> <a class="link" href="FsStream.html#fs-stream-destroy" title="fs_stream_destroy ()">fs_stream_destroy</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>);
6767 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstIterator.html#GstIterator"><span class="returnvalue">GstIterator</span></a> * <a class="link" href="FsStream.html#fs-stream-iterate-src-pads" title="fs_stream_iterate_src_pads ()">fs_stream_iterate_src_pads</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>);
6868 <span class="returnvalue">void</span> <a class="link" href="FsStream.html#fs-stream-add-id" title="fs_stream_add_id ()">fs_stream_add_id</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
69 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> id</code></em>);
69 <em class="parameter"><code><span class="type">guint</span> id</code></em>);
7070 <span class="returnvalue">void</span> <a class="link" href="FsStream.html#fs-stream-emit-error" title="fs_stream_emit_error ()">fs_stream_emit_error</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
71 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> error_no</code></em>,
72 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *error_msg</code></em>);
71 <em class="parameter"><code><span class="type">gint</span> error_no</code></em>,
72 <em class="parameter"><code>const <span class="type">gchar</span> *error_msg</code></em>);
7373 <span class="returnvalue">void</span> <a class="link" href="FsStream.html#fs-stream-emit-src-pad-added" title="fs_stream_emit_src_pad_added ()">fs_stream_emit_src_pad_added</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
7474 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad</code></em>,
7575 <em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>);
7878 <div class="refsect1">
7979 <a name="FsStream.object-hierarchy"></a><h2>Object Hierarchy</h2>
8080 <pre class="synopsis">
81 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
82 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
83 +----FsStream
81 GObject
82 +----GInitiallyUnowned
83 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
84 +----FsStream
8485 </pre>
8586 </div>
8687 <div class="refsect1">
9798 <div class="refsect1">
9899 <a name="FsStream.signals"></a><h2>Signals</h2>
99100 <pre class="synopsis">
100 "<a class="link" href="FsStream.html#FsStream-error" title='The "error" signal'>error</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
101 "<a class="link" href="FsStream.html#FsStream-src-pad-added" title='The "src-pad-added" signal'>src-pad-added</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
101 "<a class="link" href="FsStream.html#FsStream-error" title='The "error" signal'>error</a>" : <code class="literal">Run Last</code>
102 "<a class="link" href="FsStream.html#FsStream-src-pad-added" title='The "src-pad-added" signal'>src-pad-added</a>" : <code class="literal">Run Last</code>
102103 </pre>
103104 </div>
104105 <div class="refsect1">
116117 of type <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GST-MESSAGE-ELEMENT:CAPS"><span class="type">GST_MESSAGE_ELEMENT</span></a> sent over the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html"><span class="type">GstBus</span></a>.
117118 </p>
118119 <div class="refsect2">
119 <a name="id453420"></a><h3>The "<code class="literal">farstream-new-local-candidate</code>" message</h3>
120 <a name="id398284"></a><h3>The "<code class="literal">farstream-new-local-candidate</code>" message</h3>
120121 <div class="informalexample">
121122 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
122123 <tbody>
123124 <tr>
124125 <td class="listing_lines" align="right"><pre>1
125126 2</pre></td>
126 <td class="listing_code"><pre class="programlisting"><span class="string">"stream"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"FsStream.html"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"FsStream"</span><span class="symbol">&gt;</span><span class="normal"><a href="../farstream-libs-0.10/FsStream.html">FsStream</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> The stream that emits the message</span>
127 <span class="string">"candidate"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"farstream-libs-FsCandidate.html#FsCandidate"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"struct FsCandidate"</span><span class="symbol">&gt;</span><span class="normal"><a href="../farstream-libs-0.10/farstream-libs-FsCandidate.html#FsCandidate">FsCandidate</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> The new candidate</span></pre></td>
127 <td class="listing_code"><pre class="programlisting"><span class="string">"stream"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"FsStream.html"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"FsStream"</span><span class="symbol">&gt;</span><span class="normal"><a href="http://farstream.freedesktop.org/apidoc/farstream/FsStream.html">FsStream</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> The stream that emits the message</span>
128 <span class="string">"candidate"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"farstream-libs-FsCandidate.html#FsCandidate"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"struct FsCandidate"</span><span class="symbol">&gt;</span><span class="normal"><a href="http://farstream.freedesktop.org/apidoc/farstream/farstream-libs-FsCandidate.html#FsCandidate">FsCandidate</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> The new candidate</span></pre></td>
128129 </tr>
129130 </tbody>
130131 </table>
136137 </div>
137138 <hr>
138139 <div class="refsect2">
139 <a name="id453456"></a><h3>The "<code class="literal">farstream-local-candidates-prepared</code>" message</h3>
140 <a name="id398320"></a><h3>The "<code class="literal">farstream-local-candidates-prepared</code>" message</h3>
140141 <div class="informalexample">
141142 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
142143 <tbody>
143144 <tr>
144145 <td class="listing_lines" align="right"><pre>1</pre></td>
145 <td class="listing_code"><pre class="programlisting"><span class="string">"stream"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"FsStream.html"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"FsStream"</span><span class="symbol">&gt;</span><span class="normal"><a href="../farstream-libs-0.10/FsStream.html">FsStream</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> The stream that emits the message</span></pre></td>
146 <td class="listing_code"><pre class="programlisting"><span class="string">"stream"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"FsStream.html"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"FsStream"</span><span class="symbol">&gt;</span><span class="normal"><a href="http://farstream.freedesktop.org/apidoc/farstream/FsStream.html">FsStream</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> The stream that emits the message</span></pre></td>
146147 </tr>
147148 </tbody>
148149 </table>
155156 </div>
156157 <hr>
157158 <div class="refsect2">
158 <a name="id453486"></a><h3>The "<code class="literal">farstream-new-active-candidate-pair</code>" message</h3>
159 <a name="id398350"></a><h3>The "<code class="literal">farstream-new-active-candidate-pair</code>" message</h3>
159160 <div class="informalexample">
160161 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
161162 <tbody>
163164 <td class="listing_lines" align="right"><pre>1
164165 2
165166 3</pre></td>
166 <td class="listing_code"><pre class="programlisting"><span class="string">"stream"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"FsStream.html"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"FsStream"</span><span class="symbol">&gt;</span><span class="normal"><a href="../farstream-libs-0.10/FsStream.html">FsStream</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> The stream that emits the message</span>
167 <span class="string">"local-candidate"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"farstream-libs-FsCandidate.html#FsCandidate"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"struct FsCandidate"</span><span class="symbol">&gt;</span><span class="normal"><a href="../farstream-libs-0.10/farstream-libs-FsCandidate.html#FsCandidate">FsCandidate</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> Local candidate being used</span>
168 <span class="string">"remote-candidate"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"farstream-libs-FsCandidate.html#FsCandidate"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"struct FsCandidate"</span><span class="symbol">&gt;</span><span class="normal"><a href="../farstream-libs-0.10/farstream-libs-FsCandidate.html#FsCandidate">FsCandidate</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> Remote candidate being used</span></pre></td>
167 <td class="listing_code"><pre class="programlisting"><span class="string">"stream"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"FsStream.html"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"FsStream"</span><span class="symbol">&gt;</span><span class="normal"><a href="http://farstream.freedesktop.org/apidoc/farstream/FsStream.html">FsStream</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> The stream that emits the message</span>
168 <span class="string">"local-candidate"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"farstream-libs-FsCandidate.html#FsCandidate"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"struct FsCandidate"</span><span class="symbol">&gt;</span><span class="normal"><a href="http://farstream.freedesktop.org/apidoc/farstream/farstream-libs-FsCandidate.html#FsCandidate">FsCandidate</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> Local candidate being used</span>
169 <span class="string">"remote-candidate"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"farstream-libs-FsCandidate.html#FsCandidate"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"struct FsCandidate"</span><span class="symbol">&gt;</span><span class="normal"><a href="http://farstream.freedesktop.org/apidoc/farstream/farstream-libs-FsCandidate.html#FsCandidate">FsCandidate</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> Remote candidate being used</span></pre></td>
169170 </tr>
170171 </tbody>
171172 </table>
181182 </div>
182183 <hr>
183184 <div class="refsect2">
184 <a name="id453530"></a><h3>The "<code class="literal">farstream-recv-codecs-changed</code>" message</h3>
185 <a name="id398394"></a><h3>The "<code class="literal">farstream-recv-codecs-changed</code>" message</h3>
185186 <div class="informalexample">
186187 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
187188 <tbody>
188189 <tr>
189190 <td class="listing_lines" align="right"><pre>1
190191 2</pre></td>
191 <td class="listing_code"><pre class="programlisting"><span class="string">"stream"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"FsStream.html"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"FsStream"</span><span class="symbol">&gt;</span><span class="normal"><a href="../farstream-libs-0.10/FsStream.html">FsStream</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> The stream that emits the message</span>
192 <span class="string">"codecs"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">GTKDOCLINK</span><span class="normal"> HREF</span><span class="symbol">=</span><span class="string">"FsCodecGList"</span><span class="symbol">&gt;</span><span class="usertype">FsCodecGList&lt;/GTKDOCLINK&gt; A &lt;GTKDOCLINK HREF="GList"&gt;GList&lt;/GTKDOCLINK&gt;</span><span class="normal"> of </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"farstream-libs-FsCodec.html#FsCodec"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"struct FsCodec"</span><span class="symbol">&gt;</span><span class="normal"><a href="../farstream-libs-0.10/farstream-libs-FsCodec.html#FsCodec">FsCodec</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span></pre></td>
192 <td class="listing_code"><pre class="programlisting"><span class="string">"stream"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"FsStream.html"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"FsStream"</span><span class="symbol">&gt;</span><span class="normal"><a href="http://farstream.freedesktop.org/apidoc/farstream/FsStream.html">FsStream</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> The stream that emits the message</span>
193 <span class="string">"codecs"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">GTKDOCLINK</span><span class="normal"> HREF</span><span class="symbol">=</span><span class="string">"FsCodecGList"</span><span class="symbol">&gt;</span><span class="usertype">FsCodecGList&lt;/GTKDOCLINK&gt; A &lt;GTKDOCLINK HREF="GList"&gt;GList&lt;/GTKDOCLINK&gt;</span><span class="normal"> of </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"farstream-libs-FsCodec.html#FsCodec"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"struct FsCodec"</span><span class="symbol">&gt;</span><span class="normal"><a href="http://farstream.freedesktop.org/apidoc/farstream/farstream-libs-FsCodec.html#FsCodec">FsCodec</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span></pre></td>
193194 </tr>
194195 </tbody>
195196 </table>
206207 </div>
207208 <hr>
208209 <div class="refsect2">
209 <a name="id453594"></a><h3>The "<code class="literal">farstream-component-state-changed</code>" message</h3>
210 <a name="id398458"></a><h3>The "<code class="literal">farstream-component-state-changed</code>" message</h3>
210211 <div class="informalexample">
211212 <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
212213 <tbody>
214215 <td class="listing_lines" align="right"><pre>1
215216 2
216217 3</pre></td>
217 <td class="listing_code"><pre class="programlisting"><span class="string">"stream"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"FsStream.html"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"FsStream"</span><span class="symbol">&gt;</span><span class="normal"><a href="../farstream-libs-0.10/FsStream.html">FsStream</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> The stream that emits the message</span>
218 <span class="string">"component"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">GTKDOCLINK</span><span class="normal"> HREF</span><span class="symbol">=</span><span class="string">"guint"</span><span class="symbol">&gt;</span><span class="normal"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint">guint</a></span><span class="symbol">&lt;/</span><span class="normal">GTKDOCLINK</span><span class="symbol">&gt;</span><span class="normal"> The component whose state changed</span>
219 <span class="string">"state"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"FsStream.html#FsStreamState"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"enum FsStreamState"</span><span class="symbol">&gt;</span><span class="normal"><a href="../farstream-libs-0.10/FsStream.html#FsStreamState">FsStreamState</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> The new state of the component</span></pre></td>
218 <td class="listing_code"><pre class="programlisting"><span class="string">"stream"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"FsStream.html"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"FsStream"</span><span class="symbol">&gt;</span><span class="normal"><a href="http://farstream.freedesktop.org/apidoc/farstream/FsStream.html">FsStream</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> The stream that emits the message</span>
219 <span class="string">"component"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">GTKDOCLINK</span><span class="normal"> HREF</span><span class="symbol">=</span><span class="string">"guint"</span><span class="symbol">&gt;</span><span class="normal">guint</span><span class="symbol">&lt;/</span><span class="normal">GTKDOCLINK</span><span class="symbol">&gt;</span><span class="normal"> The component whose state changed</span>
220 <span class="string">"state"</span><span class="normal"> </span><span class="symbol">&lt;</span><span class="usertype">a</span><span class="normal"> class</span><span class="symbol">=</span><span class="string">"link"</span><span class="normal"> href</span><span class="symbol">=</span><span class="string">"FsStream.html#FsStreamState"</span><span class="normal"> title</span><span class="symbol">=</span><span class="string">"enum FsStreamState"</span><span class="symbol">&gt;</span><span class="normal"><a href="http://farstream.freedesktop.org/apidoc/farstream/FsStream.html#FsStreamState">FsStreamState</a></span><span class="symbol">&lt;/</span><span class="normal">a</span><span class="symbol">&gt;</span><span class="normal"> The new state of the component</span></pre></td>
220221 </tr>
221222 </tbody>
222223 </table>
396397 <hr>
397398 <div class="refsect2">
398399 <a name="fs-stream-set-transmitter"></a><h3>fs_stream_set_transmitter ()</h3>
399 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_stream_set_transmitter (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
400 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *transmitter</code></em>,
401 <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GParameter"><span class="type">GParameter</span></a> *stream_transmitter_parameters</code></em>,
402 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> stream_transmitter_n_parameters</code></em>,
403 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
400 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_stream_set_transmitter (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
401 <em class="parameter"><code>const <span class="type">gchar</span> *transmitter</code></em>,
402 <em class="parameter"><code><span class="type">GParameter</span> *stream_transmitter_parameters</code></em>,
403 <em class="parameter"><code><span class="type">guint</span> stream_transmitter_n_parameters</code></em>,
404 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
404405 <p>
405406 Set the transmitter to use for this stream. This function will only succeed
406407 once.
428429 </tr>
429430 <tr>
430431 <td><p><span class="term"><em class="parameter"><code>stream_transmitter_parameters</code></em> :</span></p></td>
431 <td>an array of n_parameters <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GParameter"><span class="type">GParameter</span></a> struct that will be passed
432 <td>an array of n_parameters <span class="type">GParameter</span> struct that will be passed
432433 to the newly-create <a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a>. <span class="annotation">[<a href="http://foldoc.org/array"><span class="acronym">array</span></a> length=stream_transmitter_n_parameters][<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span>
433434 </td>
434435 </tr>
435436 <tr>
436437 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
437 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if no error occured</td>
438 <td>location of a <span class="type">GError</span>, or <code class="literal">NULL</code> if no error occured</td>
438439 </tr>
439440 <tr>
440441 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
441442 <td>
442 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the transmitter could be set, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
443 <code class="literal">TRUE</code> if the transmitter could be set, <code class="literal">FALSE</code> otherwise</td>
443444 </tr>
444445 </tbody>
445446 </table></div>
447448 <hr>
448449 <div class="refsect2">
449450 <a name="fs-stream-add-remote-candidates"></a><h3>fs_stream_add_remote_candidates ()</h3>
450 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_stream_add_remote_candidates (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
451 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *candidates</code></em>,
452 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
451 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_stream_add_remote_candidates (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
452 <em class="parameter"><code><span class="type">GList</span> *candidates</code></em>,
453 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
453454 <p>
454455 This function adds remote candidates. Any new candidates are
455456 added to the list. The candidates will be used to establish a connection
466467 </tr>
467468 <tr>
468469 <td><p><span class="term"><em class="parameter"><code>candidates</code></em> :</span></p></td>
469 <td>an <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a>
470 <td>an <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a>
470471 representing the remote candidates. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCandidate]</span>
471472 </td>
472473 </tr>
473474 <tr>
474475 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
475 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if no error occured</td>
476 <td>location of a <span class="type">GError</span>, or <code class="literal">NULL</code> if no error occured</td>
476477 </tr>
477478 <tr>
478479 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
484485 <hr>
485486 <div class="refsect2">
486487 <a name="fs-stream-set-remote-codecs"></a><h3>fs_stream_set_remote_codecs ()</h3>
487 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_stream_set_remote_codecs (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
488 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *remote_codecs</code></em>,
489 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
488 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_stream_set_remote_codecs (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
489 <em class="parameter"><code><span class="type">GList</span> *remote_codecs</code></em>,
490 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
490491 <p>
491492 This function will set the list of remote codecs for this stream. If
492493 the given remote codecs couldn't be negotiated with the list of local
493494 codecs or already negotiated codecs for the corresponding <a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a>, <em class="parameter"><code>error</code></em>
494 will be set and <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will be returned. The <em class="parameter"><code>remote_codecs</code></em> list will be
495 will be set and <code class="literal">FALSE</code> will be returned. The <em class="parameter"><code>remote_codecs</code></em> list will be
495496 copied so it must be free'd using <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-destroy" title="fs_codec_list_destroy ()"><code class="function">fs_codec_list_destroy()</code></a> when done.
496497 </p>
497498 <div class="variablelist"><table border="0">
504505 </tr>
505506 <tr>
506507 <td><p><span class="term"><em class="parameter"><code>remote_codecs</code></em> :</span></p></td>
507 <td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> representing
508 <td>a <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> representing
508509 the remote codecs. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodec]</span>
509510 </td>
510511 </tr>
511512 <tr>
512513 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
513 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if no error occured</td>
514 <td>location of a <span class="type">GError</span>, or <code class="literal">NULL</code> if no error occured</td>
514515 </tr>
515516 <tr>
516517 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
517518 <td>
518 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the remote codecs couldn't be set.</td>
519 <code class="literal">FALSE</code> if the remote codecs couldn't be set.</td>
519520 </tr>
520521 </tbody>
521522 </table></div>
523524 <hr>
524525 <div class="refsect2">
525526 <a name="fs-stream-force-remote-candidates"></a><h3>fs_stream_force_remote_candidates ()</h3>
526 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_stream_force_remote_candidates (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
527 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *remote_candidates</code></em>,
528 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
527 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_stream_force_remote_candidates (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
528 <em class="parameter"><code><span class="type">GList</span> *remote_candidates</code></em>,
529 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
529530 <p>
530531 This function forces data to be sent immediately to the selected remote
531532 candidate, by-passing any connectivity checks. There should be at most
541542 </tr>
542543 <tr>
543544 <td><p><span class="term"><em class="parameter"><code>remote_candidates</code></em> :</span></p></td>
544 <td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> to force. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCandidate]</span>
545 <td>a <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> to force. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCandidate]</span>
545546 </td>
546547 </tr>
547548 <tr>
548549 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
549 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if no error occured</td>
550 <td>location of a <span class="type">GError</span>, or <code class="literal">NULL</code> if no error occured</td>
550551 </tr>
551552 <tr>
552553 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
553554 <td>
554 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the candidates could be forced, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
555 <code class="literal">TRUE</code> if the candidates could be forced, <code class="literal">FALSE</code> otherwise</td>
555556 </tr>
556557 </tbody>
557558 </table></div>
607608 <div class="refsect2">
608609 <a name="fs-stream-add-id"></a><h3>fs_stream_add_id ()</h3>
609610 <pre class="programlisting"><span class="returnvalue">void</span> fs_stream_add_id (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
610 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> id</code></em>);</pre>
611 <em class="parameter"><code><span class="type">guint</span> id</code></em>);</pre>
611612 <p>
612613 This function is used to add data identifiers that allow the
613614 plugin to recognize packets that are meant for id. For example, in RTP,
644645 <div class="refsect2">
645646 <a name="fs-stream-emit-error"></a><h3>fs_stream_emit_error ()</h3>
646647 <pre class="programlisting"><span class="returnvalue">void</span> fs_stream_emit_error (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
647 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> error_no</code></em>,
648 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *error_msg</code></em>);</pre>
648 <em class="parameter"><code><span class="type">gint</span> error_no</code></em>,
649 <em class="parameter"><code>const <span class="type">gchar</span> *error_msg</code></em>);</pre>
649650 <p>
650651 This function emits the <a class="link" href="FsStream.html#FsStream-error" title='The "error" signal'><span class="type">"error"</span></a>" signal, it should only be
651652 called by subclasses.
704705 <div class="refsect2">
705706 <a name="FsStream--current-recv-codecs"></a><h3>The <code class="literal">"current-recv-codecs"</code> property</h3>
706707 <pre class="programlisting"> "current-recv-codecs" <span class="type">FsCodecGList</span>* : Read</pre>
707 <p>
708 Type: GLib.List(FsCodec)
709 Transfer: full
710 </p>
711708 <p>
712709 This is the list of codecs that have been received by this stream.
713710 The user must free the list if <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-destroy" title="fs_codec_list_destroy ()"><code class="function">fs_codec_list_destroy()</code></a>.
718715 also be emitted if the pad already exists, but the source material that
719716 will come to it is different.
720717 </p>
718 <p>
719 Type: GLib.List(FsCodec)
720 Transfer: full
721 </p>
721722 </div>
722723 <hr>
723724 <div class="refsect2">
733734 <div class="refsect2">
734735 <a name="FsStream--negotiated-codecs"></a><h3>The <code class="literal">"negotiated-codecs"</code> property</h3>
735736 <pre class="programlisting"> "negotiated-codecs" <span class="type">FsCodecGList</span>* : Read</pre>
736 <p>
737 Type: GLib.List(FsCodec)
738 Transfer: full
739 </p>
740737 <p>
741738 This is the list of negotiatied codecs, it is the same list as the list
742739 of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> from the parent <a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a>, except that the codec config data
743740 has been replaced with the data from the remote codecs for this stream.
744741 This is the list of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> used to receive data from this stream.
745 It is a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>.
742 It is a <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>.
743 </p>
744 <p>
745 Type: GLib.List(FsCodec)
746 Transfer: full
746747 </p>
747748 </div>
748749 <hr>
759760 <a name="FsStream--remote-codecs"></a><h3>The <code class="literal">"remote-codecs"</code> property</h3>
760761 <pre class="programlisting"> "remote-codecs" <span class="type">FsCodecGList</span>* : Read</pre>
761762 <p>
763 This is the list of remote codecs for this stream. They must be set by the
764 user as soon as they are known using <a class="link" href="FsStream.html#fs-stream-set-remote-codecs" title="fs_stream_set_remote_codecs ()"><code class="function">fs_stream_set_remote_codecs()</code></a>
765 (generally through external signaling). It is a <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>.
766 </p>
767 <p>
762768 Type: GLib.List(FsCodec)
763769 Transfer: full
764 </p>
765 <p>
766 This is the list of remote codecs for this stream. They must be set by the
767 user as soon as they are known using <a class="link" href="FsStream.html#fs-stream-set-remote-codecs" title="fs_stream_set_remote_codecs ()"><code class="function">fs_stream_set_remote_codecs()</code></a>
768 (generally through external signaling). It is a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>.
769770 </p>
770771 </div>
771772 <hr>
784785 <a name="FsStream-error"></a><h3>The <code class="literal">"error"</code> signal</h3>
785786 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *self,
786787 <a class="link" href="FsConference.html#FsError" title="enum FsError"><span class="type">FsError</span></a> errorno,
787 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *error_msg,
788 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
788 <span class="type">gchar</span> *error_msg,
789 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
789790 <p>
790791 This signal is emitted in any error condition
791792 </p>
818819 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *self,
819820 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> *pad,
820821 <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec,
821 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
822 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
822823 <p>
823824 This signal is emitted when a new gst source pad has been created for a
824825 specific codec being received. There will be a different source pad for
859860 </div>
860861 <div class="footer">
861862 <hr>
862 Generated by GTK-Doc V1.18.1</div>
863 Generated by GTK-Doc V1.18</div>
863864 </body>
864865 </html>
77 <link rel="up" href="ch04.html" title="Farstream Transmitter Classes">
88 <link rel="prev" href="FsTransmitter.html" title="FsTransmitter">
99 <link rel="next" href="ch05.html" title="Farstream Plugins Infrastructure">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
4848
4949 <a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter-struct" title="FsStreamTransmitter">FsStreamTransmitter</a>;
5050 struct <a class="link" href="FsStreamTransmitter.html#FsStreamTransmitterClass" title="struct FsStreamTransmitterClass">FsStreamTransmitterClass</a>;
51 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsStreamTransmitter.html#fs-stream-transmitter-add-remote-candidates" title="fs_stream_transmitter_add_remote_candidates ()">fs_stream_transmitter_add_remote_candidates</a>
51 <span class="returnvalue">gboolean</span> <a class="link" href="FsStreamTransmitter.html#fs-stream-transmitter-add-remote-candidates" title="fs_stream_transmitter_add_remote_candidates ()">fs_stream_transmitter_add_remote_candidates</a>
5252 (<em class="parameter"><code><a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a> *streamtransmitter</code></em>,
53 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *candidates</code></em>,
54 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
55 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsStreamTransmitter.html#fs-stream-transmitter-gather-local-candidates" title="fs_stream_transmitter_gather_local_candidates ()">fs_stream_transmitter_gather_local_candidates</a>
53 <em class="parameter"><code><span class="type">GList</span> *candidates</code></em>,
54 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
55 <span class="returnvalue">gboolean</span> <a class="link" href="FsStreamTransmitter.html#fs-stream-transmitter-gather-local-candidates" title="fs_stream_transmitter_gather_local_candidates ()">fs_stream_transmitter_gather_local_candidates</a>
5656 (<em class="parameter"><code><a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a> *streamtransmitter</code></em>,
57 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
58 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsStreamTransmitter.html#fs-stream-transmitter-force-remote-candidates" title="fs_stream_transmitter_force_remote_candidates ()">fs_stream_transmitter_force_remote_candidates</a>
57 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
58 <span class="returnvalue">gboolean</span> <a class="link" href="FsStreamTransmitter.html#fs-stream-transmitter-force-remote-candidates" title="fs_stream_transmitter_force_remote_candidates ()">fs_stream_transmitter_force_remote_candidates</a>
5959 (<em class="parameter"><code><a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a> *streamtransmitter</code></em>,
60 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *remote_candidates</code></em>,
61 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
60 <em class="parameter"><code><span class="type">GList</span> *remote_candidates</code></em>,
61 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
6262 <span class="returnvalue">void</span> <a class="link" href="FsStreamTransmitter.html#fs-stream-transmitter-stop" title="fs_stream_transmitter_stop ()">fs_stream_transmitter_stop</a> (<em class="parameter"><code><a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a> *streamtransmitter</code></em>);
6363 <span class="returnvalue">void</span> <a class="link" href="FsStreamTransmitter.html#fs-stream-transmitter-emit-error" title="fs_stream_transmitter_emit_error ()">fs_stream_transmitter_emit_error</a> (<em class="parameter"><code><a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a> *streamtransmitter</code></em>,
64 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> error_no</code></em>,
65 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *error_msg</code></em>);
66 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsStreamTransmitter.html#fs-stream-parse-component-state-changed" title="fs_stream_parse_component_state_changed ()">fs_stream_parse_component_state_changed</a>
64 <em class="parameter"><code><span class="type">gint</span> error_no</code></em>,
65 <em class="parameter"><code>const <span class="type">gchar</span> *error_msg</code></em>);
66 <span class="returnvalue">gboolean</span> <a class="link" href="FsStreamTransmitter.html#fs-stream-parse-component-state-changed" title="fs_stream_parse_component_state_changed ()">fs_stream_parse_component_state_changed</a>
6767 (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
6868 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
69 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *component</code></em>,
69 <em class="parameter"><code><span class="type">guint</span> *component</code></em>,
7070 <em class="parameter"><code><a class="link" href="FsStream.html#FsStreamState" title="enum FsStreamState"><span class="type">FsStreamState</span></a> *state</code></em>);
71 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsStreamTransmitter.html#fs-stream-parse-local-candidates-prepared" title="fs_stream_parse_local_candidates_prepared ()">fs_stream_parse_local_candidates_prepared</a>
71 <span class="returnvalue">gboolean</span> <a class="link" href="FsStreamTransmitter.html#fs-stream-parse-local-candidates-prepared" title="fs_stream_parse_local_candidates_prepared ()">fs_stream_parse_local_candidates_prepared</a>
7272 (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
7373 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>);
74 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsStreamTransmitter.html#fs-stream-parse-new-active-candidate-pair" title="fs_stream_parse_new_active_candidate_pair ()">fs_stream_parse_new_active_candidate_pair</a>
74 <span class="returnvalue">gboolean</span> <a class="link" href="FsStreamTransmitter.html#fs-stream-parse-new-active-candidate-pair" title="fs_stream_parse_new_active_candidate_pair ()">fs_stream_parse_new_active_candidate_pair</a>
7575 (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
7676 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
7777 <em class="parameter"><code><a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> **local_candidate</code></em>,
7878 <em class="parameter"><code><a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> **remote_candidate</code></em>);
79 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsStreamTransmitter.html#fs-stream-parse-new-local-candidate" title="fs_stream_parse_new_local_candidate ()">fs_stream_parse_new_local_candidate</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
79 <span class="returnvalue">gboolean</span> <a class="link" href="FsStreamTransmitter.html#fs-stream-parse-new-local-candidate" title="fs_stream_parse_new_local_candidate ()">fs_stream_parse_new_local_candidate</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
8080 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
8181 <em class="parameter"><code><a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> **candidate</code></em>);
82 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="FsStreamTransmitter.html#fs-stream-parse-recv-codecs-changed" title="fs_stream_parse_recv_codecs_changed ()">fs_stream_parse_recv_codecs_changed</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
82 <span class="returnvalue">gboolean</span> <a class="link" href="FsStreamTransmitter.html#fs-stream-parse-recv-codecs-changed" title="fs_stream_parse_recv_codecs_changed ()">fs_stream_parse_recv_codecs_changed</a> (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
8383 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
84 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> **codecs</code></em>);
84 <em class="parameter"><code><span class="type">GList</span> **codecs</code></em>);
8585 </pre>
8686 </div>
8787 <div class="refsect1">
8888 <a name="FsStreamTransmitter.object-hierarchy"></a><h2>Object Hierarchy</h2>
8989 <pre class="synopsis">
90 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
91 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
92 +----FsStreamTransmitter
90 GObject
91 +----GInitiallyUnowned
92 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
93 +----FsStreamTransmitter
9394 </pre>
9495 </div>
9596 <div class="refsect1">
9697 <a name="FsStreamTransmitter.properties"></a><h2>Properties</h2>
9798 <pre class="synopsis">
98 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter--associate-on-source" title='The "associate-on-source" property'>associate-on-source</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write / Construct Only
99 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter--associate-on-source" title='The "associate-on-source" property'>associate-on-source</a>" <span class="type">gboolean</span> : Read / Write / Construct Only
99100 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter--preferred-local-candidates" title='The "preferred-local-candidates" property'>preferred-local-candidates</a>" <span class="type">FsCandidateList</span>* : Read / Write / Construct Only
100 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter--sending" title='The "sending" property'>sending</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
101 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter--sending" title='The "sending" property'>sending</a>" <span class="type">gboolean</span> : Read / Write
101102 </pre>
102103 </div>
103104 <div class="refsect1">
104105 <a name="FsStreamTransmitter.signals"></a><h2>Signals</h2>
105106 <pre class="synopsis">
106 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter-error" title='The "error" signal'>error</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
107 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter-known-source-packet-received" title='The "known-source-packet-received" signal'>known-source-packet-received</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
108 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter-local-candidates-prepared" title='The "local-candidates-prepared" signal'>local-candidates-prepared</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
109 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter-new-active-candidate-pair" title='The "new-active-candidate-pair" signal'>new-active-candidate-pair</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
110 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter-new-local-candidate" title='The "new-local-candidate" signal'>new-local-candidate</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
111 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter-state-changed" title='The "state-changed" signal'>state-changed</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
107 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter-error" title='The "error" signal'>error</a>" : <code class="literal">Run Last</code>
108 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter-known-source-packet-received" title='The "known-source-packet-received" signal'>known-source-packet-received</a>" : <code class="literal">Run Last</code>
109 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter-local-candidates-prepared" title='The "local-candidates-prepared" signal'>local-candidates-prepared</a>" : <code class="literal">Run Last</code>
110 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter-new-active-candidate-pair" title='The "new-active-candidate-pair" signal'>new-active-candidate-pair</a>" : <code class="literal">Run Last</code>
111 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter-new-local-candidate" title='The "new-local-candidate" signal'>new-local-candidate</a>" : <code class="literal">Run Last</code>
112 "<a class="link" href="FsStreamTransmitter.html#FsStreamTransmitter-state-changed" title='The "state-changed" signal'>state-changed</a>" : <code class="literal">Run Last</code>
112113 </pre>
113114 </div>
114115 <div class="refsect1">
180181 <hr>
181182 <div class="refsect2">
182183 <a name="fs-stream-transmitter-add-remote-candidates"></a><h3>fs_stream_transmitter_add_remote_candidates ()</h3>
183 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_stream_transmitter_add_remote_candidates
184 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_stream_transmitter_add_remote_candidates
184185 (<em class="parameter"><code><a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a> *streamtransmitter</code></em>,
185 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *candidates</code></em>,
186 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
186 <em class="parameter"><code><span class="type">GList</span> *candidates</code></em>,
187 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
187188 <p>
188189 This function is used to add remote candidates to the transmitter
189190 </p>
197198 </tr>
198199 <tr>
199200 <td><p><span class="term"><em class="parameter"><code>candidates</code></em> :</span></p></td>
200 <td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of the remote candidates. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCandidate]</span>
201 <td>a <span class="type">GList</span> of the remote candidates. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCandidate]</span>
201202 </td>
202203 </tr>
203204 <tr>
204205 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
205 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or NULL if no error occured</td>
206 <td>location of a <span class="type">GError</span>, or NULL if no error occured</td>
206207 </tr>
207208 <tr>
208209 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
209210 <td>TRUE of the candidate could be added, FALSE if it couldnt
210 (and the <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> will be set)</td>
211 (and the <span class="type">GError</span> will be set)</td>
211212 </tr>
212213 </tbody>
213214 </table></div>
215216 <hr>
216217 <div class="refsect2">
217218 <a name="fs-stream-transmitter-gather-local-candidates"></a><h3>fs_stream_transmitter_gather_local_candidates ()</h3>
218 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_stream_transmitter_gather_local_candidates
219 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_stream_transmitter_gather_local_candidates
219220 (<em class="parameter"><code><a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a> *streamtransmitter</code></em>,
220 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
221 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
221222 <p>
222223 This function tells the transmitter to start gathering local candidates,
223224 signals for new candidates and newly active candidates can be emitted
238239 <tr>
239240 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
240241 <td>
241 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if it succeeds (or is not implemented), <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
242 <code class="literal">TRUE</code> if it succeeds (or is not implemented), <code class="literal">FALSE</code> otherwise</td>
242243 </tr>
243244 </tbody>
244245 </table></div>
246247 <hr>
247248 <div class="refsect2">
248249 <a name="fs-stream-transmitter-force-remote-candidates"></a><h3>fs_stream_transmitter_force_remote_candidates ()</h3>
249 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_stream_transmitter_force_remote_candidates
250 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_stream_transmitter_force_remote_candidates
250251 (<em class="parameter"><code><a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a> *streamtransmitter</code></em>,
251 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *remote_candidates</code></em>,
252 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
252 <em class="parameter"><code><span class="type">GList</span> *remote_candidates</code></em>,
253 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
253254 <p>
254255 This function forces data to be sent immediately to the selected remote
255256 candidate, by-passing any connectivity checks. There should be at most
265266 </tr>
266267 <tr>
267268 <td><p><span class="term"><em class="parameter"><code>remote_candidates</code></em> :</span></p></td>
268 <td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> to
269 <td>a <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> to
269270 force. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCandidate]</span>
270271 </td>
271272 </tr>
272273 <tr>
273274 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
274 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or NULL if no error occured</td>
275 <td>location of a <span class="type">GError</span>, or NULL if no error occured</td>
275276 </tr>
276277 <tr>
277278 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
278279 <td>
279 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the candidates could be forced, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
280 <code class="literal">TRUE</code> if the candidates could be forced, <code class="literal">FALSE</code> otherwise</td>
280281 </tr>
281282 </tbody>
282283 </table></div>
302303 <div class="refsect2">
303304 <a name="fs-stream-transmitter-emit-error"></a><h3>fs_stream_transmitter_emit_error ()</h3>
304305 <pre class="programlisting"><span class="returnvalue">void</span> fs_stream_transmitter_emit_error (<em class="parameter"><code><a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a> *streamtransmitter</code></em>,
305 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> error_no</code></em>,
306 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *error_msg</code></em>);</pre>
306 <em class="parameter"><code><span class="type">gint</span> error_no</code></em>,
307 <em class="parameter"><code>const <span class="type">gchar</span> *error_msg</code></em>);</pre>
307308 <p>
308309 This function emit the "error" signal on a <a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a>, it should
309310 only be called by subclasses.
330331 <hr>
331332 <div class="refsect2">
332333 <a name="fs-stream-parse-component-state-changed"></a><h3>fs_stream_parse_component_state_changed ()</h3>
333 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_stream_parse_component_state_changed
334 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_stream_parse_component_state_changed
334335 (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
335336 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
336 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *component</code></em>,
337 <em class="parameter"><code><span class="type">guint</span> *component</code></em>,
337338 <em class="parameter"><code><a class="link" href="FsStream.html#FsStreamState" title="enum FsStreamState"><span class="type">FsStreamState</span></a> *state</code></em>);</pre>
338339 <p>
339340 Parses a "farstream-component-state-changed" message and checks if it matches
352353 </tr>
353354 <tr>
354355 <td><p><span class="term"><em class="parameter"><code>component</code></em> :</span></p></td>
355 <td>Returns the component from the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> if not <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span>
356 <td>Returns the component from the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> if not <code class="literal">NULL</code>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span>
356357 </td>
357358 </tr>
358359 <tr>
359360 <td><p><span class="term"><em class="parameter"><code>state</code></em> :</span></p></td>
360 <td>Returns the <a class="link" href="FsStream.html#FsStreamState" title="enum FsStreamState"><span class="type">FsStreamState</span></a> from the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> if not <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span>
361 <td>Returns the <a class="link" href="FsStream.html#FsStreamState" title="enum FsStreamState"><span class="type">FsStreamState</span></a> from the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> if not <code class="literal">NULL</code>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>]</span>
361362 </td>
362363 </tr>
363364 <tr>
364365 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
365366 <td>
366 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message matches the stream and is valid.</td>
367 <code class="literal">TRUE</code> if the message matches the stream and is valid.</td>
367368 </tr>
368369 </tbody>
369370 </table></div>
371372 <hr>
372373 <div class="refsect2">
373374 <a name="fs-stream-parse-local-candidates-prepared"></a><h3>fs_stream_parse_local_candidates_prepared ()</h3>
374 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_stream_parse_local_candidates_prepared
375 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_stream_parse_local_candidates_prepared
375376 (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
376377 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>);</pre>
377378 <p>
392393 <tr>
393394 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
394395 <td>
395 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message matches the stream and is valid.</td>
396 <code class="literal">TRUE</code> if the message matches the stream and is valid.</td>
396397 </tr>
397398 </tbody>
398399 </table></div>
400401 <hr>
401402 <div class="refsect2">
402403 <a name="fs-stream-parse-new-active-candidate-pair"></a><h3>fs_stream_parse_new_active_candidate_pair ()</h3>
403 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_stream_parse_new_active_candidate_pair
404 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_stream_parse_new_active_candidate_pair
404405 (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
405406 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
406407 <em class="parameter"><code><a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> **local_candidate</code></em>,
423424 <tr>
424425 <td><p><span class="term"><em class="parameter"><code>local_candidate</code></em> :</span></p></td>
425426 <td>Returns the local <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> in
426 the message if not <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span>
427 the message if not <code class="literal">NULL</code>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span>
427428 </td>
428429 </tr>
429430 <tr>
430431 <td><p><span class="term"><em class="parameter"><code>remote_candidate</code></em> :</span></p></td>
431432 <td>Returns the remote <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> in
432 the message if not <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span>
433 the message if not <code class="literal">NULL</code>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span>
433434 </td>
434435 </tr>
435436 <tr>
436437 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
437438 <td>
438 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message matches the stream and is valid.</td>
439 <code class="literal">TRUE</code> if the message matches the stream and is valid.</td>
439440 </tr>
440441 </tbody>
441442 </table></div>
443444 <hr>
444445 <div class="refsect2">
445446 <a name="fs-stream-parse-new-local-candidate"></a><h3>fs_stream_parse_new_local_candidate ()</h3>
446 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_stream_parse_new_local_candidate (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
447 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_stream_parse_new_local_candidate (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
447448 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
448449 <em class="parameter"><code><a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> **candidate</code></em>);</pre>
449450 <p>
464465 <tr>
465466 <td><p><span class="term"><em class="parameter"><code>candidate</code></em> :</span></p></td>
466467 <td>Returns the <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> in the message
467 if not <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span>
468 if not <code class="literal">NULL</code>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span>
468469 </td>
469470 </tr>
470471 <tr>
471472 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
472473 <td>
473 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message matches the stream and is valid.</td>
474 <code class="literal">TRUE</code> if the message matches the stream and is valid.</td>
474475 </tr>
475476 </tbody>
476477 </table></div>
478479 <hr>
479480 <div class="refsect2">
480481 <a name="fs-stream-parse-recv-codecs-changed"></a><h3>fs_stream_parse_recv_codecs_changed ()</h3>
481 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_stream_parse_recv_codecs_changed (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
482 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_stream_parse_recv_codecs_changed (<em class="parameter"><code><a class="link" href="FsStream.html" title="FsStream"><span class="type">FsStream</span></a> *stream</code></em>,
482483 <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMessage.html#GstMessage"><span class="type">GstMessage</span></a> *message</code></em>,
483 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> **codecs</code></em>);</pre>
484 <p>
485 Returns a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> of the message if not <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>
486 </p>
484 <em class="parameter"><code><span class="type">GList</span> **codecs</code></em>);</pre>
487485 <p>
488486 Parses a "farstream-recv-codecs-changed" message and checks if it matches
489487 the <em class="parameter"><code>stream</code></em> parameters.
501499 </tr>
502500 <tr>
503501 <td><p><span class="term"><em class="parameter"><code>codecs</code></em> :</span></p></td>
504 <td>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodec]</span>
502 <td>Returns a <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> of the message if not <code class="literal">NULL</code>. <span class="annotation">[<a href="http://foldoc.org/out"><span class="acronym">out</span></a>][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodec]</span>
505503 </td>
506504 </tr>
507505 <tr>
508506 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
509507 <td>
510 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the message matches the stream and is valid.</td>
508 <code class="literal">TRUE</code> if the message matches the stream and is valid.</td>
511509 </tr>
512510 </tbody>
513511 </table></div>
517515 <a name="FsStreamTransmitter.property-details"></a><h2>Property Details</h2>
518516 <div class="refsect2">
519517 <a name="FsStreamTransmitter--associate-on-source"></a><h3>The <code class="literal">"associate-on-source"</code> property</h3>
520 <pre class="programlisting"> "associate-on-source" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write / Construct Only</pre>
518 <pre class="programlisting"> "associate-on-source" <span class="type">gboolean</span> : Read / Write / Construct Only</pre>
521519 <p>
522520 This tells the stream transmitter to associate incoming data with this
523521 based on the source without looking at the content if possible.
533531 <hr>
534532 <div class="refsect2">
535533 <a name="FsStreamTransmitter--sending"></a><h3>The <code class="literal">"sending"</code> property</h3>
536 <pre class="programlisting"> "sending" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
534 <pre class="programlisting"> "sending" <span class="type">gboolean</span> : Read / Write</pre>
537535 <p>
538536 A network source <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> to be used by the <a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a>
539537 </p>
546544 <a name="FsStreamTransmitter-error"></a><h3>The <code class="literal">"error"</code> signal</h3>
547545 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a> *self,
548546 <a class="link" href="FsConference.html#FsError" title="enum FsError"><span class="type">FsError</span></a> errorno,
549 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *error_msg,
550 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
547 <span class="type">gchar</span> *error_msg,
548 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
551549 <p>
552550 This signal is emitted in any error condition
553551 </p>
578576 <div class="refsect2">
579577 <a name="FsStreamTransmitter-known-source-packet-received"></a><h3>The <code class="literal">"known-source-packet-received"</code> signal</h3>
580578 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a> *self,
581 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> component,
582 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> buffer,
583 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
579 <span class="type">guint</span> component,
580 <span class="type">gpointer</span> buffer,
581 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
584582 <p>
585583 This signal is emitted when a buffer coming from a confirmed known source
586584 is received.
612610 <div class="refsect2">
613611 <a name="FsStreamTransmitter-local-candidates-prepared"></a><h3>The <code class="literal">"local-candidates-prepared"</code> signal</h3>
614612 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a> *self,
615 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
613 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
616614 <p>
617615 This signal is emitted when all local candidates have been
618616 prepared, an ICE implementation would send its SDP offer or answer.
638636 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a> *self,
639637 <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> *local_candidate,
640638 <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> *remote_candidate,
641 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
639 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
642640 <p>
643641 This signal is emitted when there is a new active chandidate pair that has
644642 been established. This is specially useful for ICE where the active
676674 <a name="FsStreamTransmitter-new-local-candidate"></a><h3>The <code class="literal">"new-local-candidate"</code> signal</h3>
677675 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a> *self,
678676 <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> *local_candidate,
679 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
677 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
680678 <p>
681679 This signal is emitted when a new local candidate is discovered.
682680 </p>
704702 <div class="refsect2">
705703 <a name="FsStreamTransmitter-state-changed"></a><h3>The <code class="literal">"state-changed"</code> signal</h3>
706704 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a> *self,
707 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> component,
705 <span class="type">guint</span> component,
708706 <a class="link" href="FsStream.html#FsStreamState" title="enum FsStreamState"><span class="type">FsStreamState</span></a> state,
709 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
707 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
710708 <p>
711709 This signal is emitted when the ICE state (or equivalent) of the component
712710 changes
738736 </div>
739737 <div class="footer">
740738 <hr>
741 Generated by GTK-Doc V1.18.1</div>
739 Generated by GTK-Doc V1.18</div>
742740 </body>
743741 </html>
77 <link rel="up" href="ch04.html" title="Farstream Transmitter Classes">
88 <link rel="prev" href="ch04.html" title="Farstream Transmitter Classes">
99 <link rel="next" href="FsStreamTransmitter.html" title="FsStreamTransmitter">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
4747
4848 <a class="link" href="FsTransmitter.html#FsTransmitter-struct" title="FsTransmitter">FsTransmitter</a>;
4949 struct <a class="link" href="FsTransmitter.html#FsTransmitterClass" title="struct FsTransmitterClass">FsTransmitterClass</a>;
50 <a class="link" href="FsTransmitter.html" title="FsTransmitter"><span class="returnvalue">FsTransmitter</span></a> * <a class="link" href="FsTransmitter.html#fs-transmitter-new" title="fs_transmitter_new ()">fs_transmitter_new</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type</code></em>,
51 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> components</code></em>,
52 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> tos</code></em>,
53 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
50 <a class="link" href="FsTransmitter.html" title="FsTransmitter"><span class="returnvalue">FsTransmitter</span></a> * <a class="link" href="FsTransmitter.html#fs-transmitter-new" title="fs_transmitter_new ()">fs_transmitter_new</a> (<em class="parameter"><code>const <span class="type">gchar</span> *type</code></em>,
51 <em class="parameter"><code><span class="type">guint</span> components</code></em>,
52 <em class="parameter"><code><span class="type">guint</span> tos</code></em>,
53 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
5454 <a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="returnvalue">FsStreamTransmitter</span></a> * <a class="link" href="FsTransmitter.html#fs-transmitter-new-stream-transmitter" title="fs_transmitter_new_stream_transmitter ()">fs_transmitter_new_stream_transmitter</a>
5555 (<em class="parameter"><code><a class="link" href="FsTransmitter.html" title="FsTransmitter"><span class="type">FsTransmitter</span></a> *transmitter</code></em>,
5656 <em class="parameter"><code><a class="link" href="FsParticipant.html" title="FsParticipant"><span class="type">FsParticipant</span></a> *participant</code></em>,
57 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_parameters</code></em>,
58 <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GParameter"><span class="type">GParameter</span></a> *parameters</code></em>,
59 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
60 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> <a class="link" href="FsTransmitter.html#fs-transmitter-get-stream-transmitter-type" title="fs_transmitter_get_stream_transmitter_type ()">fs_transmitter_get_stream_transmitter_type</a>
57 <em class="parameter"><code><span class="type">guint</span> n_parameters</code></em>,
58 <em class="parameter"><code><span class="type">GParameter</span> *parameters</code></em>,
59 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
60 <span class="returnvalue">GType</span> <a class="link" href="FsTransmitter.html#fs-transmitter-get-stream-transmitter-type" title="fs_transmitter_get_stream_transmitter_type ()">fs_transmitter_get_stream_transmitter_type</a>
6161 (<em class="parameter"><code><a class="link" href="FsTransmitter.html" title="FsTransmitter"><span class="type">FsTransmitter</span></a> *transmitter</code></em>);
6262 <span class="returnvalue">void</span> <a class="link" href="FsTransmitter.html#fs-transmitter-emit-error" title="fs_transmitter_emit_error ()">fs_transmitter_emit_error</a> (<em class="parameter"><code><a class="link" href="FsTransmitter.html" title="FsTransmitter"><span class="type">FsTransmitter</span></a> *transmitter</code></em>,
63 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> error_no</code></em>,
64 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *error_msg</code></em>);
63 <em class="parameter"><code><span class="type">gint</span> error_no</code></em>,
64 <em class="parameter"><code>const <span class="type">gchar</span> *error_msg</code></em>);
6565 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="returnvalue">GstElement</span></a> * <a class="link" href="FsTransmitter.html#fs-transmitter-get-recvonly-filter" title="fs_transmitter_get_recvonly_filter ()">fs_transmitter_get_recvonly_filter</a> (<em class="parameter"><code><a class="link" href="FsTransmitter.html" title="FsTransmitter"><span class="type">FsTransmitter</span></a> *transmitter</code></em>,
66 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> component</code></em>);
66 <em class="parameter"><code><span class="type">guint</span> component</code></em>);
6767 <span class="returnvalue">char</span> ** <a class="link" href="FsTransmitter.html#fs-transmitter-list-available" title="fs_transmitter_list_available ()">fs_transmitter_list_available</a> (<em class="parameter"><code><span class="type">void</span></code></em>);
6868 </pre>
6969 </div>
7070 <div class="refsect1">
7171 <a name="FsTransmitter.object-hierarchy"></a><h2>Object Hierarchy</h2>
7272 <pre class="synopsis">
73 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
74 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
75 +----FsTransmitter
73 GObject
74 +----GInitiallyUnowned
75 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
76 +----FsTransmitter
7677 </pre>
7778 </div>
7879 <div class="refsect1">
7980 <a name="FsTransmitter.properties"></a><h2>Properties</h2>
8081 <pre class="synopsis">
81 "<a class="link" href="FsTransmitter.html#FsTransmitter--components" title='The "components" property'>components</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write / Construct Only
82 "<a class="link" href="FsTransmitter.html#FsTransmitter--do-timestamp" title='The "do-timestamp" property'>do-timestamp</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
82 "<a class="link" href="FsTransmitter.html#FsTransmitter--components" title='The "components" property'>components</a>" <span class="type">guint</span> : Read / Write / Construct Only
83 "<a class="link" href="FsTransmitter.html#FsTransmitter--do-timestamp" title='The "do-timestamp" property'>do-timestamp</a>" <span class="type">gboolean</span> : Read / Write
8384 "<a class="link" href="FsTransmitter.html#FsTransmitter--gst-sink" title='The "gst-sink" property'>gst-sink</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>* : Read
8485 "<a class="link" href="FsTransmitter.html#FsTransmitter--gst-src" title='The "gst-src" property'>gst-src</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>* : Read
85 "<a class="link" href="FsTransmitter.html#FsTransmitter--tos" title='The "tos" property'>tos</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
86 "<a class="link" href="FsTransmitter.html#FsTransmitter--tos" title='The "tos" property'>tos</a>" <span class="type">guint</span> : Read / Write
8687 </pre>
8788 </div>
8889 <div class="refsect1">
8990 <a name="FsTransmitter.signals"></a><h2>Signals</h2>
9091 <pre class="synopsis">
91 "<a class="link" href="FsTransmitter.html#FsTransmitter-error" title='The "error" signal'>error</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
92 "<a class="link" href="FsTransmitter.html#FsTransmitter-get-recvonly-filter" title='The "get-recvonly-filter" signal'>get-recvonly-filter</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
92 "<a class="link" href="FsTransmitter.html#FsTransmitter-error" title='The "error" signal'>error</a>" : <code class="literal">Run Last</code>
93 "<a class="link" href="FsTransmitter.html#FsTransmitter-get-recvonly-filter" title='The "get-recvonly-filter" signal'>get-recvonly-filter</a>" : <code class="literal">Run Last</code>
9394 </pre>
9495 </div>
9596 <div class="refsect1">
143144 </tr>
144145 <tr>
145146 <td><p><span class="term"><em class="structfield"><code><a name="FsTransmitterClass.get-stream-transmitter-type"></a>get_stream_transmitter_type</code></em> ()</span></p></td>
146 <td>Returns the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> of the stream transmitter
147 <td>Returns the <span class="type">GType</span> of the stream transmitter
147148 created by this class (useful for bindings)</td>
148149 </tr>
149150 </tbody>
152153 <hr>
153154 <div class="refsect2">
154155 <a name="fs-transmitter-new"></a><h3>fs_transmitter_new ()</h3>
155 <pre class="programlisting"><a class="link" href="FsTransmitter.html" title="FsTransmitter"><span class="returnvalue">FsTransmitter</span></a> * fs_transmitter_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type</code></em>,
156 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> components</code></em>,
157 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> tos</code></em>,
158 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
156 <pre class="programlisting"><a class="link" href="FsTransmitter.html" title="FsTransmitter"><span class="returnvalue">FsTransmitter</span></a> * fs_transmitter_new (<em class="parameter"><code>const <span class="type">gchar</span> *type</code></em>,
157 <em class="parameter"><code><span class="type">guint</span> components</code></em>,
158 <em class="parameter"><code><span class="type">guint</span> tos</code></em>,
159 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
159160 <p>
160161 This function creates a new transmitter of the requested type.
161162 It will load the appropriate plugin as required.
177178 </tr>
178179 <tr>
179180 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
180 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or NULL if no error occured</td>
181 <td>location of a <span class="type">GError</span>, or NULL if no error occured</td>
181182 </tr>
182183 <tr>
183184 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
193194 <pre class="programlisting"><a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="returnvalue">FsStreamTransmitter</span></a> * fs_transmitter_new_stream_transmitter
194195 (<em class="parameter"><code><a class="link" href="FsTransmitter.html" title="FsTransmitter"><span class="type">FsTransmitter</span></a> *transmitter</code></em>,
195196 <em class="parameter"><code><a class="link" href="FsParticipant.html" title="FsParticipant"><span class="type">FsParticipant</span></a> *participant</code></em>,
196 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_parameters</code></em>,
197 <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GParameter"><span class="type">GParameter</span></a> *parameters</code></em>,
198 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
197 <em class="parameter"><code><span class="type">guint</span> n_parameters</code></em>,
198 <em class="parameter"><code><span class="type">GParameter</span> *parameters</code></em>,
199 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
199200 <p>
200201 This function will create a new <a class="link" href="FsStreamTransmitter.html" title="FsStreamTransmitter"><span class="type">FsStreamTransmitter</span></a> element for a
201202 specific participant for this <a class="link" href="FsTransmitter.html" title="FsTransmitter"><span class="type">FsTransmitter</span></a>
221222 </tr>
222223 <tr>
223224 <td><p><span class="term"><em class="parameter"><code>parameters</code></em> :</span></p></td>
224 <td>an array of <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GParameter"><span class="type">GParameter</span></a>
225 <td>an array of <span class="type">GParameter</span>
225226 </td>
226227 </tr>
227228 <tr>
228229 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
229 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or NULL if no error occured</td>
230 <td>location of a <span class="type">GError</span>, or NULL if no error occured</td>
230231 </tr>
231232 <tr>
232233 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
240241 <hr>
241242 <div class="refsect2">
242243 <a name="fs-transmitter-get-stream-transmitter-type"></a><h3>fs_transmitter_get_stream_transmitter_type ()</h3>
243 <pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a> fs_transmitter_get_stream_transmitter_type
244 <pre class="programlisting"><span class="returnvalue">GType</span> fs_transmitter_get_stream_transmitter_type
244245 (<em class="parameter"><code><a class="link" href="FsTransmitter.html" title="FsTransmitter"><span class="type">FsTransmitter</span></a> *transmitter</code></em>);</pre>
245246 <p>
246247 This function returns the GObject type for the stream transmitter.
256257 </tr>
257258 <tr>
258259 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
259 <td>the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>
260 <td>the <span class="type">GType</span>
260261 </td>
261262 </tr>
262263 </tbody>
266267 <div class="refsect2">
267268 <a name="fs-transmitter-emit-error"></a><h3>fs_transmitter_emit_error ()</h3>
268269 <pre class="programlisting"><span class="returnvalue">void</span> fs_transmitter_emit_error (<em class="parameter"><code><a class="link" href="FsTransmitter.html" title="FsTransmitter"><span class="type">FsTransmitter</span></a> *transmitter</code></em>,
269 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> error_no</code></em>,
270 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *error_msg</code></em>);</pre>
270 <em class="parameter"><code><span class="type">gint</span> error_no</code></em>,
271 <em class="parameter"><code>const <span class="type">gchar</span> *error_msg</code></em>);</pre>
271272 <p>
272273 This function emit the "error" signal on a <a class="link" href="FsTransmitter.html" title="FsTransmitter"><span class="type">FsTransmitter</span></a>, it should
273274 only be called by subclasses.
295296 <div class="refsect2">
296297 <a name="fs-transmitter-get-recvonly-filter"></a><h3>fs_transmitter_get_recvonly_filter ()</h3>
297298 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="returnvalue">GstElement</span></a> * fs_transmitter_get_recvonly_filter (<em class="parameter"><code><a class="link" href="FsTransmitter.html" title="FsTransmitter"><span class="type">FsTransmitter</span></a> *transmitter</code></em>,
298 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> component</code></em>);</pre>
299 <em class="parameter"><code><span class="type">guint</span> component</code></em>);</pre>
299300 <p>
300301 Get the filter to add on the send pipeline if sending is disabled.
301302 </p>
316317 <tr>
317318 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
318319 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> to use as the filter or
319 <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>][<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span>
320 <code class="literal">NULL</code>. <span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>][<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span>
320321 </td>
321322 </tr>
322323 </tbody>
334335 <tbody><tr>
335336 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
336337 <td>a newly allocated array of strings containing the
337 list of all available transmitters or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if there are none. It should
338 be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a>. <span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span>
338 list of all available transmitters or <code class="literal">NULL</code> if there are none. It should
339 be freed with <code class="function">g_strfreev()</code>. <span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span>
339340 </td>
340341 </tr></tbody>
341342 </table></div>
345346 <a name="FsTransmitter.property-details"></a><h2>Property Details</h2>
346347 <div class="refsect2">
347348 <a name="FsTransmitter--components"></a><h3>The <code class="literal">"components"</code> property</h3>
348 <pre class="programlisting"> "components" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write / Construct Only</pre>
349 <pre class="programlisting"> "components" <span class="type">guint</span> : Read / Write / Construct Only</pre>
349350 <p>
350351 The number of components to create
351352 </p>
355356 <hr>
356357 <div class="refsect2">
357358 <a name="FsTransmitter--do-timestamp"></a><h3>The <code class="literal">"do-timestamp"</code> property</h3>
358 <pre class="programlisting"> "do-timestamp" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
359 <pre class="programlisting"> "do-timestamp" <span class="type">gboolean</span> : Read / Write</pre>
359360 <p>
360361 Apply current stream time to buffers or provide buffers without
361362 timestamps. Must be set before creating a stream transmitter.
369370 <p>
370371 A network source <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> to be used by the <a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a>
371372 These element's sink must have async=FALSE
372 This element MUST provide a pad named "sink%d" per component.
373 These pads number must start at 1 (the %d corresponds to the component
373 This element MUST provide a pad named "sink_%u" per component.
374 These pads number must start at 1 (the %u corresponds to the component
374375 number).
375376 These pads MUST be static pads.
376377 </p>
381382 <pre class="programlisting"> "gst-src" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>* : Read</pre>
382383 <p>
383384 A network source <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> to be used by the <a class="link" href="FsSession.html" title="FsSession"><span class="type">FsSession</span></a>
384 This element MUST provide a source pad named "src<code class="literal">d</code>" per component.
385 These pads number must start at 1 (the <code class="literal">d</code> corresponds to the component
385 This element MUST provide a source pad named "src_<code class="literal">u</code>" per component.
386 These pads number must start at 1 (the <code class="literal">u</code> corresponds to the component
386387 number).
387388 These pads MUST be static pads.
388389 </p>
390391 <hr>
391392 <div class="refsect2">
392393 <a name="FsTransmitter--tos"></a><h3>The <code class="literal">"tos"</code> property</h3>
393 <pre class="programlisting"> "tos" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write</pre>
394 <pre class="programlisting"> "tos" <span class="type">guint</span> : Read / Write</pre>
394395 <p>
395396 Sets the IP ToS field (and if possible the IPv6 TCLASS field
396397 </p>
404405 <a name="FsTransmitter-error"></a><h3>The <code class="literal">"error"</code> signal</h3>
405406 <pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="FsTransmitter.html" title="FsTransmitter"><span class="type">FsTransmitter</span></a> *self,
406407 <a class="link" href="FsConference.html#FsError" title="enum FsError"><span class="type">FsError</span></a> errorno,
407 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *error_msg,
408 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
408 <span class="type">gchar</span> *error_msg,
409 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
409410 <p>
410411 This signal is emitted in any error condition
411412 </p>
436437 <div class="refsect2">
437438 <a name="FsTransmitter-get-recvonly-filter"></a><h3>The <code class="literal">"get-recvonly-filter"</code> signal</h3>
438439 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="returnvalue">GstElement</span></a>* user_function (<a class="link" href="FsTransmitter.html" title="FsTransmitter"><span class="type">FsTransmitter</span></a> *self,
439 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> component,
440 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
440 <span class="type">guint</span> component,
441 <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
441442 <p>
442443 This signal is emitted when the transmitter wants to get a filter for
443444 to use if sending is disabled. If you want to drop all buffers, just
445446 </p>
446447 <p>
447448 This element should have a "sending" property that can be changed with the
448 sending state of the stream. It should default to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.
449 sending state of the stream. It should default to <code class="literal">TRUE</code>.
449450 </p>
450451 <div class="variablelist"><table border="0">
451452 <col align="left" valign="top">
466467 <tr>
467468 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
468469 <td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> to use as the
469 filter, or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> to drop everything. <span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>][<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span>
470 filter, or <code class="literal">NULL</code> to drop everything. <span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>][<a href="http://foldoc.org/allow-none"><span class="acronym">allow-none</span></a>]</span>
470471 </td>
471472 </tr>
472473 </tbody>
476477 </div>
477478 <div class="footer">
478479 <hr>
479 Generated by GTK-Doc V1.18.1</div>
480 Generated by GTK-Doc V1.18</div>
480481 </body>
481482 </html>
77 <link rel="up" href="pt01.html" title="Part I. User-oriented classes, interfaces and functions">
88 <link rel="prev" href="pt01.html" title="Part I. User-oriented classes, interfaces and functions">
99 <link rel="next" href="FsConference.html" title="FsConference">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
2020 </tr></table>
2121 <div class="chapter">
2222 <div class="titlepage"><div><div><h2 class="title">
23 <a name="id374057"></a>Farstream Core Library</h2></div></div></div>
23 <a name="id319634"></a>Farstream Core Library</h2></div></div></div>
2424 <div class="toc"><dl>
2525 <dt>
2626 <span class="refentrytitle"><a href="FsConference.html">FsConference</a></span><span class="refpurpose"> — Interface for farstream conference elements</span>
4444 </div>
4545 <div class="footer">
4646 <hr>
47 Generated by GTK-Doc V1.18.1</div>
47 Generated by GTK-Doc V1.18</div>
4848 </body>
4949 </html>
77 <link rel="up" href="pt01.html" title="Part I. User-oriented classes, interfaces and functions">
88 <link rel="prev" href="farstream-libs-FsCodec.html" title="FsCodec">
99 <link rel="next" href="farstream-libs-RTP-Specific-types.html" title="RTP Specific types">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
2020 </tr></table>
2121 <div class="chapter">
2222 <div class="titlepage"><div><div><h2 class="title">
23 <a name="id379288"></a>Protocol Specific types</h2></div></div></div>
23 <a name="id349142"></a>Protocol Specific types</h2></div></div></div>
2424 <div class="toc"><dl><dt>
2525 <span class="refentrytitle"><a href="farstream-libs-RTP-Specific-types.html">RTP Specific types</a></span><span class="refpurpose"></span>
2626 </dt></dl></div>
2727 </div>
2828 <div class="footer">
2929 <hr>
30 Generated by GTK-Doc V1.18.1</div>
30 Generated by GTK-Doc V1.18</div>
3131 </body>
3232 </html>
77 <link rel="up" href="pt01.html" title="Part I. User-oriented classes, interfaces and functions">
88 <link rel="prev" href="farstream-libs-RTP-Specific-types.html" title="RTP Specific types">
99 <link rel="next" href="FsElementAddedNotifier.html" title="FsElementAddedNotifier">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
2020 </tr></table>
2121 <div class="chapter">
2222 <div class="titlepage"><div><div><h2 class="title">
23 <a name="id379300"></a>Farstream Utility Functions and Objects</h2></div></div></div>
23 <a name="id349154"></a>Farstream Utility Functions and Objects</h2></div></div></div>
2424 <div class="toc"><dl>
2525 <dt>
2626 <span class="refentrytitle"><a href="FsElementAddedNotifier.html">FsElementAddedNotifier</a></span><span class="refpurpose"> — Recursive element addition notifier</span>
3232 </div>
3333 <div class="footer">
3434 <hr>
35 Generated by GTK-Doc V1.18.1</div>
35 Generated by GTK-Doc V1.18</div>
3636 </body>
3737 </html>
77 <link rel="up" href="pt02.html" title="Part II. Classes used to implement Farstream plugins">
88 <link rel="prev" href="pt02.html" title="Part II. Classes used to implement Farstream plugins">
99 <link rel="next" href="FsTransmitter.html" title="FsTransmitter">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
2020 </tr></table>
2121 <div class="chapter">
2222 <div class="titlepage"><div><div><h2 class="title">
23 <a name="id379321"></a>Farstream Transmitter Classes</h2></div></div></div>
23 <a name="id349176"></a>Farstream Transmitter Classes</h2></div></div></div>
2424 <div class="toc"><dl>
2525 <dt>
2626 <span class="refentrytitle"><a href="FsTransmitter.html">FsTransmitter</a></span><span class="refpurpose"> — A transmitter object linked to a session</span>
3333 </div>
3434 <div class="footer">
3535 <hr>
36 Generated by GTK-Doc V1.18.1</div>
36 Generated by GTK-Doc V1.18</div>
3737 </body>
3838 </html>
77 <link rel="up" href="pt02.html" title="Part II. Classes used to implement Farstream plugins">
88 <link rel="prev" href="FsStreamTransmitter.html" title="FsStreamTransmitter">
99 <link rel="next" href="farstream-libs-FsPlugin.html" title="FsPlugin">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
2020 </tr></table>
2121 <div class="chapter">
2222 <div class="titlepage"><div><div><h2 class="title">
23 <a name="id379337"></a>Farstream Plugins Infrastructure</h2></div></div></div>
23 <a name="id349192"></a>Farstream Plugins Infrastructure</h2></div></div></div>
2424 <div class="toc"><dl><dt>
2525 <span class="refentrytitle"><a href="farstream-libs-FsPlugin.html">FsPlugin</a></span><span class="refpurpose"> — A class for defining Farstream plugins</span>
2626 </dt></dl></div>
2727 </div>
2828 <div class="footer">
2929 <hr>
30 Generated by GTK-Doc V1.18.1</div>
30 Generated by GTK-Doc V1.18</div>
3131 </body>
3232 </html>
77 <link rel="up" href="ch01.html" title="Farstream Core Library">
88 <link rel="prev" href="FsStream.html" title="FsStream">
99 <link rel="next" href="farstream-libs-FsCodec.html" title="FsCodec">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
4343 enum <a class="link" href="farstream-libs-FsCandidate.html#FsCandidateType" title="enum FsCandidateType">FsCandidateType</a>;
4444 enum <a class="link" href="farstream-libs-FsCandidate.html#FsNetworkProtocol" title="enum FsNetworkProtocol">FsNetworkProtocol</a>;
4545 enum <a class="link" href="farstream-libs-FsCandidate.html#FsComponentType" title="enum FsComponentType">FsComponentType</a>;
46 <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="returnvalue">FsCandidate</span></a> * <a class="link" href="farstream-libs-FsCandidate.html#fs-candidate-new" title="fs_candidate_new ()">fs_candidate_new</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *foundation</code></em>,
47 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> component_id</code></em>,
46 <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="returnvalue">FsCandidate</span></a> * <a class="link" href="farstream-libs-FsCandidate.html#fs-candidate-new" title="fs_candidate_new ()">fs_candidate_new</a> (<em class="parameter"><code>const <span class="type">gchar</span> *foundation</code></em>,
47 <em class="parameter"><code><span class="type">guint</span> component_id</code></em>,
4848 <em class="parameter"><code><a class="link" href="farstream-libs-FsCandidate.html#FsCandidateType" title="enum FsCandidateType"><span class="type">FsCandidateType</span></a> type</code></em>,
4949 <em class="parameter"><code><a class="link" href="farstream-libs-FsCandidate.html#FsNetworkProtocol" title="enum FsNetworkProtocol"><span class="type">FsNetworkProtocol</span></a> proto</code></em>,
50 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *ip</code></em>,
51 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> port</code></em>);
50 <em class="parameter"><code>const <span class="type">gchar</span> *ip</code></em>,
51 <em class="parameter"><code><span class="type">guint</span> port</code></em>);
5252 <span class="returnvalue">void</span> <a class="link" href="farstream-libs-FsCandidate.html#fs-candidate-destroy" title="fs_candidate_destroy ()">fs_candidate_destroy</a> (<em class="parameter"><code><a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> *cand</code></em>);
5353 <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="returnvalue">FsCandidate</span></a> * <a class="link" href="farstream-libs-FsCandidate.html#fs-candidate-copy" title="fs_candidate_copy ()">fs_candidate_copy</a> (<em class="parameter"><code>const <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> *cand</code></em>);
54 <span class="returnvalue">void</span> <a class="link" href="farstream-libs-FsCandidate.html#fs-candidate-list-destroy" title="fs_candidate_list_destroy ()">fs_candidate_list_destroy</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *candidate_list</code></em>);
55 <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="farstream-libs-FsCandidate.html#fs-candidate-list-copy" title="fs_candidate_list_copy ()">fs_candidate_list_copy</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *candidate_list</code></em>);
54 <span class="returnvalue">void</span> <a class="link" href="farstream-libs-FsCandidate.html#fs-candidate-list-destroy" title="fs_candidate_list_destroy ()">fs_candidate_list_destroy</a> (<em class="parameter"><code><span class="type">GList</span> *candidate_list</code></em>);
55 <span class="returnvalue">GList</span> * <a class="link" href="farstream-libs-FsCandidate.html#fs-candidate-list-copy" title="fs_candidate_list_copy ()">fs_candidate_list_copy</a> (<em class="parameter"><code>const <span class="type">GList</span> *candidate_list</code></em>);
5656 </pre>
5757 </div>
5858 <div class="refsect1">
9191 <col align="left" valign="top">
9292 <tbody>
9393 <tr>
94 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="FsCandidate.foundation"></a>foundation</code></em>;</span></p></td>
94 <td><p><span class="term"><span class="type">gchar</span> *<em class="structfield"><code><a name="FsCandidate.foundation"></a>foundation</code></em>;</span></p></td>
9595 <td>a string representing the foundation of this candidate (maximum 32 chars)</td>
9696 </tr>
9797 <tr>
98 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="FsCandidate.component-id"></a>component_id</code></em>;</span></p></td>
98 <td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="FsCandidate.component-id"></a>component_id</code></em>;</span></p></td>
9999 <td>value between 1 and 256 indicating which component this candidate represents (1 is RTP, 2 is RTCP, <a class="link" href="farstream-libs-FsCandidate.html#FsComponentType" title="enum FsComponentType"><span class="type">FsComponentType</span></a> can be used here)</td>
100100 </tr>
101101 <tr>
102 <td><p><span class="term">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="FsCandidate.ip"></a>ip</code></em>;</span></p></td>
102 <td><p><span class="term">const <span class="type">gchar</span> *<em class="structfield"><code><a name="FsCandidate.ip"></a>ip</code></em>;</span></p></td>
103103 <td>IP in dotted format</td>
104104 </tr>
105105 <tr>
106 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FsCandidate.port"></a>port</code></em>;</span></p></td>
106 <td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="FsCandidate.port"></a>port</code></em>;</span></p></td>
107107 <td>Port to use</td>
108108 </tr>
109109 <tr>
110 <td><p><span class="term">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="FsCandidate.base-ip"></a>base_ip</code></em>;</span></p></td>
110 <td><p><span class="term">const <span class="type">gchar</span> *<em class="structfield"><code><a name="FsCandidate.base-ip"></a>base_ip</code></em>;</span></p></td>
111111 <td>IP of base in dotted format as defined in ICE-19.</td>
112112 </tr>
113113 <tr>
114 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="FsCandidate.base-port"></a>base_port</code></em>;</span></p></td>
114 <td><p><span class="term"><span class="type">guint16</span> <em class="structfield"><code><a name="FsCandidate.base-port"></a>base_port</code></em>;</span></p></td>
115115 <td>Port of base as defined in ICE-19.</td>
116116 </tr>
117117 <tr>
120120 <a class="link" href="farstream-libs-FsCandidate.html#FsNetworkProtocol" title="enum FsNetworkProtocol"><span class="type">FsNetworkProtocol</span></a> for ip protocol to use as candidate</td>
121121 </tr>
122122 <tr>
123 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="FsCandidate.priority"></a>priority</code></em>;</span></p></td>
123 <td><p><span class="term"><span class="type">guint32</span> <em class="structfield"><code><a name="FsCandidate.priority"></a>priority</code></em>;</span></p></td>
124124 <td>Value between 0 and (2^31 - 1) representing the priority</td>
125125 </tr>
126126 <tr>
128128 <td>The <a class="link" href="farstream-libs-FsCandidate.html#FsCandidateType" title="enum FsCandidateType"><span class="type">FsCandidateType</span></a> of the candidate</td>
129129 </tr>
130130 <tr>
131 <td><p><span class="term">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="FsCandidate.username"></a>username</code></em>;</span></p></td>
131 <td><p><span class="term">const <span class="type">gchar</span> *<em class="structfield"><code><a name="FsCandidate.username"></a>username</code></em>;</span></p></td>
132132 <td>Username to use to connect to client if necessary,
133133 NULL otherwise</td>
134134 </tr>
135135 <tr>
136 <td><p><span class="term">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="FsCandidate.password"></a>password</code></em>;</span></p></td>
136 <td><p><span class="term">const <span class="type">gchar</span> *<em class="structfield"><code><a name="FsCandidate.password"></a>password</code></em>;</span></p></td>
137137 <td>Username to use to connect to client if necessary,
138138 NULL otherwise</td>
139139 </tr>
140140 <tr>
141 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="FsCandidate.ttl"></a>ttl</code></em>;</span></p></td>
141 <td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="FsCandidate.ttl"></a>ttl</code></em>;</span></p></td>
142142 <td>The TTL used when sending Multicast packet (0 = auto)</td>
143143 </tr>
144144 </tbody>
252252 <hr>
253253 <div class="refsect2">
254254 <a name="fs-candidate-new"></a><h3>fs_candidate_new ()</h3>
255 <pre class="programlisting"><a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="returnvalue">FsCandidate</span></a> * fs_candidate_new (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *foundation</code></em>,
256 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> component_id</code></em>,
255 <pre class="programlisting"><a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="returnvalue">FsCandidate</span></a> * fs_candidate_new (<em class="parameter"><code>const <span class="type">gchar</span> *foundation</code></em>,
256 <em class="parameter"><code><span class="type">guint</span> component_id</code></em>,
257257 <em class="parameter"><code><a class="link" href="farstream-libs-FsCandidate.html#FsCandidateType" title="enum FsCandidateType"><span class="type">FsCandidateType</span></a> type</code></em>,
258258 <em class="parameter"><code><a class="link" href="farstream-libs-FsCandidate.html#FsNetworkProtocol" title="enum FsNetworkProtocol"><span class="type">FsNetworkProtocol</span></a> proto</code></em>,
259 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *ip</code></em>,
260 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> port</code></em>);</pre>
259 <em class="parameter"><code>const <span class="type">gchar</span> *ip</code></em>,
260 <em class="parameter"><code><span class="type">guint</span> port</code></em>);</pre>
261261 <p>
262262 Allocates a new <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a>, the rest of the fields can be optionally
263263 filled manually.
302302 <div class="refsect2">
303303 <a name="fs-candidate-destroy"></a><h3>fs_candidate_destroy ()</h3>
304304 <pre class="programlisting"><span class="returnvalue">void</span> fs_candidate_destroy (<em class="parameter"><code><a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> *cand</code></em>);</pre>
305 <p>
306 Frees a <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> and all its contents
307 </p>
308 <div class="variablelist"><table border="0">
309 <col align="left" valign="top">
310 <tbody><tr>
311 <td><p><span class="term"><em class="parameter"><code>cand</code></em> :</span></p></td>
312 <td>a <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> to delete</td>
313 </tr></tbody>
314 </table></div>
305315 </div>
306316 <hr>
307317 <div class="refsect2">
328338 <hr>
329339 <div class="refsect2">
330340 <a name="fs-candidate-list-destroy"></a><h3>fs_candidate_list_destroy ()</h3>
331 <pre class="programlisting"><span class="returnvalue">void</span> fs_candidate_list_destroy (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *candidate_list</code></em>);</pre>
341 <pre class="programlisting"><span class="returnvalue">void</span> fs_candidate_list_destroy (<em class="parameter"><code><span class="type">GList</span> *candidate_list</code></em>);</pre>
342 <p>
343 Deletes a GList of <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> and its contents
344 </p>
345 <div class="variablelist"><table border="0">
346 <col align="left" valign="top">
347 <tbody><tr>
348 <td><p><span class="term"><em class="parameter"><code>candidate_list</code></em> :</span></p></td>
349 <td>A GList of <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a>
350 </td>
351 </tr></tbody>
352 </table></div>
332353 </div>
333354 <hr>
334355 <div class="refsect2">
335356 <a name="fs-candidate-list-copy"></a><h3>fs_candidate_list_copy ()</h3>
336 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * fs_candidate_list_copy (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *candidate_list</code></em>);</pre>
357 <pre class="programlisting"><span class="returnvalue">GList</span> * fs_candidate_list_copy (<em class="parameter"><code>const <span class="type">GList</span> *candidate_list</code></em>);</pre>
337358 <p>
338359 Copies a GList of <a class="link" href="farstream-libs-FsCandidate.html#FsCandidate" title="struct FsCandidate"><span class="type">FsCandidate</span></a> and its contents
339360 </p>
357378 </div>
358379 <div class="footer">
359380 <hr>
360 Generated by GTK-Doc V1.18.1</div>
381 Generated by GTK-Doc V1.18</div>
361382 </body>
362383 </html>
77 <link rel="up" href="ch01.html" title="Farstream Core Library">
88 <link rel="prev" href="farstream-libs-FsCandidate.html" title="FsCandidate">
99 <link rel="next" href="ch02.html" title="Protocol Specific types">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
4848 <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="returnvalue">FsCodec</span></a> * <a class="link" href="farstream-libs-FsCodec.html#fs-codec-new" title="fs_codec_new ()">fs_codec_new</a> (<em class="parameter"><code><span class="type">int</span> id</code></em>,
4949 <em class="parameter"><code>const <span class="type">char</span> *encoding_name</code></em>,
5050 <em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsMediaType" title="enum FsMediaType"><span class="type">FsMediaType</span></a> media_type</code></em>,
51 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> clock_rate</code></em>);
51 <em class="parameter"><code><span class="type">guint</span> clock_rate</code></em>);
5252 <span class="returnvalue">void</span> <a class="link" href="farstream-libs-FsCodec.html#fs-codec-destroy" title="fs_codec_destroy ()">fs_codec_destroy</a> (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>);
5353 <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="returnvalue">FsCodec</span></a> * <a class="link" href="farstream-libs-FsCodec.html#fs-codec-copy" title="fs_codec_copy ()">fs_codec_copy</a> (<em class="parameter"><code>const <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>);
54 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="farstream-libs-FsCodec.html#fs-codec-are-equal" title="fs_codec_are_equal ()">fs_codec_are_equal</a> (<em class="parameter"><code>const <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec1</code></em>,
54 <span class="returnvalue">gboolean</span> <a class="link" href="farstream-libs-FsCodec.html#fs-codec-are-equal" title="fs_codec_are_equal ()">fs_codec_are_equal</a> (<em class="parameter"><code>const <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec1</code></em>,
5555 <em class="parameter"><code>const <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec2</code></em>);
56 <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-from-keyfile" title="fs_codec_list_from_keyfile ()">fs_codec_list_from_keyfile</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filename</code></em>,
57 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
58 <span class="returnvalue">void</span> <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-destroy" title="fs_codec_list_destroy ()">fs_codec_list_destroy</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *codec_list</code></em>);
59 <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-copy" title="fs_codec_list_copy ()">fs_codec_list_copy</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *codec_list</code></em>);
60 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-are-equal" title="fs_codec_list_are_equal ()">fs_codec_list_are_equal</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list1</code></em>,
61 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list2</code></em>);
62 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="farstream-libs-FsCodec.html#fs-codec-to-string" title="fs_codec_to_string ()">fs_codec_to_string</a> (<em class="parameter"><code>const <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>);
56 <span class="returnvalue">GList</span> * <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-from-keyfile" title="fs_codec_list_from_keyfile ()">fs_codec_list_from_keyfile</a> (<em class="parameter"><code>const <span class="type">gchar</span> *filename</code></em>,
57 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
58 <span class="returnvalue">void</span> <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-destroy" title="fs_codec_list_destroy ()">fs_codec_list_destroy</a> (<em class="parameter"><code><span class="type">GList</span> *codec_list</code></em>);
59 <span class="returnvalue">GList</span> * <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-copy" title="fs_codec_list_copy ()">fs_codec_list_copy</a> (<em class="parameter"><code>const <span class="type">GList</span> *codec_list</code></em>);
60 <span class="returnvalue">gboolean</span> <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-are-equal" title="fs_codec_list_are_equal ()">fs_codec_list_are_equal</a> (<em class="parameter"><code><span class="type">GList</span> *list1</code></em>,
61 <em class="parameter"><code><span class="type">GList</span> *list2</code></em>);
62 <span class="returnvalue">gchar</span> * <a class="link" href="farstream-libs-FsCodec.html#fs-codec-to-string" title="fs_codec_to_string ()">fs_codec_to_string</a> (<em class="parameter"><code>const <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>);
6363 <span class="returnvalue">void</span> <a class="link" href="farstream-libs-FsCodec.html#fs-codec-add-optional-parameter" title="fs_codec_add_optional_parameter ()">fs_codec_add_optional_parameter</a> (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>,
64 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
65 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *value</code></em>);
64 <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
65 <em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);
6666 <span class="returnvalue">void</span> <a class="link" href="farstream-libs-FsCodec.html#fs-codec-remove-optional-parameter" title="fs_codec_remove_optional_parameter ()">fs_codec_remove_optional_parameter</a> (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>,
6767 <em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodecParameter" title="struct FsCodecParameter"><span class="type">FsCodecParameter</span></a> *param</code></em>);
6868 <a class="link" href="farstream-libs-FsCodec.html#FsCodecParameter" title="struct FsCodecParameter"><span class="returnvalue">FsCodecParameter</span></a> * <a class="link" href="farstream-libs-FsCodec.html#fs-codec-get-optional-parameter" title="fs_codec_get_optional_parameter ()">fs_codec_get_optional_parameter</a> (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>,
69 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
70 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *value</code></em>);
69 <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
70 <em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);
7171 <a class="link" href="farstream-libs-FsCodec.html#FsCodecParameter" title="struct FsCodecParameter"><span class="returnvalue">FsCodecParameter</span></a> * <a class="link" href="farstream-libs-FsCodec.html#fs-codec-parameter-copy" title="fs_codec_parameter_copy ()">fs_codec_parameter_copy</a> (<em class="parameter"><code>const <a class="link" href="farstream-libs-FsCodec.html#FsCodecParameter" title="struct FsCodecParameter"><span class="type">FsCodecParameter</span></a> *param</code></em>);
7272 <span class="returnvalue">void</span> <a class="link" href="farstream-libs-FsCodec.html#fs-codec-parameter-free" title="fs_codec_parameter_free ()">fs_codec_parameter_free</a> (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodecParameter" title="struct FsCodecParameter"><span class="type">FsCodecParameter</span></a> *param</code></em>);
7373 <span class="returnvalue">void</span> <a class="link" href="farstream-libs-FsCodec.html#fs-codec-add-feedback-parameter" title="fs_codec_add_feedback_parameter ()">fs_codec_add_feedback_parameter</a> (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>,
74 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type</code></em>,
75 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *subtype</code></em>,
76 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *extra_params</code></em>);
74 <em class="parameter"><code>const <span class="type">gchar</span> *type</code></em>,
75 <em class="parameter"><code>const <span class="type">gchar</span> *subtype</code></em>,
76 <em class="parameter"><code>const <span class="type">gchar</span> *extra_params</code></em>);
7777 <a class="link" href="farstream-libs-FsCodec.html#FsFeedbackParameter" title="struct FsFeedbackParameter"><span class="returnvalue">FsFeedbackParameter</span></a> * <a class="link" href="farstream-libs-FsCodec.html#fs-codec-get-feedback-parameter" title="fs_codec_get_feedback_parameter ()">fs_codec_get_feedback_parameter</a> (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>,
78 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type</code></em>,
79 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *subtype</code></em>,
80 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *extra_params</code></em>);
78 <em class="parameter"><code>const <span class="type">gchar</span> *type</code></em>,
79 <em class="parameter"><code>const <span class="type">gchar</span> *subtype</code></em>,
80 <em class="parameter"><code>const <span class="type">gchar</span> *extra_params</code></em>);
8181 <span class="returnvalue">void</span> <a class="link" href="farstream-libs-FsCodec.html#fs-codec-remove-feedback-parameter" title="fs_codec_remove_feedback_parameter ()">fs_codec_remove_feedback_parameter</a> (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>,
82 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *item</code></em>);
82 <em class="parameter"><code><span class="type">GList</span> *item</code></em>);
8383 <a class="link" href="farstream-libs-FsCodec.html#FsFeedbackParameter" title="struct FsFeedbackParameter"><span class="returnvalue">FsFeedbackParameter</span></a> * <a class="link" href="farstream-libs-FsCodec.html#fs-feedback-parameter-copy" title="fs_feedback_parameter_copy ()">fs_feedback_parameter_copy</a> (<em class="parameter"><code>const <a class="link" href="farstream-libs-FsCodec.html#FsFeedbackParameter" title="struct FsFeedbackParameter"><span class="type">FsFeedbackParameter</span></a> *param</code></em>);
8484 <span class="returnvalue">void</span> <a class="link" href="farstream-libs-FsCodec.html#fs-feedback-parameter-free" title="fs_feedback_parameter_free ()">fs_feedback_parameter_free</a> (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsFeedbackParameter" title="struct FsFeedbackParameter"><span class="type">FsFeedbackParameter</span></a> *param</code></em>);
8585 #define <a class="link" href="farstream-libs-FsCodec.html#FS-CODEC-FORMAT:CAPS" title="FS_CODEC_FORMAT">FS_CODEC_FORMAT</a>
8686 #define <a class="link" href="farstream-libs-FsCodec.html#FS-CODEC-ARGS:CAPS" title="FS_CODEC_ARGS()">FS_CODEC_ARGS</a> (codec)
87 const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="farstream-libs-FsCodec.html#fs-media-type-to-string" title="fs_media_type_to_string ()">fs_media_type_to_string</a> (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsMediaType" title="enum FsMediaType"><span class="type">FsMediaType</span></a> media_type</code></em>);
87 const <span class="returnvalue">gchar</span> * <a class="link" href="farstream-libs-FsCodec.html#fs-media-type-to-string" title="fs_media_type_to_string ()">fs_media_type_to_string</a> (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsMediaType" title="enum FsMediaType"><span class="type">FsMediaType</span></a> media_type</code></em>);
8888 </pre>
8989 </div>
9090 <div class="refsect1">
117117 <col align="left" valign="top">
118118 <tbody>
119119 <tr>
120 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="FsCodec.id"></a>id</code></em>;</span></p></td>
120 <td><p><span class="term"><span class="type">gint</span> <em class="structfield"><code><a name="FsCodec.id"></a>id</code></em>;</span></p></td>
121121 <td>numeric identifier for encoding, eg. PT for SDP</td>
122122 </tr>
123123 <tr>
129129 <td>type of media this codec is for</td>
130130 </tr>
131131 <tr>
132 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="FsCodec.clock-rate"></a>clock_rate</code></em>;</span></p></td>
132 <td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="FsCodec.clock-rate"></a>clock_rate</code></em>;</span></p></td>
133133 <td>clock rate of this stream</td>
134134 </tr>
135135 <tr>
136 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="FsCodec.channels"></a>channels</code></em>;</span></p></td>
136 <td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="FsCodec.channels"></a>channels</code></em>;</span></p></td>
137137 <td>Number of channels codec should decode</td>
138138 </tr>
139139 <tr>
140 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="FsCodec.minimum-reporting-interval"></a>minimum_reporting_interval</code></em>;</span></p></td>
140 <td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="FsCodec.minimum-reporting-interval"></a>minimum_reporting_interval</code></em>;</span></p></td>
141141 <td>The minimum interval between two RTCP reports,
142142 If it is not specified (G_MAXUINT), it is up to the protocol to decide
143143 (it is 5 seconds for RTP).</td>
144144 </tr>
145145 <tr>
146 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="FsCodec.optional-params"></a>optional_params</code></em>;</span></p></td>
146 <td><p><span class="term"><span class="type">GList</span> *<em class="structfield"><code><a name="FsCodec.optional-params"></a>optional_params</code></em>;</span></p></td>
147147 <td>key pairs of param name to param data. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodecParameter]</span>
148148 </td>
149149 </tr>
150150 <tr>
151 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *<em class="structfield"><code><a name="FsCodec.feedback-params"></a>feedback_params</code></em>;</span></p></td>
151 <td><p><span class="term"><span class="type">GList</span> *<em class="structfield"><code><a name="FsCodec.feedback-params"></a>feedback_params</code></em>;</span></p></td>
152152 <td>key triplets of
153153 feedbck param type, subtype and extra string that is supported for this codec. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsFeedbackParameter]</span>
154154 </td>
204204 <col align="left" valign="top">
205205 <tbody>
206206 <tr>
207 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="FsCodecParameter.name"></a>name</code></em>;</span></p></td>
207 <td><p><span class="term"><span class="type">gchar</span> *<em class="structfield"><code><a name="FsCodecParameter.name"></a>name</code></em>;</span></p></td>
208208 <td>paramter name.</td>
209209 </tr>
210210 <tr>
211 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="FsCodecParameter.value"></a>value</code></em>;</span></p></td>
211 <td><p><span class="term"><span class="type">gchar</span> *<em class="structfield"><code><a name="FsCodecParameter.value"></a>value</code></em>;</span></p></td>
212212 <td>parameter value.</td>
213213 </tr>
214214 </tbody>
230230 <col align="left" valign="top">
231231 <tbody>
232232 <tr>
233 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="FsFeedbackParameter.type"></a>type</code></em>;</span></p></td>
233 <td><p><span class="term"><span class="type">gchar</span> *<em class="structfield"><code><a name="FsFeedbackParameter.type"></a>type</code></em>;</span></p></td>
234234 <td>the type of feedback, like "ack", "name", "ccm"</td>
235235 </tr>
236236 <tr>
237 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="FsFeedbackParameter.subtype"></a>subtype</code></em>;</span></p></td>
237 <td><p><span class="term"><span class="type">gchar</span> *<em class="structfield"><code><a name="FsFeedbackParameter.subtype"></a>subtype</code></em>;</span></p></td>
238238 <td>the subtype of feedback (can be an empty string)</td>
239239 </tr>
240240 <tr>
241 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="FsFeedbackParameter.extra-params"></a>extra_params</code></em>;</span></p></td>
241 <td><p><span class="term"><span class="type">gchar</span> *<em class="structfield"><code><a name="FsFeedbackParameter.extra-params"></a>extra_params</code></em>;</span></p></td>
242242 <td>a string containing extra parameters (can be empty)</td>
243243 </tr>
244244 </tbody>
270270 <pre class="programlisting"><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="returnvalue">FsCodec</span></a> * fs_codec_new (<em class="parameter"><code><span class="type">int</span> id</code></em>,
271271 <em class="parameter"><code>const <span class="type">char</span> *encoding_name</code></em>,
272272 <em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsMediaType" title="enum FsMediaType"><span class="type">FsMediaType</span></a> media_type</code></em>,
273 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> clock_rate</code></em>);</pre>
273 <em class="parameter"><code><span class="type">guint</span> clock_rate</code></em>);</pre>
274274 <p>
275275 Allocates and initializes a <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> structure
276276 </p>
306306 <div class="refsect2">
307307 <a name="fs-codec-destroy"></a><h3>fs_codec_destroy ()</h3>
308308 <pre class="programlisting"><span class="returnvalue">void</span> fs_codec_destroy (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>);</pre>
309 <p>
310 Deletes a <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> structure and all its data. Is a no-op on <code class="literal">NULL</code> codec
311 </p>
312 <div class="variablelist"><table border="0">
313 <col align="left" valign="top">
314 <tbody><tr>
315 <td><p><span class="term"><em class="parameter"><code>codec</code></em> :</span></p></td>
316 <td>
317 <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> structure to free</td>
318 </tr></tbody>
319 </table></div>
309320 </div>
310321 <hr>
311322 <div class="refsect2">
331342 <hr>
332343 <div class="refsect2">
333344 <a name="fs-codec-are-equal"></a><h3>fs_codec_are_equal ()</h3>
334 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_codec_are_equal (<em class="parameter"><code>const <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec1</code></em>,
345 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_codec_are_equal (<em class="parameter"><code>const <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec1</code></em>,
335346 <em class="parameter"><code>const <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec2</code></em>);</pre>
336347 <p>
337348 Compare two codecs, it will declare two codecs to be identical even
338 if their optional parameters are in a different order. <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> encoding names
349 if their optional parameters are in a different order. <code class="literal">NULL</code> encoding names
339350 are ignored.
340351 </p>
341352 <div class="variablelist"><table border="0">
352363 <tr>
353364 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
354365 <td>
355 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> of the codecs are identical, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
366 <code class="literal">TRUE</code> of the codecs are identical, <code class="literal">FALSE</code> otherwise</td>
356367 </tr>
357368 </tbody>
358369 </table></div>
360371 <hr>
361372 <div class="refsect2">
362373 <a name="fs-codec-list-from-keyfile"></a><h3>fs_codec_list_from_keyfile ()</h3>
363 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * fs_codec_list_from_keyfile (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filename</code></em>,
364 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
365 <p>
366 Reads the content of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="type">GKeyFile</span></a> of the following format into
367 a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> structures.
374 <pre class="programlisting"><span class="returnvalue">GList</span> * fs_codec_list_from_keyfile (<em class="parameter"><code>const <span class="type">gchar</span> *filename</code></em>,
375 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
376 <p>
377 Reads the content of a <span class="type">GKeyFile</span> of the following format into
378 a <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> structures.
368379 </p>
369380 <p>
370381 Example:
413424 <tbody>
414425 <tr>
415426 <td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
416 <td>Name of the <a href="http://library.gnome.org/devel/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="type">GKeyFile</span></a> to read the codecs parameters from</td>
427 <td>Name of the <span class="type">GKeyFile</span> to read the codecs parameters from</td>
417428 </tr>
418429 <tr>
419430 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
420 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or NULL if no error occured</td>
421 </tr>
422 <tr>
423 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
424 <td>The <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if the keyfile was empty or an error occured. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodec][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span>
431 <td>location of a <span class="type">GError</span>, or NULL if no error occured</td>
432 </tr>
433 <tr>
434 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
435 <td>The <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> or <code class="literal">NULL</code> if the keyfile was empty or an error occured. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodec][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span>
425436 </td>
426437 </tr>
427438 </tbody>
430441 <hr>
431442 <div class="refsect2">
432443 <a name="fs-codec-list-destroy"></a><h3>fs_codec_list_destroy ()</h3>
433 <pre class="programlisting"><span class="returnvalue">void</span> fs_codec_list_destroy (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *codec_list</code></em>);</pre>
444 <pre class="programlisting"><span class="returnvalue">void</span> fs_codec_list_destroy (<em class="parameter"><code><span class="type">GList</span> *codec_list</code></em>);</pre>
445 <p>
446 Deletes a list of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> structures and the list itself.
447 Does nothing on <code class="literal">NULL</code> lists.
448 </p>
449 <div class="variablelist"><table border="0">
450 <col align="left" valign="top">
451 <tbody><tr>
452 <td><p><span class="term"><em class="parameter"><code>codec_list</code></em> :</span></p></td>
453 <td>a GList of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> to delete</td>
454 </tr></tbody>
455 </table></div>
434456 </div>
435457 <hr>
436458 <div class="refsect2">
437459 <a name="fs-codec-list-copy"></a><h3>fs_codec_list_copy ()</h3>
438 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * fs_codec_list_copy (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *codec_list</code></em>);</pre>
460 <pre class="programlisting"><span class="returnvalue">GList</span> * fs_codec_list_copy (<em class="parameter"><code>const <span class="type">GList</span> *codec_list</code></em>);</pre>
439461 <p>
440462 Copies a list of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> structures.
441463 </p>
458480 <hr>
459481 <div class="refsect2">
460482 <a name="fs-codec-list-are-equal"></a><h3>fs_codec_list_are_equal ()</h3>
461 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_codec_list_are_equal (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list1</code></em>,
462 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *list2</code></em>);</pre>
483 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_codec_list_are_equal (<em class="parameter"><code><span class="type">GList</span> *list1</code></em>,
484 <em class="parameter"><code><span class="type">GList</span> *list2</code></em>);</pre>
463485 <p>
464486 Verifies if two glist of fscodecs are identical
465487 </p>
468490 <tbody>
469491 <tr>
470492 <td><p><span class="term"><em class="parameter"><code>list1</code></em> :</span></p></td>
471 <td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodec]</span>
493 <td>a <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodec]</span>
472494 </td>
473495 </tr>
474496 <tr>
475497 <td><p><span class="term"><em class="parameter"><code>list2</code></em> :</span></p></td>
476 <td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodec]</span>
498 <td>a <span class="type">GList</span> of <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodec]</span>
477499 </td>
478500 </tr>
479501 <tr>
480502 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
481503 <td>
482 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if they are identical, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
504 <code class="literal">TRUE</code> if they are identical, <code class="literal">FALSE</code> otherwise</td>
483505 </tr>
484506 </tbody>
485507 </table></div>
487509 <hr>
488510 <div class="refsect2">
489511 <a name="fs-codec-to-string"></a><h3>fs_codec_to_string ()</h3>
490 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * fs_codec_to_string (<em class="parameter"><code>const <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>);</pre>
512 <pre class="programlisting"><span class="returnvalue">gchar</span> * fs_codec_to_string (<em class="parameter"><code>const <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>);</pre>
491513 <p>
492514 Returns a newly-allocated string representing the codec
493515 </p>
509531 <div class="refsect2">
510532 <a name="fs-codec-add-optional-parameter"></a><h3>fs_codec_add_optional_parameter ()</h3>
511533 <pre class="programlisting"><span class="returnvalue">void</span> fs_codec_add_optional_parameter (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>,
512 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
513 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *value</code></em>);</pre>
534 <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
535 <em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);</pre>
514536 <p>
515537 This function adds an new optional parameter to a <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>
516538 </p>
562584 <div class="refsect2">
563585 <a name="fs-codec-get-optional-parameter"></a><h3>fs_codec_get_optional_parameter ()</h3>
564586 <pre class="programlisting"><a class="link" href="farstream-libs-FsCodec.html#FsCodecParameter" title="struct FsCodecParameter"><span class="returnvalue">FsCodecParameter</span></a> * fs_codec_get_optional_parameter (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>,
565 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
566 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *value</code></em>);</pre>
587 <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
588 <em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);</pre>
567589 <p>
568590 Finds the <a class="link" href="farstream-libs-FsCodec.html#FsCodecParameter" title="struct FsCodecParameter"><span class="type">FsCodecParameter</span></a> in the <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> that has the requested name
569 and, if not <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>, the requested value
591 and, if not <code class="literal">NULL</code>, the requested value
570592 </p>
571593 <div class="variablelist"><table border="0">
572594 <col align="left" valign="top">
582604 </tr>
583605 <tr>
584606 <td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
585 <td>The value of the parameter to search for or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> for any value</td>
586 </tr>
587 <tr>
588 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
589 <td>(transfer none) the <a class="link" href="farstream-libs-FsCodec.html#FsCodecParameter" title="struct FsCodecParameter"><span class="type">FsCodecParameter</span></a> from the <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>
607 <td>The value of the parameter to search for or <code class="literal">NULL</code> for any value</td>
608 </tr>
609 <tr>
610 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
611 <td>(transfer none) the <a class="link" href="farstream-libs-FsCodec.html#FsCodecParameter" title="struct FsCodecParameter"><span class="type">FsCodecParameter</span></a> from the <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> or <code class="literal">NULL</code>
590612 </td>
591613 </tr>
592614 </tbody>
606628 <div class="refsect2">
607629 <a name="fs-codec-add-feedback-parameter"></a><h3>fs_codec_add_feedback_parameter ()</h3>
608630 <pre class="programlisting"><span class="returnvalue">void</span> fs_codec_add_feedback_parameter (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>,
609 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type</code></em>,
610 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *subtype</code></em>,
611 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *extra_params</code></em>);</pre>
631 <em class="parameter"><code>const <span class="type">gchar</span> *type</code></em>,
632 <em class="parameter"><code>const <span class="type">gchar</span> *subtype</code></em>,
633 <em class="parameter"><code>const <span class="type">gchar</span> *extra_params</code></em>);</pre>
612634 <p>
613635 This function adds an new feedback parameter to a <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a>
614636 </p>
638660 <div class="refsect2">
639661 <a name="fs-codec-get-feedback-parameter"></a><h3>fs_codec_get_feedback_parameter ()</h3>
640662 <pre class="programlisting"><a class="link" href="farstream-libs-FsCodec.html#FsFeedbackParameter" title="struct FsFeedbackParameter"><span class="returnvalue">FsFeedbackParameter</span></a> * fs_codec_get_feedback_parameter (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>,
641 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type</code></em>,
642 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *subtype</code></em>,
643 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *extra_params</code></em>);</pre>
663 <em class="parameter"><code>const <span class="type">gchar</span> *type</code></em>,
664 <em class="parameter"><code>const <span class="type">gchar</span> *subtype</code></em>,
665 <em class="parameter"><code>const <span class="type">gchar</span> *extra_params</code></em>);</pre>
644666 <p>
645667 Finds the <a class="link" href="farstream-libs-FsCodec.html#FsFeedbackParameter" title="struct FsFeedbackParameter"><span class="type">FsFeedbackParameter</span></a> in the <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> that has the requested
646668 subtype, type and extra_params. One of which must be non-NULL;
655677 </tr>
656678 <tr>
657679 <td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
658 <td>The subtype of the parameter to search for or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> for any type</td>
680 <td>The subtype of the parameter to search for or <code class="literal">NULL</code> for any type</td>
659681 </tr>
660682 <tr>
661683 <td><p><span class="term"><em class="parameter"><code>subtype</code></em> :</span></p></td>
662 <td>The subtype of the parameter to search for or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> for any subtype</td>
684 <td>The subtype of the parameter to search for or <code class="literal">NULL</code> for any subtype</td>
663685 </tr>
664686 <tr>
665687 <td><p><span class="term"><em class="parameter"><code>extra_params</code></em> :</span></p></td>
666 <td>The extra_params of the parameter to search for or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> for
688 <td>The extra_params of the parameter to search for or <code class="literal">NULL</code> for
667689 any extra_params</td>
668690 </tr>
669691 <tr>
670692 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
671 <td>the <a class="link" href="farstream-libs-FsCodec.html#FsFeedbackParameter" title="struct FsFeedbackParameter"><span class="type">FsFeedbackParameter</span></a> from the <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a>
693 <td>the <a class="link" href="farstream-libs-FsCodec.html#FsFeedbackParameter" title="struct FsFeedbackParameter"><span class="type">FsFeedbackParameter</span></a> from the <a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> or <code class="literal">NULL</code>
672694 </td>
673695 </tr>
674696 </tbody>
678700 <div class="refsect2">
679701 <a name="fs-codec-remove-feedback-parameter"></a><h3>fs_codec_remove_feedback_parameter ()</h3>
680702 <pre class="programlisting"><span class="returnvalue">void</span> fs_codec_remove_feedback_parameter (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsCodec" title="struct FsCodec"><span class="type">FsCodec</span></a> *codec</code></em>,
681 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *item</code></em>);</pre>
703 <em class="parameter"><code><span class="type">GList</span> *item</code></em>);</pre>
682704 <p>
683705 Removes an optional parameter from a codec.
684706 </p>
695717 </tr>
696718 <tr>
697719 <td><p><span class="term"><em class="parameter"><code>item</code></em> :</span></p></td>
698 <td>a pointer to the <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> element to remove that contains a
720 <td>a pointer to the <span class="type">GList</span> element to remove that contains a
699721 <a class="link" href="farstream-libs-FsCodec.html#FsFeedbackParameter" title="struct FsFeedbackParameter"><span class="type">FsFeedbackParameter</span></a>. <span class="annotation">[<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>][<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsFeedbackParameter]</span>
700722 </td>
701723 </tr>
740762 <hr>
741763 <div class="refsect2">
742764 <a name="fs-media-type-to-string"></a><h3>fs_media_type_to_string ()</h3>
743 <pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * fs_media_type_to_string (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsMediaType" title="enum FsMediaType"><span class="type">FsMediaType</span></a> media_type</code></em>);</pre>
765 <pre class="programlisting">const <span class="returnvalue">gchar</span> * fs_media_type_to_string (<em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsMediaType" title="enum FsMediaType"><span class="type">FsMediaType</span></a> media_type</code></em>);</pre>
744766 <p>
745767 Gives a user-printable string representing the media type
746768 </p>
762784 </div>
763785 <div class="footer">
764786 <hr>
765 Generated by GTK-Doc V1.18.1</div>
787 Generated by GTK-Doc V1.18</div>
766788 </body>
767789 </html>
66 <link rel="home" href="index.html" title="Farstream Reference Manual">
77 <link rel="up" href="ch05.html" title="Farstream Plugins Infrastructure">
88 <link rel="prev" href="ch05.html" title="Farstream Plugins Infrastructure">
9 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
9 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1010 <link rel="stylesheet" href="style.css" type="text/css">
1111 </head>
1212 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
3939 #include &lt;farstream/fs-plugin.h&gt;
4040
4141 struct <a class="link" href="farstream-libs-FsPlugin.html#FsPlugin" title="struct FsPlugin">FsPlugin</a>;
42 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> * <a class="link" href="farstream-libs-FsPlugin.html#fs-plugin-create-valist" title="fs_plugin_create_valist ()">fs_plugin_create_valist</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
43 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_suffix</code></em>,
44 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
45 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
42 <span class="returnvalue">GObject</span> * <a class="link" href="farstream-libs-FsPlugin.html#fs-plugin-create-valist" title="fs_plugin_create_valist ()">fs_plugin_create_valist</a> (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
43 <em class="parameter"><code>const <span class="type">gchar</span> *type_suffix</code></em>,
44 <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
45 <em class="parameter"><code>const <span class="type">gchar</span> *first_property_name</code></em>,
4646 <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
47 <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> * <a class="link" href="farstream-libs-FsPlugin.html#fs-plugin-create" title="fs_plugin_create ()">fs_plugin_create</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
48 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_suffix</code></em>,
49 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
50 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
47 <span class="returnvalue">GObject</span> * <a class="link" href="farstream-libs-FsPlugin.html#fs-plugin-create" title="fs_plugin_create ()">fs_plugin_create</a> (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
48 <em class="parameter"><code>const <span class="type">gchar</span> *type_suffix</code></em>,
49 <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
50 <em class="parameter"><code>const <span class="type">gchar</span> *first_property_name</code></em>,
5151 <em class="parameter"><code>...</code></em>);
5252 #define <a class="link" href="farstream-libs-FsPlugin.html#FS-INIT-PLUGIN:CAPS" title="FS_INIT_PLUGIN()">FS_INIT_PLUGIN</a> (type_register_func)
53 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> ** <a class="link" href="farstream-libs-FsPlugin.html#fs-plugin-list-available" title="fs_plugin_list_available ()">fs_plugin_list_available</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_suffix</code></em>);
53 <span class="returnvalue">gchar</span> ** <a class="link" href="farstream-libs-FsPlugin.html#fs-plugin-list-available" title="fs_plugin_list_available ()">fs_plugin_list_available</a> (<em class="parameter"><code>const <span class="type">gchar</span> *type_suffix</code></em>);
5454 </pre>
5555 </div>
5656 <div class="refsect1">
7474 <div class="variablelist"><table border="0">
7575 <col align="left" valign="top">
7676 <tbody><tr>
77 <td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/GTypeModule.html"><span class="type">GTypeModule</span></a> <em class="structfield"><code><a name="FsPlugin.parent"></a>parent</code></em>;</span></p></td>
77 <td><p><span class="term"><span class="type">GTypeModule</span> <em class="structfield"><code><a name="FsPlugin.parent"></a>parent</code></em>;</span></p></td>
7878 <td>the parent object</td>
7979 </tr></tbody>
8080 </table></div>
8282 <hr>
8383 <div class="refsect2">
8484 <a name="fs-plugin-create-valist"></a><h3>fs_plugin_create_valist ()</h3>
85 <pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> * fs_plugin_create_valist (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
86 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_suffix</code></em>,
87 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
88 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
85 <pre class="programlisting"><span class="returnvalue">GObject</span> * fs_plugin_create_valist (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
86 <em class="parameter"><code>const <span class="type">gchar</span> *type_suffix</code></em>,
87 <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
88 <em class="parameter"><code>const <span class="type">gchar</span> *first_property_name</code></em>,
8989 <em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
9090 <p>
9191 Loads the appropriate plugin if necessary and creates a GObject of
104104 </tr>
105105 <tr>
106106 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
107 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or NULL if no error occured</td>
107 <td>location of a <span class="type">GError</span>, or NULL if no error occured</td>
108108 </tr>
109109 <tr>
110110 <td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
126126 <hr>
127127 <div class="refsect2">
128128 <a name="fs-plugin-create"></a><h3>fs_plugin_create ()</h3>
129 <pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="returnvalue">GObject</span></a> * fs_plugin_create (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
130 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_suffix</code></em>,
131 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
132 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
129 <pre class="programlisting"><span class="returnvalue">GObject</span> * fs_plugin_create (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
130 <em class="parameter"><code>const <span class="type">gchar</span> *type_suffix</code></em>,
131 <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
132 <em class="parameter"><code>const <span class="type">gchar</span> *first_property_name</code></em>,
133133 <em class="parameter"><code>...</code></em>);</pre>
134134 <p>
135135 Loads the appropriate plugin if necessary and creates a GObject of
148148 </tr>
149149 <tr>
150150 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
151 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or NULL if no error occured</td>
151 <td>location of a <span class="type">GError</span>, or NULL if no error occured</td>
152152 </tr>
153153 <tr>
154154 <td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
179179 <col align="left" valign="top">
180180 <tbody><tr>
181181 <td><p><span class="term"><em class="parameter"><code>type_register_func</code></em> :</span></p></td>
182 <td>A function that register a <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> and returns it</td>
182 <td>A function that register a <span class="type">GType</span> and returns it</td>
183183 </tr></tbody>
184184 </table></div>
185185 </div>
186186 <hr>
187187 <div class="refsect2">
188188 <a name="fs-plugin-list-available"></a><h3>fs_plugin_list_available ()</h3>
189 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> ** fs_plugin_list_available (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *type_suffix</code></em>);</pre>
189 <pre class="programlisting"><span class="returnvalue">gchar</span> ** fs_plugin_list_available (<em class="parameter"><code>const <span class="type">gchar</span> *type_suffix</code></em>);</pre>
190190 <p>
191191 Gets the list of all available plugins of a certain type
192192 </p>
200200 <tr>
201201 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
202202 <td>a newly allocated NULL terminated array of
203 strings or <a href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> if no strings were found.
204 It should be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a>. <span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span>
203 strings or <code class="literal">NULL</code> if no strings were found.
204 It should be freed with <code class="function">g_strfreev()</code>. <span class="annotation">[<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span>
205205 </td>
206206 </tr>
207207 </tbody>
211211 </div>
212212 <div class="footer">
213213 <hr>
214 Generated by GTK-Doc V1.18.1</div>
214 Generated by GTK-Doc V1.18</div>
215215 </body>
216216 </html>
77 <link rel="up" href="ch02.html" title="Protocol Specific types">
88 <link rel="prev" href="ch02.html" title="Protocol Specific types">
99 <link rel="next" href="ch03.html" title="Farstream Utility Functions and Objects">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
4040 #include &lt;farstream/fs-rtp.h&gt;
4141
4242 <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension">FsRtpHeaderExtension</a>;
43 <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="returnvalue">FsRtpHeaderExtension</span></a> * <a class="link" href="farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-new" title="fs_rtp_header_extension_new ()">fs_rtp_header_extension_new</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> id</code></em>,
43 <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="returnvalue">FsRtpHeaderExtension</span></a> * <a class="link" href="farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-new" title="fs_rtp_header_extension_new ()">fs_rtp_header_extension_new</a> (<em class="parameter"><code><span class="type">guint</span> id</code></em>,
4444 <em class="parameter"><code><a class="link" href="FsStream.html#FsStreamDirection" title="enum FsStreamDirection"><span class="type">FsStreamDirection</span></a> direction</code></em>,
45 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);
45 <em class="parameter"><code>const <span class="type">gchar</span> *uri</code></em>);
4646 <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="returnvalue">FsRtpHeaderExtension</span></a> * <a class="link" href="farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-copy" title="fs_rtp_header_extension_copy ()">fs_rtp_header_extension_copy</a> (<em class="parameter"><code><a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a> *extension</code></em>);
4747 <span class="returnvalue">void</span> <a class="link" href="farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-destroy" title="fs_rtp_header_extension_destroy ()">fs_rtp_header_extension_destroy</a> (<em class="parameter"><code><a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a> *extension</code></em>);
48 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-are-equal" title="fs_rtp_header_extension_are_equal ()">fs_rtp_header_extension_are_equal</a> (<em class="parameter"><code><a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a> *extension1</code></em>,
48 <span class="returnvalue">gboolean</span> <a class="link" href="farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-are-equal" title="fs_rtp_header_extension_are_equal ()">fs_rtp_header_extension_are_equal</a> (<em class="parameter"><code><a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a> *extension1</code></em>,
4949 <em class="parameter"><code><a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a> *extension2</code></em>);
50 <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-list-copy" title="fs_rtp_header_extension_list_copy ()">fs_rtp_header_extension_list_copy</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *extensions</code></em>);
50 <span class="returnvalue">GList</span> * <a class="link" href="farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-list-copy" title="fs_rtp_header_extension_list_copy ()">fs_rtp_header_extension_list_copy</a> (<em class="parameter"><code><span class="type">GList</span> *extensions</code></em>);
5151 <span class="returnvalue">void</span> <a class="link" href="farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-list-destroy" title="fs_rtp_header_extension_list_destroy ()">fs_rtp_header_extension_list_destroy</a>
52 (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *extensions</code></em>);
53 <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-list-from-keyfile" title="fs_rtp_header_extension_list_from_keyfile ()">fs_rtp_header_extension_list_from_keyfile</a>
54 (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filename</code></em>,
52 (<em class="parameter"><code><span class="type">GList</span> *extensions</code></em>);
53 <span class="returnvalue">GList</span> * <a class="link" href="farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-list-from-keyfile" title="fs_rtp_header_extension_list_from_keyfile ()">fs_rtp_header_extension_list_from_keyfile</a>
54 (<em class="parameter"><code>const <span class="type">gchar</span> *filename</code></em>,
5555 <em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsMediaType" title="enum FsMediaType"><span class="type">FsMediaType</span></a> media_type</code></em>,
56 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
56 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
5757 #define <a class="link" href="farstream-libs-RTP-Specific-types.html#FS-RTP-HEADER-EXTENSION-FORMAT:CAPS" title="FS_RTP_HEADER_EXTENSION_FORMAT">FS_RTP_HEADER_EXTENSION_FORMAT</a>
5858 #define <a class="link" href="farstream-libs-RTP-Specific-types.html#FS-RTP-HEADER-EXTENSION-ARGS:CAPS" title="FS_RTP_HEADER_EXTENSION_ARGS()">FS_RTP_HEADER_EXTENSION_ARGS</a> (hdrext)
5959 </pre>
7979 <col align="left" valign="top">
8080 <tbody>
8181 <tr>
82 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="FsRtpHeaderExtension.id"></a>id</code></em>;</span></p></td>
82 <td><p><span class="term"><span class="type">guint</span> <em class="structfield"><code><a name="FsRtpHeaderExtension.id"></a>id</code></em>;</span></p></td>
8383 <td>The identifier of the RTP header extension</td>
8484 </tr>
8585 <tr>
8787 <td>the direction in which this extension can be used</td>
8888 </tr>
8989 <tr>
90 <td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="FsRtpHeaderExtension.uri"></a>uri</code></em>;</span></p></td>
90 <td><p><span class="term"><span class="type">gchar</span> *<em class="structfield"><code><a name="FsRtpHeaderExtension.uri"></a>uri</code></em>;</span></p></td>
9191 <td>The URI that defines this extension</td>
9292 </tr>
9393 </tbody>
9696 <hr>
9797 <div class="refsect2">
9898 <a name="fs-rtp-header-extension-new"></a><h3>fs_rtp_header_extension_new ()</h3>
99 <pre class="programlisting"><a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="returnvalue">FsRtpHeaderExtension</span></a> * fs_rtp_header_extension_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> id</code></em>,
99 <pre class="programlisting"><a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="returnvalue">FsRtpHeaderExtension</span></a> * fs_rtp_header_extension_new (<em class="parameter"><code><span class="type">guint</span> id</code></em>,
100100 <em class="parameter"><code><a class="link" href="FsStream.html#FsStreamDirection" title="enum FsStreamDirection"><span class="type">FsStreamDirection</span></a> direction</code></em>,
101 <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</pre>
101 <em class="parameter"><code>const <span class="type">gchar</span> *uri</code></em>);</pre>
102102 <p>
103103 Creates a new <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a>
104104 </p>
129129 <div class="refsect2">
130130 <a name="fs-rtp-header-extension-copy"></a><h3>fs_rtp_header_extension_copy ()</h3>
131131 <pre class="programlisting"><a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="returnvalue">FsRtpHeaderExtension</span></a> * fs_rtp_header_extension_copy (<em class="parameter"><code><a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a> *extension</code></em>);</pre>
132 <p>
133 Copies a <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a>
134 </p>
135 <div class="variablelist"><table border="0">
136 <col align="left" valign="top">
137 <tbody>
138 <tr>
139 <td><p><span class="term"><em class="parameter"><code>extension</code></em> :</span></p></td>
140 <td>The RTP header extension definition to copy</td>
141 </tr>
142 <tr>
143 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
144 <td>a new <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a>
145 </td>
146 </tr>
147 </tbody>
148 </table></div>
132149 </div>
133150 <hr>
134151 <div class="refsect2">
135152 <a name="fs-rtp-header-extension-destroy"></a><h3>fs_rtp_header_extension_destroy ()</h3>
136153 <pre class="programlisting"><span class="returnvalue">void</span> fs_rtp_header_extension_destroy (<em class="parameter"><code><a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a> *extension</code></em>);</pre>
154 <p>
155 Frees the passed <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a>
156 </p>
157 <div class="variablelist"><table border="0">
158 <col align="left" valign="top">
159 <tbody><tr>
160 <td><p><span class="term"><em class="parameter"><code>extension</code></em> :</span></p></td>
161 <td>A RTP header extension to free</td>
162 </tr></tbody>
163 </table></div>
137164 </div>
138165 <hr>
139166 <div class="refsect2">
140167 <a name="fs-rtp-header-extension-are-equal"></a><h3>fs_rtp_header_extension_are_equal ()</h3>
141 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> fs_rtp_header_extension_are_equal (<em class="parameter"><code><a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a> *extension1</code></em>,
168 <pre class="programlisting"><span class="returnvalue">gboolean</span> fs_rtp_header_extension_are_equal (<em class="parameter"><code><a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a> *extension1</code></em>,
142169 <em class="parameter"><code><a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a> *extension2</code></em>);</pre>
143170 <p>
144171 Compares two <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a> structures
159186 <tr>
160187 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
161188 <td>
162 <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if they are identical, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
189 <code class="literal">TRUE</code> if they are identical, <code class="literal">FALSE</code> otherwise</td>
163190 </tr>
164191 </tbody>
165192 </table></div>
167194 <hr>
168195 <div class="refsect2">
169196 <a name="fs-rtp-header-extension-list-copy"></a><h3>fs_rtp_header_extension_list_copy ()</h3>
170 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * fs_rtp_header_extension_list_copy (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *extensions</code></em>);</pre>
171 <p>
172 Does a deep copy of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a>
197 <pre class="programlisting"><span class="returnvalue">GList</span> * fs_rtp_header_extension_list_copy (<em class="parameter"><code><span class="type">GList</span> *extensions</code></em>);</pre>
198 <p>
199 Does a deep copy of a <span class="type">GList</span> of <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a>
173200 </p>
174201 <div class="variablelist"><table border="0">
175202 <col align="left" valign="top">
176203 <tbody>
177204 <tr>
178205 <td><p><span class="term"><em class="parameter"><code>extensions</code></em> :</span></p></td>
179 <td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a>. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsRtpHeaderExtension][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span>
206 <td>a <span class="type">GList</span> of <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a>. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsRtpHeaderExtension][<a href="http://foldoc.org/transfer%20none"><span class="acronym">transfer none</span></a>]</span>
180207 </td>
181208 </tr>
182209 <tr>
183210 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
184211 <td>a new
185 <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a>. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsRtpHeaderExtension][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span>
212 <span class="type">GList</span> of <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a>. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsRtpHeaderExtension][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span>
186213 </td>
187214 </tr>
188215 </tbody>
192219 <div class="refsect2">
193220 <a name="fs-rtp-header-extension-list-destroy"></a><h3>fs_rtp_header_extension_list_destroy ()</h3>
194221 <pre class="programlisting"><span class="returnvalue">void</span> fs_rtp_header_extension_list_destroy
195 (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *extensions</code></em>);</pre>
222 (<em class="parameter"><code><span class="type">GList</span> *extensions</code></em>);</pre>
223 <p>
224 Frees the passed <span class="type">GList</span> of <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a>
225 </p>
226 <div class="variablelist"><table border="0">
227 <col align="left" valign="top">
228 <tbody><tr>
229 <td><p><span class="term"><em class="parameter"><code>extensions</code></em> :</span></p></td>
230 <td>a <span class="type">GList</span> of <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a>
231 </td>
232 </tr></tbody>
233 </table></div>
196234 </div>
197235 <hr>
198236 <div class="refsect2">
199237 <a name="fs-rtp-header-extension-list-from-keyfile"></a><h3>fs_rtp_header_extension_list_from_keyfile ()</h3>
200 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * fs_rtp_header_extension_list_from_keyfile
201 (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filename</code></em>,
238 <pre class="programlisting"><span class="returnvalue">GList</span> * fs_rtp_header_extension_list_from_keyfile
239 (<em class="parameter"><code>const <span class="type">gchar</span> *filename</code></em>,
202240 <em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsMediaType" title="enum FsMediaType"><span class="type">FsMediaType</span></a> media_type</code></em>,
203 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
204 <p>
205 Reads the content of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="type">GKeyFile</span></a> of the following format into a
206 <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a> structures.
241 <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
242 <p>
243 Reads the content of a <span class="type">GKeyFile</span> of the following format into a
244 <span class="type">GList</span> of <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a> structures.
207245 </p>
208246 <p>
209247 The groups have a format "rtp-hdrext:audio:XXX" or
256294 <tbody>
257295 <tr>
258296 <td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
259 <td>Name of the <a href="http://library.gnome.org/devel/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="type">GKeyFile</span></a> to read the RTP Header Extensions from</td>
297 <td>Name of the <span class="type">GKeyFile</span> to read the RTP Header Extensions from</td>
260298 </tr>
261299 <tr>
262300 <td><p><span class="term"><em class="parameter"><code>media_type</code></em> :</span></p></td>
264302 </tr>
265303 <tr>
266304 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
267 <td>location of a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or NULL if no error occured</td>
305 <td>location of a <span class="type">GError</span>, or NULL if no error occured</td>
268306 </tr>
269307 <tr>
270308 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
271309 <td>a
272 <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a> that must be freed with
310 <span class="type">GList</span> of <a class="link" href="farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension" title="FsRtpHeaderExtension"><span class="type">FsRtpHeaderExtension</span></a> that must be freed with
273311 <a class="link" href="farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-list-destroy" title="fs_rtp_header_extension_list_destroy ()"><code class="function">fs_rtp_header_extension_list_destroy()</code></a>. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsRtpHeaderExtension][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span>
274312 </td>
275313 </tr>
306344 </div>
307345 <div class="footer">
308346 <hr>
309 Generated by GTK-Doc V1.18.1</div>
347 Generated by GTK-Doc V1.18</div>
310348 </body>
311349 </html>
77 <link rel="up" href="ch03.html" title="Farstream Utility Functions and Objects">
88 <link rel="prev" href="FsElementAddedNotifier.html" title="FsElementAddedNotifier">
99 <link rel="next" href="pt02.html" title="Part II. Classes used to implement Farstream plugins">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
4040 #include &lt;farstream/fs-utils.h&gt;
4141
4242 <span class="returnvalue">void</span> <a class="link" href="farstream-libs-Utility-functions.html#fs-utils-set-bitrate" title="fs_utils_set_bitrate ()">fs_utils_set_bitrate</a> (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
43 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#glong"><span class="type">glong</span></a> bitrate</code></em>);
44 <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="farstream-libs-Utility-functions.html#fs-utils-get-default-codec-preferences" title="fs_utils_get_default_codec_preferences ()">fs_utils_get_default_codec_preferences</a>
43 <em class="parameter"><code><span class="type">glong</span> bitrate</code></em>);
44 <span class="returnvalue">GList</span> * <a class="link" href="farstream-libs-Utility-functions.html#fs-utils-get-default-codec-preferences" title="fs_utils_get_default_codec_preferences ()">fs_utils_get_default_codec_preferences</a>
4545 (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);
46 <a href="http://library.gnome.org/devel/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="returnvalue">GKeyFile</span></a> * <a class="link" href="farstream-libs-Utility-functions.html#fs-utils-get-default-element-properties" title="fs_utils_get_default_element_properties ()">fs_utils_get_default_element_properties</a>
46 <span class="returnvalue">GKeyFile</span> * <a class="link" href="farstream-libs-Utility-functions.html#fs-utils-get-default-element-properties" title="fs_utils_get_default_element_properties ()">fs_utils_get_default_element_properties</a>
4747 (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);
48 <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="farstream-libs-Utility-functions.html#fs-utils-get-default-rtp-header-extension-preferences" title="fs_utils_get_default_rtp_header_extension_preferences ()">fs_utils_get_default_rtp_header_extension_preferences</a>
48 <span class="returnvalue">GList</span> * <a class="link" href="farstream-libs-Utility-functions.html#fs-utils-get-default-rtp-header-extension-preferences" title="fs_utils_get_default_rtp_header_extension_preferences ()">fs_utils_get_default_rtp_header_extension_preferences</a>
4949 (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
5050 <em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsMediaType" title="enum FsMediaType"><span class="type">FsMediaType</span></a> media_type</code></em>);
5151 </pre>
5858 <div class="refsect2">
5959 <a name="fs-utils-set-bitrate"></a><h3>fs_utils_set_bitrate ()</h3>
6060 <pre class="programlisting"><span class="returnvalue">void</span> fs_utils_set_bitrate (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
61 <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#glong"><span class="type">glong</span></a> bitrate</code></em>);</pre>
61 <em class="parameter"><code><span class="type">glong</span> bitrate</code></em>);</pre>
6262 <p>
6363 This allows setting the bitrate on all elements that have a "bitrate"
6464 property without having to know the type or of the unit used by that element.
8585 <hr>
8686 <div class="refsect2">
8787 <a name="fs-utils-get-default-codec-preferences"></a><h3>fs_utils_get_default_codec_preferences ()</h3>
88 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * fs_utils_get_default_codec_preferences
88 <pre class="programlisting"><span class="returnvalue">GList</span> * fs_utils_get_default_codec_preferences
8989 (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);</pre>
9090 <p>
9191 These default codec preferences should work with the elements that are
102102 <tr>
103103 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
104104 <td>The default codec preferences for this plugin.
105 This <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> should be freed with <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-destroy" title="fs_codec_list_destroy ()"><code class="function">fs_codec_list_destroy()</code></a>. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodec][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span>
105 This <span class="type">GList</span> should be freed with <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-destroy" title="fs_codec_list_destroy ()"><code class="function">fs_codec_list_destroy()</code></a>. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodec][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span>
106106 </td>
107107 </tr>
108108 </tbody>
111111 <hr>
112112 <div class="refsect2">
113113 <a name="fs-utils-get-default-element-properties"></a><h3>fs_utils_get_default_element_properties ()</h3>
114 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Key-value-file-parser.html#GKeyFile"><span class="returnvalue">GKeyFile</span></a> * fs_utils_get_default_element_properties
114 <pre class="programlisting"><span class="returnvalue">GKeyFile</span> * fs_utils_get_default_element_properties
115115 (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>);</pre>
116 <p>
117 This function produces a <span class="type">GKeyFile</span> that can be fed to
118 <a class="link" href="FsElementAddedNotifier.html#fs-element-added-notifier-set-properties-from-keyfile" title="fs_element_added_notifier_set_properties_from_keyfile ()"><code class="function">fs_element_added_notifier_set_properties_from_keyfile()</code></a>. If no
119 default properties have been found, it will return <code class="literal">NULL</code>.
120 </p>
121 <div class="variablelist"><table border="0">
122 <col align="left" valign="top">
123 <tbody>
124 <tr>
125 <td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
126 <td>Element for which to fetch default element properties</td>
127 </tr>
128 <tr>
129 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
130 <td>a <span class="type">GKeyFile</span> containing the default element
131 properties for this element or <code class="literal">NULL</code> if no properties were found.
132 Caller must free the <span class="type">GKeyFile</span> when he is done.</td>
133 </tr>
134 </tbody>
135 </table></div>
116136 </div>
117137 <hr>
118138 <div class="refsect2">
119139 <a name="fs-utils-get-default-rtp-header-extension-preferences"></a><h3>fs_utils_get_default_rtp_header_extension_preferences ()</h3>
120 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * fs_utils_get_default_rtp_header_extension_preferences
140 <pre class="programlisting"><span class="returnvalue">GList</span> * fs_utils_get_default_rtp_header_extension_preferences
121141 (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> *element</code></em>,
122142 <em class="parameter"><code><a class="link" href="farstream-libs-FsCodec.html#FsMediaType" title="enum FsMediaType"><span class="type">FsMediaType</span></a> media_type</code></em>);</pre>
123143 <p>
140160 <tr>
141161 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
142162 <td>The default rtp
143 header extension preferences for this plugin, this <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> should be
163 header extension preferences for this plugin, this <span class="type">GList</span> should be
144164 freed with <a class="link" href="farstream-libs-FsCodec.html#fs-codec-list-destroy" title="fs_codec_list_destroy ()"><code class="function">fs_codec_list_destroy()</code></a>. <span class="annotation">[<a href="http://foldoc.org/element-type"><span class="acronym">element-type</span></a> FsCodec][<a href="http://foldoc.org/transfer%20full"><span class="acronym">transfer full</span></a>]</span>
145165 </td>
146166 </tr>
151171 </div>
152172 <div class="footer">
153173 <hr>
154 Generated by GTK-Doc V1.18.1</div>
174 Generated by GTK-Doc V1.18</div>
155175 </body>
156176 </html>
2929 </sub>
3030 </chapters>
3131 <functions>
32 <keyword type="" name="The &quot;farstream-error&quot; message" link="FsConference.html#id373643"/>
32 <keyword type="" name="The &quot;farstream-error&quot; message" link="FsConference.html#id318855"/>
3333 <keyword type="struct" name="struct FsConference" link="FsConference.html#FsConference-struct"/>
3434 <keyword type="function" name="fs_conference_new_session ()" link="FsConference.html#fs-conference-new-session"/>
3535 <keyword type="function" name="fs_conference_new_participant ()" link="FsConference.html#fs-conference-new-participant"/>
4141 <keyword type="struct" name="struct FsParticipantClass" link="FsParticipant.html#FsParticipantClass"/>
4242 <keyword type="macro" name="FS_PARTICIPANT_DATA_LOCK()" link="FsParticipant.html#FS-PARTICIPANT-DATA-LOCK:CAPS"/>
4343 <keyword type="macro" name="FS_PARTICIPANT_DATA_UNLOCK()" link="FsParticipant.html#FS-PARTICIPANT-DATA-UNLOCK:CAPS"/>
44 <keyword type="" name="The &quot;farstream-send-codec-changed&quot;&#10; message" link="FsSession.html#id421225"/>
45 <keyword type="" name="The &quot;farstream-codecs-changed&quot;&#10; message" link="FsSession.html#id421337"/>
46 <keyword type="" name="The &quot;farstream-telephony-event-started&quot;&#10; message" link="FsSession.html#id421406"/>
47 <keyword type="" name="The &quot;farstream-telephony-event-stopped&quot;&#10; message" link="FsSession.html#id421513"/>
44 <keyword type="" name="The &quot;farstream-send-codec-changed&quot;&#10; message" link="FsSession.html#id366067"/>
45 <keyword type="" name="The &quot;farstream-codecs-changed&quot;&#10; message" link="FsSession.html#id366178"/>
46 <keyword type="" name="The &quot;farstream-telephony-event-started&quot;&#10; message" link="FsSession.html#id366248"/>
47 <keyword type="" name="The &quot;farstream-telephony-event-stopped&quot;&#10; message" link="FsSession.html#id366354"/>
4848 <keyword type="struct" name="FsSession" link="FsSession.html#FsSession-struct"/>
4949 <keyword type="struct" name="struct FsSessionClass" link="FsSession.html#FsSessionClass"/>
5050 <keyword type="enum" name="enum FsDTMFEvent" link="FsSession.html#FsDTMFEvent"/>
7373 <keyword type="property" name="The &quot;sink-pad&quot; property" link="FsSession.html#FsSession--sink-pad"/>
7474 <keyword type="property" name="The &quot;tos&quot; property" link="FsSession.html#FsSession--tos"/>
7575 <keyword type="signal" name="The &quot;error&quot; signal" link="FsSession.html#FsSession-error"/>
76 <keyword type="" name="The &quot;farstream-new-local-candidate&quot; message" link="FsStream.html#id453420"/>
77 <keyword type="" name="The &quot;farstream-local-candidates-prepared&quot; message" link="FsStream.html#id453456"/>
78 <keyword type="" name="The &quot;farstream-new-active-candidate-pair&quot; message" link="FsStream.html#id453486"/>
79 <keyword type="" name="The &quot;farstream-recv-codecs-changed&quot; message" link="FsStream.html#id453530"/>
80 <keyword type="" name="The &quot;farstream-component-state-changed&quot; message" link="FsStream.html#id453594"/>
76 <keyword type="" name="The &quot;farstream-new-local-candidate&quot; message" link="FsStream.html#id398284"/>
77 <keyword type="" name="The &quot;farstream-local-candidates-prepared&quot; message" link="FsStream.html#id398320"/>
78 <keyword type="" name="The &quot;farstream-new-active-candidate-pair&quot; message" link="FsStream.html#id398350"/>
79 <keyword type="" name="The &quot;farstream-recv-codecs-changed&quot; message" link="FsStream.html#id398394"/>
80 <keyword type="" name="The &quot;farstream-component-state-changed&quot; message" link="FsStream.html#id398458"/>
8181 <keyword type="struct" name="FsStream" link="FsStream.html#FsStream-struct"/>
8282 <keyword type="struct" name="struct FsStreamClass" link="FsStream.html#FsStreamClass"/>
8383 <keyword type="enum" name="enum FsStreamDirection" link="FsStream.html#FsStreamDirection"/>
55 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
66 <link rel="home" href="index.html" title="Farstream Reference Manual">
77 <link rel="next" href="pt01.html" title="Part I. User-oriented classes, interfaces and functions">
8 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
8 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
99 <link rel="stylesheet" href="style.css" type="text/css">
1010 </head>
1111 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
1414 <div>
1515 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">Farstream Reference Manual</p></th></tr></table></div>
1616 <div><p class="releaseinfo">
17 for version 0.1.2.
17 for version 0.1.91.
1818 The latest version of this documentation can be found on-line at
19 <a class="ulink" href="http://farstream.freedesktop.org/apidoc/farstream/" target="_top">http://farstream.freedesktop.org/apidoc/farstream/</a>.
19 <a class="ulink" href="http://www.freedesktop.org/software/farstream/apidoc/farstream/" target="_top">http://www.freedesktop.org/software/farstream/apidoc/farstream/</a>.
2020 The bases classes are implemented by multiple plugins described in
2121 the <a class="ulink" href="http://farstream.freedesktop.org/apidoc/farstream-plugins/" target="_top">Farstream Plugins Manual</a>.
2222 </p></div>
8282 </div>
8383 <div class="footer">
8484 <hr>
85 Generated by GTK-Doc V1.18.1</div>
85 Generated by GTK-Doc V1.18</div>
8686 </body>
8787 </html>
0 <ONLINE href="http://farstream.freedesktop.org/apidoc/farstream/">
1 <ANCHOR id="FsConference" href="farstream-libs-0.10/FsConference.html">
2 <ANCHOR id="FsConference.synopsis" href="farstream-libs-0.10/FsConference.html#FsConference.synopsis">
3 <ANCHOR id="FsConference.object-hierarchy" href="farstream-libs-0.10/FsConference.html#FsConference.object-hierarchy">
4 <ANCHOR id="FsConference.implemented-interfaces" href="farstream-libs-0.10/FsConference.html#FsConference.implemented-interfaces">
5 <ANCHOR id="FsConference.description" href="farstream-libs-0.10/FsConference.html#FsConference.description">
6 <ANCHOR id="FsConference.details" href="farstream-libs-0.10/FsConference.html#FsConference.details">
7 <ANCHOR id="FsConference-struct" href="farstream-libs-0.10/FsConference.html#FsConference-struct">
8 <ANCHOR id="fs-conference-new-session" href="farstream-libs-0.10/FsConference.html#fs-conference-new-session">
9 <ANCHOR id="fs-conference-new-participant" href="farstream-libs-0.10/FsConference.html#fs-conference-new-participant">
10 <ANCHOR id="FS-ERROR:CAPS" href="farstream-libs-0.10/FsConference.html#FS-ERROR:CAPS">
11 <ANCHOR id="FsError" href="farstream-libs-0.10/FsConference.html#FsError">
12 <ANCHOR id="FS-ERROR-CONSTRUCTION:CAPS" href="farstream-libs-0.10/FsConference.html#FS-ERROR-CONSTRUCTION:CAPS">
13 <ANCHOR id="FS-ERROR-INTERNAL:CAPS" href="farstream-libs-0.10/FsConference.html#FS-ERROR-INTERNAL:CAPS">
14 <ANCHOR id="FS-ERROR-INVALID-ARGUMENTS:CAPS" href="farstream-libs-0.10/FsConference.html#FS-ERROR-INVALID-ARGUMENTS:CAPS">
15 <ANCHOR id="FS-ERROR-NETWORK:CAPS" href="farstream-libs-0.10/FsConference.html#FS-ERROR-NETWORK:CAPS">
16 <ANCHOR id="FS-ERROR-NOT-IMPLEMENTED:CAPS" href="farstream-libs-0.10/FsConference.html#FS-ERROR-NOT-IMPLEMENTED:CAPS">
17 <ANCHOR id="FS-ERROR-NEGOTIATION-FAILED:CAPS" href="farstream-libs-0.10/FsConference.html#FS-ERROR-NEGOTIATION-FAILED:CAPS">
18 <ANCHOR id="FS-ERROR-UNKNOWN-CODEC:CAPS" href="farstream-libs-0.10/FsConference.html#FS-ERROR-UNKNOWN-CODEC:CAPS">
19 <ANCHOR id="FS-ERROR-NO-CODECS:CAPS" href="farstream-libs-0.10/FsConference.html#FS-ERROR-NO-CODECS:CAPS">
20 <ANCHOR id="FS-ERROR-NO-CODECS-LEFT:CAPS" href="farstream-libs-0.10/FsConference.html#FS-ERROR-NO-CODECS-LEFT:CAPS">
21 <ANCHOR id="FS-ERROR-CONNECTION-FAILED:CAPS" href="farstream-libs-0.10/FsConference.html#FS-ERROR-CONNECTION-FAILED:CAPS">
22 <ANCHOR id="FS-ERROR-DISPOSED:CAPS" href="farstream-libs-0.10/FsConference.html#FS-ERROR-DISPOSED:CAPS">
23 <ANCHOR id="FS-ERROR-ALREADY-EXISTS:CAPS" href="farstream-libs-0.10/FsConference.html#FS-ERROR-ALREADY-EXISTS:CAPS">
24 <ANCHOR id="FS-ERROR-IS-FATAL:CAPS" href="farstream-libs-0.10/FsConference.html#FS-ERROR-IS-FATAL:CAPS">
25 <ANCHOR id="fs-parse-error" href="farstream-libs-0.10/FsConference.html#fs-parse-error">
26 <ANCHOR id="FsParticipant" href="farstream-libs-0.10/FsParticipant.html">
27 <ANCHOR id="FsParticipant.synopsis" href="farstream-libs-0.10/FsParticipant.html#FsParticipant.synopsis">
28 <ANCHOR id="FsParticipant.object-hierarchy" href="farstream-libs-0.10/FsParticipant.html#FsParticipant.object-hierarchy">
29 <ANCHOR id="FsParticipant.description" href="farstream-libs-0.10/FsParticipant.html#FsParticipant.description">
30 <ANCHOR id="FsParticipant.details" href="farstream-libs-0.10/FsParticipant.html#FsParticipant.details">
31 <ANCHOR id="FsParticipant-struct" href="farstream-libs-0.10/FsParticipant.html#FsParticipant-struct">
32 <ANCHOR id="FsParticipantClass" href="farstream-libs-0.10/FsParticipant.html#FsParticipantClass">
33 <ANCHOR id="FS-PARTICIPANT-DATA-LOCK:CAPS" href="farstream-libs-0.10/FsParticipant.html#FS-PARTICIPANT-DATA-LOCK:CAPS">
34 <ANCHOR id="FS-PARTICIPANT-DATA-UNLOCK:CAPS" href="farstream-libs-0.10/FsParticipant.html#FS-PARTICIPANT-DATA-UNLOCK:CAPS">
35 <ANCHOR id="FsSession" href="farstream-libs-0.10/FsSession.html">
36 <ANCHOR id="FsSession.synopsis" href="farstream-libs-0.10/FsSession.html#FsSession.synopsis">
37 <ANCHOR id="FsSession.object-hierarchy" href="farstream-libs-0.10/FsSession.html#FsSession.object-hierarchy">
38 <ANCHOR id="FsSession.properties" href="farstream-libs-0.10/FsSession.html#FsSession.properties">
39 <ANCHOR id="FsSession.signals" href="farstream-libs-0.10/FsSession.html#FsSession.signals">
40 <ANCHOR id="FsSession.description" href="farstream-libs-0.10/FsSession.html#FsSession.description">
41 <ANCHOR id="FsSession.details" href="farstream-libs-0.10/FsSession.html#FsSession.details">
42 <ANCHOR id="FsSession-struct" href="farstream-libs-0.10/FsSession.html#FsSession-struct">
43 <ANCHOR id="FsSessionClass" href="farstream-libs-0.10/FsSession.html#FsSessionClass">
44 <ANCHOR id="FsDTMFEvent" href="farstream-libs-0.10/FsSession.html#FsDTMFEvent">
45 <ANCHOR id="FsDTMFMethod" href="farstream-libs-0.10/FsSession.html#FsDTMFMethod">
46 <ANCHOR id="FS-DTMF-METHOD-RTP-RFC4733:CAPS" href="farstream-libs-0.10/FsSession.html#FS-DTMF-METHOD-RTP-RFC4733:CAPS">
47 <ANCHOR id="FS-DTMF-METHOD-SOUND:CAPS" href="farstream-libs-0.10/FsSession.html#FS-DTMF-METHOD-SOUND:CAPS">
48 <ANCHOR id="fs-session-new-stream" href="farstream-libs-0.10/FsSession.html#fs-session-new-stream">
49 <ANCHOR id="fs-session-set-codec-preferences" href="farstream-libs-0.10/FsSession.html#fs-session-set-codec-preferences">
50 <ANCHOR id="fs-session-destroy" href="farstream-libs-0.10/FsSession.html#fs-session-destroy">
51 <ANCHOR id="fs-session-start-telephony-event" href="farstream-libs-0.10/FsSession.html#fs-session-start-telephony-event">
52 <ANCHOR id="fs-session-stop-telephony-event" href="farstream-libs-0.10/FsSession.html#fs-session-stop-telephony-event">
53 <ANCHOR id="fs-session-set-send-codec" href="farstream-libs-0.10/FsSession.html#fs-session-set-send-codec">
54 <ANCHOR id="fs-session-list-transmitters" href="farstream-libs-0.10/FsSession.html#fs-session-list-transmitters">
55 <ANCHOR id="fs-session-get-stream-transmitter-type" href="farstream-libs-0.10/FsSession.html#fs-session-get-stream-transmitter-type">
56 <ANCHOR id="fs-session-codecs-need-resend" href="farstream-libs-0.10/FsSession.html#fs-session-codecs-need-resend">
57 <ANCHOR id="fs-session-emit-error" href="farstream-libs-0.10/FsSession.html#fs-session-emit-error">
58 <ANCHOR id="fs-session-parse-codecs-changed" href="farstream-libs-0.10/FsSession.html#fs-session-parse-codecs-changed">
59 <ANCHOR id="fs-session-parse-send-codec-changed" href="farstream-libs-0.10/FsSession.html#fs-session-parse-send-codec-changed">
60 <ANCHOR id="fs-session-parse-telephony-event-started" href="farstream-libs-0.10/FsSession.html#fs-session-parse-telephony-event-started">
61 <ANCHOR id="fs-session-parse-telephony-event-stopped" href="farstream-libs-0.10/FsSession.html#fs-session-parse-telephony-event-stopped">
62 <ANCHOR id="FsSession.property-details" href="farstream-libs-0.10/FsSession.html#FsSession.property-details">
63 <ANCHOR id="FsSession--codec-preferences" href="farstream-libs-0.10/FsSession.html#FsSession--codec-preferences">
64 <ANCHOR id="FsSession--codecs" href="farstream-libs-0.10/FsSession.html#FsSession--codecs">
65 <ANCHOR id="FsSession--codecs-without-config" href="farstream-libs-0.10/FsSession.html#FsSession--codecs-without-config">
66 <ANCHOR id="FsSession--conference" href="farstream-libs-0.10/FsSession.html#FsSession--conference">
67 <ANCHOR id="FsSession--current-send-codec" href="farstream-libs-0.10/FsSession.html#FsSession--current-send-codec">
68 <ANCHOR id="FsSession--id" href="farstream-libs-0.10/FsSession.html#FsSession--id">
69 <ANCHOR id="FsSession--media-type" href="farstream-libs-0.10/FsSession.html#FsSession--media-type">
70 <ANCHOR id="FsSession--sink-pad" href="farstream-libs-0.10/FsSession.html#FsSession--sink-pad">
71 <ANCHOR id="FsSession--tos" href="farstream-libs-0.10/FsSession.html#FsSession--tos">
72 <ANCHOR id="FsSession.signal-details" href="farstream-libs-0.10/FsSession.html#FsSession.signal-details">
73 <ANCHOR id="FsSession-error" href="farstream-libs-0.10/FsSession.html#FsSession-error">
74 <ANCHOR id="FsStream" href="farstream-libs-0.10/FsStream.html">
75 <ANCHOR id="FsStream.synopsis" href="farstream-libs-0.10/FsStream.html#FsStream.synopsis">
76 <ANCHOR id="FsStream.object-hierarchy" href="farstream-libs-0.10/FsStream.html#FsStream.object-hierarchy">
77 <ANCHOR id="FsStream.properties" href="farstream-libs-0.10/FsStream.html#FsStream.properties">
78 <ANCHOR id="FsStream.signals" href="farstream-libs-0.10/FsStream.html#FsStream.signals">
79 <ANCHOR id="FsStream.description" href="farstream-libs-0.10/FsStream.html#FsStream.description">
80 <ANCHOR id="FsStream.details" href="farstream-libs-0.10/FsStream.html#FsStream.details">
81 <ANCHOR id="FsStream-struct" href="farstream-libs-0.10/FsStream.html#FsStream-struct">
82 <ANCHOR id="FsStreamClass" href="farstream-libs-0.10/FsStream.html#FsStreamClass">
83 <ANCHOR id="FsStreamDirection" href="farstream-libs-0.10/FsStream.html#FsStreamDirection">
84 <ANCHOR id="FS-DIRECTION-NONE:CAPS" href="farstream-libs-0.10/FsStream.html#FS-DIRECTION-NONE:CAPS">
85 <ANCHOR id="FS-DIRECTION-SEND:CAPS" href="farstream-libs-0.10/FsStream.html#FS-DIRECTION-SEND:CAPS">
86 <ANCHOR id="FS-DIRECTION-RECV:CAPS" href="farstream-libs-0.10/FsStream.html#FS-DIRECTION-RECV:CAPS">
87 <ANCHOR id="FS-DIRECTION-BOTH:CAPS" href="farstream-libs-0.10/FsStream.html#FS-DIRECTION-BOTH:CAPS">
88 <ANCHOR id="FsStreamState" href="farstream-libs-0.10/FsStream.html#FsStreamState">
89 <ANCHOR id="FS-STREAM-STATE-FAILED:CAPS" href="farstream-libs-0.10/FsStream.html#FS-STREAM-STATE-FAILED:CAPS">
90 <ANCHOR id="FS-STREAM-STATE-DISCONNECTED:CAPS" href="farstream-libs-0.10/FsStream.html#FS-STREAM-STATE-DISCONNECTED:CAPS">
91 <ANCHOR id="FS-STREAM-STATE-GATHERING:CAPS" href="farstream-libs-0.10/FsStream.html#FS-STREAM-STATE-GATHERING:CAPS">
92 <ANCHOR id="FS-STREAM-STATE-CONNECTING:CAPS" href="farstream-libs-0.10/FsStream.html#FS-STREAM-STATE-CONNECTING:CAPS">
93 <ANCHOR id="FS-STREAM-STATE-CONNECTED:CAPS" href="farstream-libs-0.10/FsStream.html#FS-STREAM-STATE-CONNECTED:CAPS">
94 <ANCHOR id="FS-STREAM-STATE-READY:CAPS" href="farstream-libs-0.10/FsStream.html#FS-STREAM-STATE-READY:CAPS">
95 <ANCHOR id="fs-stream-set-transmitter" href="farstream-libs-0.10/FsStream.html#fs-stream-set-transmitter">
96 <ANCHOR id="fs-stream-add-remote-candidates" href="farstream-libs-0.10/FsStream.html#fs-stream-add-remote-candidates">
97 <ANCHOR id="fs-stream-set-remote-codecs" href="farstream-libs-0.10/FsStream.html#fs-stream-set-remote-codecs">
98 <ANCHOR id="fs-stream-force-remote-candidates" href="farstream-libs-0.10/FsStream.html#fs-stream-force-remote-candidates">
99 <ANCHOR id="fs-stream-destroy" href="farstream-libs-0.10/FsStream.html#fs-stream-destroy">
100 <ANCHOR id="fs-stream-iterate-src-pads" href="farstream-libs-0.10/FsStream.html#fs-stream-iterate-src-pads">
101 <ANCHOR id="fs-stream-add-id" href="farstream-libs-0.10/FsStream.html#fs-stream-add-id">
102 <ANCHOR id="fs-stream-emit-error" href="farstream-libs-0.10/FsStream.html#fs-stream-emit-error">
103 <ANCHOR id="fs-stream-emit-src-pad-added" href="farstream-libs-0.10/FsStream.html#fs-stream-emit-src-pad-added">
104 <ANCHOR id="FsStream.property-details" href="farstream-libs-0.10/FsStream.html#FsStream.property-details">
105 <ANCHOR id="FsStream--current-recv-codecs" href="farstream-libs-0.10/FsStream.html#FsStream--current-recv-codecs">
106 <ANCHOR id="FsStream--direction" href="farstream-libs-0.10/FsStream.html#FsStream--direction">
107 <ANCHOR id="FsStream--negotiated-codecs" href="farstream-libs-0.10/FsStream.html#FsStream--negotiated-codecs">
108 <ANCHOR id="FsStream--participant" href="farstream-libs-0.10/FsStream.html#FsStream--participant">
109 <ANCHOR id="FsStream--remote-codecs" href="farstream-libs-0.10/FsStream.html#FsStream--remote-codecs">
110 <ANCHOR id="FsStream--session" href="farstream-libs-0.10/FsStream.html#FsStream--session">
111 <ANCHOR id="FsStream.signal-details" href="farstream-libs-0.10/FsStream.html#FsStream.signal-details">
112 <ANCHOR id="FsStream-error" href="farstream-libs-0.10/FsStream.html#FsStream-error">
113 <ANCHOR id="FsStream-src-pad-added" href="farstream-libs-0.10/FsStream.html#FsStream-src-pad-added">
114 <ANCHOR id="farstream-libs-FsCandidate" href="farstream-libs-0.10/farstream-libs-FsCandidate.html">
115 <ANCHOR id="farstream-libs-FsCandidate.synopsis" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#farstream-libs-FsCandidate.synopsis">
116 <ANCHOR id="farstream-libs-FsCandidate.description" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#farstream-libs-FsCandidate.description">
117 <ANCHOR id="farstream-libs-FsCandidate.details" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#farstream-libs-FsCandidate.details">
118 <ANCHOR id="FsCandidate" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#FsCandidate">
119 <ANCHOR id="FsCandidateType" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#FsCandidateType">
120 <ANCHOR id="FS-CANDIDATE-TYPE-HOST:CAPS" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#FS-CANDIDATE-TYPE-HOST:CAPS">
121 <ANCHOR id="FS-CANDIDATE-TYPE-SRFLX:CAPS" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#FS-CANDIDATE-TYPE-SRFLX:CAPS">
122 <ANCHOR id="FS-CANDIDATE-TYPE-PRFLX:CAPS" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#FS-CANDIDATE-TYPE-PRFLX:CAPS">
123 <ANCHOR id="FS-CANDIDATE-TYPE-RELAY:CAPS" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#FS-CANDIDATE-TYPE-RELAY:CAPS">
124 <ANCHOR id="FS-CANDIDATE-TYPE-MULTICAST:CAPS" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#FS-CANDIDATE-TYPE-MULTICAST:CAPS">
125 <ANCHOR id="FsNetworkProtocol" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#FsNetworkProtocol">
126 <ANCHOR id="FS-NETWORK-PROTOCOL-UDP:CAPS" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#FS-NETWORK-PROTOCOL-UDP:CAPS">
127 <ANCHOR id="FS-NETWORK-PROTOCOL-TCP:CAPS" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#FS-NETWORK-PROTOCOL-TCP:CAPS">
128 <ANCHOR id="FsComponentType" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#FsComponentType">
129 <ANCHOR id="FS-COMPONENT-NONE:CAPS" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#FS-COMPONENT-NONE:CAPS">
130 <ANCHOR id="FS-COMPONENT-RTP:CAPS" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#FS-COMPONENT-RTP:CAPS">
131 <ANCHOR id="FS-COMPONENT-RTCP:CAPS" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#FS-COMPONENT-RTCP:CAPS">
132 <ANCHOR id="fs-candidate-new" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#fs-candidate-new">
133 <ANCHOR id="fs-candidate-destroy" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#fs-candidate-destroy">
134 <ANCHOR id="fs-candidate-copy" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#fs-candidate-copy">
135 <ANCHOR id="fs-candidate-list-destroy" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#fs-candidate-list-destroy">
136 <ANCHOR id="fs-candidate-list-copy" href="farstream-libs-0.10/farstream-libs-FsCandidate.html#fs-candidate-list-copy">
137 <ANCHOR id="farstream-libs-FsCodec" href="farstream-libs-0.10/farstream-libs-FsCodec.html">
138 <ANCHOR id="farstream-libs-FsCodec.synopsis" href="farstream-libs-0.10/farstream-libs-FsCodec.html#farstream-libs-FsCodec.synopsis">
139 <ANCHOR id="farstream-libs-FsCodec.description" href="farstream-libs-0.10/farstream-libs-FsCodec.html#farstream-libs-FsCodec.description">
140 <ANCHOR id="farstream-libs-FsCodec.details" href="farstream-libs-0.10/farstream-libs-FsCodec.html#farstream-libs-FsCodec.details">
141 <ANCHOR id="FsCodec" href="farstream-libs-0.10/farstream-libs-FsCodec.html#FsCodec">
142 <ANCHOR id="FsMediaType" href="farstream-libs-0.10/farstream-libs-FsCodec.html#FsMediaType">
143 <ANCHOR id="FS-MEDIA-TYPE-AUDIO:CAPS" href="farstream-libs-0.10/farstream-libs-FsCodec.html#FS-MEDIA-TYPE-AUDIO:CAPS">
144 <ANCHOR id="FS-MEDIA-TYPE-VIDEO:CAPS" href="farstream-libs-0.10/farstream-libs-FsCodec.html#FS-MEDIA-TYPE-VIDEO:CAPS">
145 <ANCHOR id="FS-MEDIA-TYPE-LAST:CAPS" href="farstream-libs-0.10/farstream-libs-FsCodec.html#FS-MEDIA-TYPE-LAST:CAPS">
146 <ANCHOR id="FsCodecParameter" href="farstream-libs-0.10/farstream-libs-FsCodec.html#FsCodecParameter">
147 <ANCHOR id="FsFeedbackParameter" href="farstream-libs-0.10/farstream-libs-FsCodec.html#FsFeedbackParameter">
148 <ANCHOR id="FS-CODEC-ID-ANY:CAPS" href="farstream-libs-0.10/farstream-libs-FsCodec.html#FS-CODEC-ID-ANY:CAPS">
149 <ANCHOR id="FS-CODEC-ID-DISABLE:CAPS" href="farstream-libs-0.10/farstream-libs-FsCodec.html#FS-CODEC-ID-DISABLE:CAPS">
150 <ANCHOR id="fs-codec-new" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-new">
151 <ANCHOR id="fs-codec-destroy" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-destroy">
152 <ANCHOR id="fs-codec-copy" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-copy">
153 <ANCHOR id="fs-codec-are-equal" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-are-equal">
154 <ANCHOR id="fs-codec-list-from-keyfile" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-list-from-keyfile">
155 <ANCHOR id="fs-codec-list-destroy" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-list-destroy">
156 <ANCHOR id="fs-codec-list-copy" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-list-copy">
157 <ANCHOR id="fs-codec-list-are-equal" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-list-are-equal">
158 <ANCHOR id="fs-codec-to-string" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-to-string">
159 <ANCHOR id="fs-codec-add-optional-parameter" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-add-optional-parameter">
160 <ANCHOR id="fs-codec-remove-optional-parameter" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-remove-optional-parameter">
161 <ANCHOR id="fs-codec-get-optional-parameter" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-get-optional-parameter">
162 <ANCHOR id="fs-codec-parameter-copy" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-parameter-copy">
163 <ANCHOR id="fs-codec-parameter-free" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-parameter-free">
164 <ANCHOR id="fs-codec-add-feedback-parameter" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-add-feedback-parameter">
165 <ANCHOR id="fs-codec-get-feedback-parameter" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-get-feedback-parameter">
166 <ANCHOR id="fs-codec-remove-feedback-parameter" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-codec-remove-feedback-parameter">
167 <ANCHOR id="fs-feedback-parameter-copy" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-feedback-parameter-copy">
168 <ANCHOR id="fs-feedback-parameter-free" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-feedback-parameter-free">
169 <ANCHOR id="FS-CODEC-FORMAT:CAPS" href="farstream-libs-0.10/farstream-libs-FsCodec.html#FS-CODEC-FORMAT:CAPS">
170 <ANCHOR id="FS-CODEC-ARGS:CAPS" href="farstream-libs-0.10/farstream-libs-FsCodec.html#FS-CODEC-ARGS:CAPS">
171 <ANCHOR id="fs-media-type-to-string" href="farstream-libs-0.10/farstream-libs-FsCodec.html#fs-media-type-to-string">
172 <ANCHOR id="farstream-libs-RTP-Specific-types" href="farstream-libs-0.10/farstream-libs-RTP-Specific-types.html">
173 <ANCHOR id="farstream-libs-RTP-Specific-types.synopsis" href="farstream-libs-0.10/farstream-libs-RTP-Specific-types.html#farstream-libs-RTP-Specific-types.synopsis">
174 <ANCHOR id="farstream-libs-RTP-Specific-types.description" href="farstream-libs-0.10/farstream-libs-RTP-Specific-types.html#farstream-libs-RTP-Specific-types.description">
175 <ANCHOR id="farstream-libs-RTP-Specific-types.details" href="farstream-libs-0.10/farstream-libs-RTP-Specific-types.html#farstream-libs-RTP-Specific-types.details">
176 <ANCHOR id="FsRtpHeaderExtension" href="farstream-libs-0.10/farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension">
177 <ANCHOR id="fs-rtp-header-extension-new" href="farstream-libs-0.10/farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-new">
178 <ANCHOR id="fs-rtp-header-extension-copy" href="farstream-libs-0.10/farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-copy">
179 <ANCHOR id="fs-rtp-header-extension-destroy" href="farstream-libs-0.10/farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-destroy">
180 <ANCHOR id="fs-rtp-header-extension-are-equal" href="farstream-libs-0.10/farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-are-equal">
181 <ANCHOR id="fs-rtp-header-extension-list-copy" href="farstream-libs-0.10/farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-list-copy">
182 <ANCHOR id="fs-rtp-header-extension-list-destroy" href="farstream-libs-0.10/farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-list-destroy">
183 <ANCHOR id="fs-rtp-header-extension-list-from-keyfile" href="farstream-libs-0.10/farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-list-from-keyfile">
184 <ANCHOR id="FS-RTP-HEADER-EXTENSION-FORMAT:CAPS" href="farstream-libs-0.10/farstream-libs-RTP-Specific-types.html#FS-RTP-HEADER-EXTENSION-FORMAT:CAPS">
185 <ANCHOR id="FS-RTP-HEADER-EXTENSION-ARGS:CAPS" href="farstream-libs-0.10/farstream-libs-RTP-Specific-types.html#FS-RTP-HEADER-EXTENSION-ARGS:CAPS">
186 <ANCHOR id="FsElementAddedNotifier" href="farstream-libs-0.10/FsElementAddedNotifier.html">
187 <ANCHOR id="FsElementAddedNotifier.synopsis" href="farstream-libs-0.10/FsElementAddedNotifier.html#FsElementAddedNotifier.synopsis">
188 <ANCHOR id="FsElementAddedNotifier.object-hierarchy" href="farstream-libs-0.10/FsElementAddedNotifier.html#FsElementAddedNotifier.object-hierarchy">
189 <ANCHOR id="FsElementAddedNotifier.signals" href="farstream-libs-0.10/FsElementAddedNotifier.html#FsElementAddedNotifier.signals">
190 <ANCHOR id="FsElementAddedNotifier.description" href="farstream-libs-0.10/FsElementAddedNotifier.html#FsElementAddedNotifier.description">
191 <ANCHOR id="FsElementAddedNotifier.details" href="farstream-libs-0.10/FsElementAddedNotifier.html#FsElementAddedNotifier.details">
192 <ANCHOR id="FsElementAddedNotifier-struct" href="farstream-libs-0.10/FsElementAddedNotifier.html#FsElementAddedNotifier-struct">
193 <ANCHOR id="fs-element-added-notifier-new" href="farstream-libs-0.10/FsElementAddedNotifier.html#fs-element-added-notifier-new">
194 <ANCHOR id="fs-element-added-notifier-add" href="farstream-libs-0.10/FsElementAddedNotifier.html#fs-element-added-notifier-add">
195 <ANCHOR id="fs-element-added-notifier-remove" href="farstream-libs-0.10/FsElementAddedNotifier.html#fs-element-added-notifier-remove">
196 <ANCHOR id="fs-element-added-notifier-set-properties-from-keyfile" href="farstream-libs-0.10/FsElementAddedNotifier.html#fs-element-added-notifier-set-properties-from-keyfile">
197 <ANCHOR id="fs-element-added-notifier-set-properties-from-file" href="farstream-libs-0.10/FsElementAddedNotifier.html#fs-element-added-notifier-set-properties-from-file">
198 <ANCHOR id="fs-element-added-notifier-set-default-properties" href="farstream-libs-0.10/FsElementAddedNotifier.html#fs-element-added-notifier-set-default-properties">
199 <ANCHOR id="FsElementAddedNotifier.signal-details" href="farstream-libs-0.10/FsElementAddedNotifier.html#FsElementAddedNotifier.signal-details">
200 <ANCHOR id="FsElementAddedNotifier-element-added" href="farstream-libs-0.10/FsElementAddedNotifier.html#FsElementAddedNotifier-element-added">
201 <ANCHOR id="farstream-libs-Utility-functions" href="farstream-libs-0.10/farstream-libs-Utility-functions.html">
202 <ANCHOR id="farstream-libs-Utility-functions.synopsis" href="farstream-libs-0.10/farstream-libs-Utility-functions.html#farstream-libs-Utility-functions.synopsis">
203 <ANCHOR id="farstream-libs-Utility-functions.description" href="farstream-libs-0.10/farstream-libs-Utility-functions.html#farstream-libs-Utility-functions.description">
204 <ANCHOR id="farstream-libs-Utility-functions.details" href="farstream-libs-0.10/farstream-libs-Utility-functions.html#farstream-libs-Utility-functions.details">
205 <ANCHOR id="fs-utils-set-bitrate" href="farstream-libs-0.10/farstream-libs-Utility-functions.html#fs-utils-set-bitrate">
206 <ANCHOR id="fs-utils-get-default-codec-preferences" href="farstream-libs-0.10/farstream-libs-Utility-functions.html#fs-utils-get-default-codec-preferences">
207 <ANCHOR id="fs-utils-get-default-element-properties" href="farstream-libs-0.10/farstream-libs-Utility-functions.html#fs-utils-get-default-element-properties">
208 <ANCHOR id="fs-utils-get-default-rtp-header-extension-preferences" href="farstream-libs-0.10/farstream-libs-Utility-functions.html#fs-utils-get-default-rtp-header-extension-preferences">
209 <ANCHOR id="FsTransmitter" href="farstream-libs-0.10/FsTransmitter.html">
210 <ANCHOR id="FsTransmitter.synopsis" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitter.synopsis">
211 <ANCHOR id="FsTransmitter.object-hierarchy" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitter.object-hierarchy">
212 <ANCHOR id="FsTransmitter.properties" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitter.properties">
213 <ANCHOR id="FsTransmitter.signals" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitter.signals">
214 <ANCHOR id="FsTransmitter.description" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitter.description">
215 <ANCHOR id="FsTransmitter.details" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitter.details">
216 <ANCHOR id="FsTransmitter-struct" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitter-struct">
217 <ANCHOR id="FsTransmitterClass" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitterClass">
218 <ANCHOR id="fs-transmitter-new" href="farstream-libs-0.10/FsTransmitter.html#fs-transmitter-new">
219 <ANCHOR id="fs-transmitter-new-stream-transmitter" href="farstream-libs-0.10/FsTransmitter.html#fs-transmitter-new-stream-transmitter">
220 <ANCHOR id="fs-transmitter-get-stream-transmitter-type" href="farstream-libs-0.10/FsTransmitter.html#fs-transmitter-get-stream-transmitter-type">
221 <ANCHOR id="fs-transmitter-emit-error" href="farstream-libs-0.10/FsTransmitter.html#fs-transmitter-emit-error">
222 <ANCHOR id="fs-transmitter-get-recvonly-filter" href="farstream-libs-0.10/FsTransmitter.html#fs-transmitter-get-recvonly-filter">
223 <ANCHOR id="fs-transmitter-list-available" href="farstream-libs-0.10/FsTransmitter.html#fs-transmitter-list-available">
224 <ANCHOR id="FsTransmitter.property-details" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitter.property-details">
225 <ANCHOR id="FsTransmitter--components" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitter--components">
226 <ANCHOR id="FsTransmitter--do-timestamp" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitter--do-timestamp">
227 <ANCHOR id="FsTransmitter--gst-sink" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitter--gst-sink">
228 <ANCHOR id="FsTransmitter--gst-src" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitter--gst-src">
229 <ANCHOR id="FsTransmitter--tos" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitter--tos">
230 <ANCHOR id="FsTransmitter.signal-details" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitter.signal-details">
231 <ANCHOR id="FsTransmitter-error" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitter-error">
232 <ANCHOR id="FsTransmitter-get-recvonly-filter" href="farstream-libs-0.10/FsTransmitter.html#FsTransmitter-get-recvonly-filter">
233 <ANCHOR id="FsStreamTransmitter" href="farstream-libs-0.10/FsStreamTransmitter.html">
234 <ANCHOR id="FsStreamTransmitter.synopsis" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter.synopsis">
235 <ANCHOR id="FsStreamTransmitter.object-hierarchy" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter.object-hierarchy">
236 <ANCHOR id="FsStreamTransmitter.properties" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter.properties">
237 <ANCHOR id="FsStreamTransmitter.signals" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter.signals">
238 <ANCHOR id="FsStreamTransmitter.description" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter.description">
239 <ANCHOR id="FsStreamTransmitter.details" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter.details">
240 <ANCHOR id="FsStreamTransmitter-struct" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter-struct">
241 <ANCHOR id="FsStreamTransmitterClass" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitterClass">
242 <ANCHOR id="fs-stream-transmitter-add-remote-candidates" href="farstream-libs-0.10/FsStreamTransmitter.html#fs-stream-transmitter-add-remote-candidates">
243 <ANCHOR id="fs-stream-transmitter-gather-local-candidates" href="farstream-libs-0.10/FsStreamTransmitter.html#fs-stream-transmitter-gather-local-candidates">
244 <ANCHOR id="fs-stream-transmitter-force-remote-candidates" href="farstream-libs-0.10/FsStreamTransmitter.html#fs-stream-transmitter-force-remote-candidates">
245 <ANCHOR id="fs-stream-transmitter-stop" href="farstream-libs-0.10/FsStreamTransmitter.html#fs-stream-transmitter-stop">
246 <ANCHOR id="fs-stream-transmitter-emit-error" href="farstream-libs-0.10/FsStreamTransmitter.html#fs-stream-transmitter-emit-error">
247 <ANCHOR id="fs-stream-parse-component-state-changed" href="farstream-libs-0.10/FsStreamTransmitter.html#fs-stream-parse-component-state-changed">
248 <ANCHOR id="fs-stream-parse-local-candidates-prepared" href="farstream-libs-0.10/FsStreamTransmitter.html#fs-stream-parse-local-candidates-prepared">
249 <ANCHOR id="fs-stream-parse-new-active-candidate-pair" href="farstream-libs-0.10/FsStreamTransmitter.html#fs-stream-parse-new-active-candidate-pair">
250 <ANCHOR id="fs-stream-parse-new-local-candidate" href="farstream-libs-0.10/FsStreamTransmitter.html#fs-stream-parse-new-local-candidate">
251 <ANCHOR id="fs-stream-parse-recv-codecs-changed" href="farstream-libs-0.10/FsStreamTransmitter.html#fs-stream-parse-recv-codecs-changed">
252 <ANCHOR id="FsStreamTransmitter.property-details" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter.property-details">
253 <ANCHOR id="FsStreamTransmitter--associate-on-source" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter--associate-on-source">
254 <ANCHOR id="FsStreamTransmitter--preferred-local-candidates" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter--preferred-local-candidates">
255 <ANCHOR id="FsStreamTransmitter--sending" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter--sending">
256 <ANCHOR id="FsStreamTransmitter.signal-details" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter.signal-details">
257 <ANCHOR id="FsStreamTransmitter-error" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter-error">
258 <ANCHOR id="FsStreamTransmitter-known-source-packet-received" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter-known-source-packet-received">
259 <ANCHOR id="FsStreamTransmitter-local-candidates-prepared" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter-local-candidates-prepared">
260 <ANCHOR id="FsStreamTransmitter-new-active-candidate-pair" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter-new-active-candidate-pair">
261 <ANCHOR id="FsStreamTransmitter-new-local-candidate" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter-new-local-candidate">
262 <ANCHOR id="FsStreamTransmitter-state-changed" href="farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter-state-changed">
263 <ANCHOR id="farstream-libs-FsPlugin" href="farstream-libs-0.10/farstream-libs-FsPlugin.html">
264 <ANCHOR id="farstream-libs-FsPlugin.synopsis" href="farstream-libs-0.10/farstream-libs-FsPlugin.html#farstream-libs-FsPlugin.synopsis">
265 <ANCHOR id="farstream-libs-FsPlugin.description" href="farstream-libs-0.10/farstream-libs-FsPlugin.html#farstream-libs-FsPlugin.description">
266 <ANCHOR id="farstream-libs-FsPlugin.details" href="farstream-libs-0.10/farstream-libs-FsPlugin.html#farstream-libs-FsPlugin.details">
267 <ANCHOR id="FsPlugin" href="farstream-libs-0.10/farstream-libs-FsPlugin.html#FsPlugin">
268 <ANCHOR id="fs-plugin-create-valist" href="farstream-libs-0.10/farstream-libs-FsPlugin.html#fs-plugin-create-valist">
269 <ANCHOR id="fs-plugin-create" href="farstream-libs-0.10/farstream-libs-FsPlugin.html#fs-plugin-create">
270 <ANCHOR id="FS-INIT-PLUGIN:CAPS" href="farstream-libs-0.10/farstream-libs-FsPlugin.html#FS-INIT-PLUGIN:CAPS">
271 <ANCHOR id="fs-plugin-list-available" href="farstream-libs-0.10/farstream-libs-FsPlugin.html#fs-plugin-list-available">
0 <ONLINE href="http://www.freedesktop.org/software/farstream/apidoc/farstream/">
1 <ANCHOR id="FsConference" href="farstream-libs-1.0/FsConference.html">
2 <ANCHOR id="FsConference.synopsis" href="farstream-libs-1.0/FsConference.html#FsConference.synopsis">
3 <ANCHOR id="FsConference.object-hierarchy" href="farstream-libs-1.0/FsConference.html#FsConference.object-hierarchy">
4 <ANCHOR id="FsConference.implemented-interfaces" href="farstream-libs-1.0/FsConference.html#FsConference.implemented-interfaces">
5 <ANCHOR id="FsConference.description" href="farstream-libs-1.0/FsConference.html#FsConference.description">
6 <ANCHOR id="FsConference.details" href="farstream-libs-1.0/FsConference.html#FsConference.details">
7 <ANCHOR id="FsConference-struct" href="farstream-libs-1.0/FsConference.html#FsConference-struct">
8 <ANCHOR id="fs-conference-new-session" href="farstream-libs-1.0/FsConference.html#fs-conference-new-session">
9 <ANCHOR id="fs-conference-new-participant" href="farstream-libs-1.0/FsConference.html#fs-conference-new-participant">
10 <ANCHOR id="FS-ERROR:CAPS" href="farstream-libs-1.0/FsConference.html#FS-ERROR:CAPS">
11 <ANCHOR id="FsError" href="farstream-libs-1.0/FsConference.html#FsError">
12 <ANCHOR id="FS-ERROR-CONSTRUCTION:CAPS" href="farstream-libs-1.0/FsConference.html#FS-ERROR-CONSTRUCTION:CAPS">
13 <ANCHOR id="FS-ERROR-INTERNAL:CAPS" href="farstream-libs-1.0/FsConference.html#FS-ERROR-INTERNAL:CAPS">
14 <ANCHOR id="FS-ERROR-INVALID-ARGUMENTS:CAPS" href="farstream-libs-1.0/FsConference.html#FS-ERROR-INVALID-ARGUMENTS:CAPS">
15 <ANCHOR id="FS-ERROR-NETWORK:CAPS" href="farstream-libs-1.0/FsConference.html#FS-ERROR-NETWORK:CAPS">
16 <ANCHOR id="FS-ERROR-NOT-IMPLEMENTED:CAPS" href="farstream-libs-1.0/FsConference.html#FS-ERROR-NOT-IMPLEMENTED:CAPS">
17 <ANCHOR id="FS-ERROR-NEGOTIATION-FAILED:CAPS" href="farstream-libs-1.0/FsConference.html#FS-ERROR-NEGOTIATION-FAILED:CAPS">
18 <ANCHOR id="FS-ERROR-UNKNOWN-CODEC:CAPS" href="farstream-libs-1.0/FsConference.html#FS-ERROR-UNKNOWN-CODEC:CAPS">
19 <ANCHOR id="FS-ERROR-NO-CODECS:CAPS" href="farstream-libs-1.0/FsConference.html#FS-ERROR-NO-CODECS:CAPS">
20 <ANCHOR id="FS-ERROR-NO-CODECS-LEFT:CAPS" href="farstream-libs-1.0/FsConference.html#FS-ERROR-NO-CODECS-LEFT:CAPS">
21 <ANCHOR id="FS-ERROR-CONNECTION-FAILED:CAPS" href="farstream-libs-1.0/FsConference.html#FS-ERROR-CONNECTION-FAILED:CAPS">
22 <ANCHOR id="FS-ERROR-DISPOSED:CAPS" href="farstream-libs-1.0/FsConference.html#FS-ERROR-DISPOSED:CAPS">
23 <ANCHOR id="FS-ERROR-ALREADY-EXISTS:CAPS" href="farstream-libs-1.0/FsConference.html#FS-ERROR-ALREADY-EXISTS:CAPS">
24 <ANCHOR id="FS-ERROR-IS-FATAL:CAPS" href="farstream-libs-1.0/FsConference.html#FS-ERROR-IS-FATAL:CAPS">
25 <ANCHOR id="fs-parse-error" href="farstream-libs-1.0/FsConference.html#fs-parse-error">
26 <ANCHOR id="FsParticipant" href="farstream-libs-1.0/FsParticipant.html">
27 <ANCHOR id="FsParticipant.synopsis" href="farstream-libs-1.0/FsParticipant.html#FsParticipant.synopsis">
28 <ANCHOR id="FsParticipant.object-hierarchy" href="farstream-libs-1.0/FsParticipant.html#FsParticipant.object-hierarchy">
29 <ANCHOR id="FsParticipant.description" href="farstream-libs-1.0/FsParticipant.html#FsParticipant.description">
30 <ANCHOR id="FsParticipant.details" href="farstream-libs-1.0/FsParticipant.html#FsParticipant.details">
31 <ANCHOR id="FsParticipant-struct" href="farstream-libs-1.0/FsParticipant.html#FsParticipant-struct">
32 <ANCHOR id="FsParticipantClass" href="farstream-libs-1.0/FsParticipant.html#FsParticipantClass">
33 <ANCHOR id="FS-PARTICIPANT-DATA-LOCK:CAPS" href="farstream-libs-1.0/FsParticipant.html#FS-PARTICIPANT-DATA-LOCK:CAPS">
34 <ANCHOR id="FS-PARTICIPANT-DATA-UNLOCK:CAPS" href="farstream-libs-1.0/FsParticipant.html#FS-PARTICIPANT-DATA-UNLOCK:CAPS">
35 <ANCHOR id="FsSession" href="farstream-libs-1.0/FsSession.html">
36 <ANCHOR id="FsSession.synopsis" href="farstream-libs-1.0/FsSession.html#FsSession.synopsis">
37 <ANCHOR id="FsSession.object-hierarchy" href="farstream-libs-1.0/FsSession.html#FsSession.object-hierarchy">
38 <ANCHOR id="FsSession.properties" href="farstream-libs-1.0/FsSession.html#FsSession.properties">
39 <ANCHOR id="FsSession.signals" href="farstream-libs-1.0/FsSession.html#FsSession.signals">
40 <ANCHOR id="FsSession.description" href="farstream-libs-1.0/FsSession.html#FsSession.description">
41 <ANCHOR id="FsSession.details" href="farstream-libs-1.0/FsSession.html#FsSession.details">
42 <ANCHOR id="FsSession-struct" href="farstream-libs-1.0/FsSession.html#FsSession-struct">
43 <ANCHOR id="FsSessionClass" href="farstream-libs-1.0/FsSession.html#FsSessionClass">
44 <ANCHOR id="FsDTMFEvent" href="farstream-libs-1.0/FsSession.html#FsDTMFEvent">
45 <ANCHOR id="FsDTMFMethod" href="farstream-libs-1.0/FsSession.html#FsDTMFMethod">
46 <ANCHOR id="FS-DTMF-METHOD-RTP-RFC4733:CAPS" href="farstream-libs-1.0/FsSession.html#FS-DTMF-METHOD-RTP-RFC4733:CAPS">
47 <ANCHOR id="FS-DTMF-METHOD-SOUND:CAPS" href="farstream-libs-1.0/FsSession.html#FS-DTMF-METHOD-SOUND:CAPS">
48 <ANCHOR id="fs-session-new-stream" href="farstream-libs-1.0/FsSession.html#fs-session-new-stream">
49 <ANCHOR id="fs-session-set-codec-preferences" href="farstream-libs-1.0/FsSession.html#fs-session-set-codec-preferences">
50 <ANCHOR id="fs-session-destroy" href="farstream-libs-1.0/FsSession.html#fs-session-destroy">
51 <ANCHOR id="fs-session-start-telephony-event" href="farstream-libs-1.0/FsSession.html#fs-session-start-telephony-event">
52 <ANCHOR id="fs-session-stop-telephony-event" href="farstream-libs-1.0/FsSession.html#fs-session-stop-telephony-event">
53 <ANCHOR id="fs-session-set-send-codec" href="farstream-libs-1.0/FsSession.html#fs-session-set-send-codec">
54 <ANCHOR id="fs-session-list-transmitters" href="farstream-libs-1.0/FsSession.html#fs-session-list-transmitters">
55 <ANCHOR id="fs-session-get-stream-transmitter-type" href="farstream-libs-1.0/FsSession.html#fs-session-get-stream-transmitter-type">
56 <ANCHOR id="fs-session-codecs-need-resend" href="farstream-libs-1.0/FsSession.html#fs-session-codecs-need-resend">
57 <ANCHOR id="fs-session-emit-error" href="farstream-libs-1.0/FsSession.html#fs-session-emit-error">
58 <ANCHOR id="fs-session-parse-codecs-changed" href="farstream-libs-1.0/FsSession.html#fs-session-parse-codecs-changed">
59 <ANCHOR id="fs-session-parse-send-codec-changed" href="farstream-libs-1.0/FsSession.html#fs-session-parse-send-codec-changed">
60 <ANCHOR id="fs-session-parse-telephony-event-started" href="farstream-libs-1.0/FsSession.html#fs-session-parse-telephony-event-started">
61 <ANCHOR id="fs-session-parse-telephony-event-stopped" href="farstream-libs-1.0/FsSession.html#fs-session-parse-telephony-event-stopped">
62 <ANCHOR id="FsSession.property-details" href="farstream-libs-1.0/FsSession.html#FsSession.property-details">
63 <ANCHOR id="FsSession--codec-preferences" href="farstream-libs-1.0/FsSession.html#FsSession--codec-preferences">
64 <ANCHOR id="FsSession--codecs" href="farstream-libs-1.0/FsSession.html#FsSession--codecs">
65 <ANCHOR id="FsSession--codecs-without-config" href="farstream-libs-1.0/FsSession.html#FsSession--codecs-without-config">
66 <ANCHOR id="FsSession--conference" href="farstream-libs-1.0/FsSession.html#FsSession--conference">
67 <ANCHOR id="FsSession--current-send-codec" href="farstream-libs-1.0/FsSession.html#FsSession--current-send-codec">
68 <ANCHOR id="FsSession--id" href="farstream-libs-1.0/FsSession.html#FsSession--id">
69 <ANCHOR id="FsSession--media-type" href="farstream-libs-1.0/FsSession.html#FsSession--media-type">
70 <ANCHOR id="FsSession--sink-pad" href="farstream-libs-1.0/FsSession.html#FsSession--sink-pad">
71 <ANCHOR id="FsSession--tos" href="farstream-libs-1.0/FsSession.html#FsSession--tos">
72 <ANCHOR id="FsSession.signal-details" href="farstream-libs-1.0/FsSession.html#FsSession.signal-details">
73 <ANCHOR id="FsSession-error" href="farstream-libs-1.0/FsSession.html#FsSession-error">
74 <ANCHOR id="FsStream" href="farstream-libs-1.0/FsStream.html">
75 <ANCHOR id="FsStream.synopsis" href="farstream-libs-1.0/FsStream.html#FsStream.synopsis">
76 <ANCHOR id="FsStream.object-hierarchy" href="farstream-libs-1.0/FsStream.html#FsStream.object-hierarchy">
77 <ANCHOR id="FsStream.properties" href="farstream-libs-1.0/FsStream.html#FsStream.properties">
78 <ANCHOR id="FsStream.signals" href="farstream-libs-1.0/FsStream.html#FsStream.signals">
79 <ANCHOR id="FsStream.description" href="farstream-libs-1.0/FsStream.html#FsStream.description">
80 <ANCHOR id="FsStream.details" href="farstream-libs-1.0/FsStream.html#FsStream.details">
81 <ANCHOR id="FsStream-struct" href="farstream-libs-1.0/FsStream.html#FsStream-struct">
82 <ANCHOR id="FsStreamClass" href="farstream-libs-1.0/FsStream.html#FsStreamClass">
83 <ANCHOR id="FsStreamDirection" href="farstream-libs-1.0/FsStream.html#FsStreamDirection">
84 <ANCHOR id="FS-DIRECTION-NONE:CAPS" href="farstream-libs-1.0/FsStream.html#FS-DIRECTION-NONE:CAPS">
85 <ANCHOR id="FS-DIRECTION-SEND:CAPS" href="farstream-libs-1.0/FsStream.html#FS-DIRECTION-SEND:CAPS">
86 <ANCHOR id="FS-DIRECTION-RECV:CAPS" href="farstream-libs-1.0/FsStream.html#FS-DIRECTION-RECV:CAPS">
87 <ANCHOR id="FS-DIRECTION-BOTH:CAPS" href="farstream-libs-1.0/FsStream.html#FS-DIRECTION-BOTH:CAPS">
88 <ANCHOR id="FsStreamState" href="farstream-libs-1.0/FsStream.html#FsStreamState">
89 <ANCHOR id="FS-STREAM-STATE-FAILED:CAPS" href="farstream-libs-1.0/FsStream.html#FS-STREAM-STATE-FAILED:CAPS">
90 <ANCHOR id="FS-STREAM-STATE-DISCONNECTED:CAPS" href="farstream-libs-1.0/FsStream.html#FS-STREAM-STATE-DISCONNECTED:CAPS">
91 <ANCHOR id="FS-STREAM-STATE-GATHERING:CAPS" href="farstream-libs-1.0/FsStream.html#FS-STREAM-STATE-GATHERING:CAPS">
92 <ANCHOR id="FS-STREAM-STATE-CONNECTING:CAPS" href="farstream-libs-1.0/FsStream.html#FS-STREAM-STATE-CONNECTING:CAPS">
93 <ANCHOR id="FS-STREAM-STATE-CONNECTED:CAPS" href="farstream-libs-1.0/FsStream.html#FS-STREAM-STATE-CONNECTED:CAPS">
94 <ANCHOR id="FS-STREAM-STATE-READY:CAPS" href="farstream-libs-1.0/FsStream.html#FS-STREAM-STATE-READY:CAPS">
95 <ANCHOR id="fs-stream-set-transmitter" href="farstream-libs-1.0/FsStream.html#fs-stream-set-transmitter">
96 <ANCHOR id="fs-stream-add-remote-candidates" href="farstream-libs-1.0/FsStream.html#fs-stream-add-remote-candidates">
97 <ANCHOR id="fs-stream-set-remote-codecs" href="farstream-libs-1.0/FsStream.html#fs-stream-set-remote-codecs">
98 <ANCHOR id="fs-stream-force-remote-candidates" href="farstream-libs-1.0/FsStream.html#fs-stream-force-remote-candidates">
99 <ANCHOR id="fs-stream-destroy" href="farstream-libs-1.0/FsStream.html#fs-stream-destroy">
100 <ANCHOR id="fs-stream-iterate-src-pads" href="farstream-libs-1.0/FsStream.html#fs-stream-iterate-src-pads">
101 <ANCHOR id="fs-stream-add-id" href="farstream-libs-1.0/FsStream.html#fs-stream-add-id">
102 <ANCHOR id="fs-stream-emit-error" href="farstream-libs-1.0/FsStream.html#fs-stream-emit-error">
103 <ANCHOR id="fs-stream-emit-src-pad-added" href="farstream-libs-1.0/FsStream.html#fs-stream-emit-src-pad-added">
104 <ANCHOR id="FsStream.property-details" href="farstream-libs-1.0/FsStream.html#FsStream.property-details">
105 <ANCHOR id="FsStream--current-recv-codecs" href="farstream-libs-1.0/FsStream.html#FsStream--current-recv-codecs">
106 <ANCHOR id="FsStream--direction" href="farstream-libs-1.0/FsStream.html#FsStream--direction">
107 <ANCHOR id="FsStream--negotiated-codecs" href="farstream-libs-1.0/FsStream.html#FsStream--negotiated-codecs">
108 <ANCHOR id="FsStream--participant" href="farstream-libs-1.0/FsStream.html#FsStream--participant">
109 <ANCHOR id="FsStream--remote-codecs" href="farstream-libs-1.0/FsStream.html#FsStream--remote-codecs">
110 <ANCHOR id="FsStream--session" href="farstream-libs-1.0/FsStream.html#FsStream--session">
111 <ANCHOR id="FsStream.signal-details" href="farstream-libs-1.0/FsStream.html#FsStream.signal-details">
112 <ANCHOR id="FsStream-error" href="farstream-libs-1.0/FsStream.html#FsStream-error">
113 <ANCHOR id="FsStream-src-pad-added" href="farstream-libs-1.0/FsStream.html#FsStream-src-pad-added">
114 <ANCHOR id="farstream-libs-FsCandidate" href="farstream-libs-1.0/farstream-libs-FsCandidate.html">
115 <ANCHOR id="farstream-libs-FsCandidate.synopsis" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#farstream-libs-FsCandidate.synopsis">
116 <ANCHOR id="farstream-libs-FsCandidate.description" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#farstream-libs-FsCandidate.description">
117 <ANCHOR id="farstream-libs-FsCandidate.details" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#farstream-libs-FsCandidate.details">
118 <ANCHOR id="FsCandidate" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#FsCandidate">
119 <ANCHOR id="FsCandidateType" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#FsCandidateType">
120 <ANCHOR id="FS-CANDIDATE-TYPE-HOST:CAPS" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#FS-CANDIDATE-TYPE-HOST:CAPS">
121 <ANCHOR id="FS-CANDIDATE-TYPE-SRFLX:CAPS" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#FS-CANDIDATE-TYPE-SRFLX:CAPS">
122 <ANCHOR id="FS-CANDIDATE-TYPE-PRFLX:CAPS" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#FS-CANDIDATE-TYPE-PRFLX:CAPS">
123 <ANCHOR id="FS-CANDIDATE-TYPE-RELAY:CAPS" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#FS-CANDIDATE-TYPE-RELAY:CAPS">
124 <ANCHOR id="FS-CANDIDATE-TYPE-MULTICAST:CAPS" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#FS-CANDIDATE-TYPE-MULTICAST:CAPS">
125 <ANCHOR id="FsNetworkProtocol" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#FsNetworkProtocol">
126 <ANCHOR id="FS-NETWORK-PROTOCOL-UDP:CAPS" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#FS-NETWORK-PROTOCOL-UDP:CAPS">
127 <ANCHOR id="FS-NETWORK-PROTOCOL-TCP:CAPS" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#FS-NETWORK-PROTOCOL-TCP:CAPS">
128 <ANCHOR id="FsComponentType" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#FsComponentType">
129 <ANCHOR id="FS-COMPONENT-NONE:CAPS" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#FS-COMPONENT-NONE:CAPS">
130 <ANCHOR id="FS-COMPONENT-RTP:CAPS" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#FS-COMPONENT-RTP:CAPS">
131 <ANCHOR id="FS-COMPONENT-RTCP:CAPS" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#FS-COMPONENT-RTCP:CAPS">
132 <ANCHOR id="fs-candidate-new" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#fs-candidate-new">
133 <ANCHOR id="fs-candidate-destroy" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#fs-candidate-destroy">
134 <ANCHOR id="fs-candidate-copy" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#fs-candidate-copy">
135 <ANCHOR id="fs-candidate-list-destroy" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#fs-candidate-list-destroy">
136 <ANCHOR id="fs-candidate-list-copy" href="farstream-libs-1.0/farstream-libs-FsCandidate.html#fs-candidate-list-copy">
137 <ANCHOR id="farstream-libs-FsCodec" href="farstream-libs-1.0/farstream-libs-FsCodec.html">
138 <ANCHOR id="farstream-libs-FsCodec.synopsis" href="farstream-libs-1.0/farstream-libs-FsCodec.html#farstream-libs-FsCodec.synopsis">
139 <ANCHOR id="farstream-libs-FsCodec.description" href="farstream-libs-1.0/farstream-libs-FsCodec.html#farstream-libs-FsCodec.description">
140 <ANCHOR id="farstream-libs-FsCodec.details" href="farstream-libs-1.0/farstream-libs-FsCodec.html#farstream-libs-FsCodec.details">
141 <ANCHOR id="FsCodec" href="farstream-libs-1.0/farstream-libs-FsCodec.html#FsCodec">
142 <ANCHOR id="FsMediaType" href="farstream-libs-1.0/farstream-libs-FsCodec.html#FsMediaType">
143 <ANCHOR id="FS-MEDIA-TYPE-AUDIO:CAPS" href="farstream-libs-1.0/farstream-libs-FsCodec.html#FS-MEDIA-TYPE-AUDIO:CAPS">
144 <ANCHOR id="FS-MEDIA-TYPE-VIDEO:CAPS" href="farstream-libs-1.0/farstream-libs-FsCodec.html#FS-MEDIA-TYPE-VIDEO:CAPS">
145 <ANCHOR id="FS-MEDIA-TYPE-LAST:CAPS" href="farstream-libs-1.0/farstream-libs-FsCodec.html#FS-MEDIA-TYPE-LAST:CAPS">
146 <ANCHOR id="FsCodecParameter" href="farstream-libs-1.0/farstream-libs-FsCodec.html#FsCodecParameter">
147 <ANCHOR id="FsFeedbackParameter" href="farstream-libs-1.0/farstream-libs-FsCodec.html#FsFeedbackParameter">
148 <ANCHOR id="FS-CODEC-ID-ANY:CAPS" href="farstream-libs-1.0/farstream-libs-FsCodec.html#FS-CODEC-ID-ANY:CAPS">
149 <ANCHOR id="FS-CODEC-ID-DISABLE:CAPS" href="farstream-libs-1.0/farstream-libs-FsCodec.html#FS-CODEC-ID-DISABLE:CAPS">
150 <ANCHOR id="fs-codec-new" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-new">
151 <ANCHOR id="fs-codec-destroy" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-destroy">
152 <ANCHOR id="fs-codec-copy" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-copy">
153 <ANCHOR id="fs-codec-are-equal" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-are-equal">
154 <ANCHOR id="fs-codec-list-from-keyfile" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-list-from-keyfile">
155 <ANCHOR id="fs-codec-list-destroy" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-list-destroy">
156 <ANCHOR id="fs-codec-list-copy" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-list-copy">
157 <ANCHOR id="fs-codec-list-are-equal" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-list-are-equal">
158 <ANCHOR id="fs-codec-to-string" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-to-string">
159 <ANCHOR id="fs-codec-add-optional-parameter" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-add-optional-parameter">
160 <ANCHOR id="fs-codec-remove-optional-parameter" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-remove-optional-parameter">
161 <ANCHOR id="fs-codec-get-optional-parameter" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-get-optional-parameter">
162 <ANCHOR id="fs-codec-parameter-copy" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-parameter-copy">
163 <ANCHOR id="fs-codec-parameter-free" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-parameter-free">
164 <ANCHOR id="fs-codec-add-feedback-parameter" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-add-feedback-parameter">
165 <ANCHOR id="fs-codec-get-feedback-parameter" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-get-feedback-parameter">
166 <ANCHOR id="fs-codec-remove-feedback-parameter" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-codec-remove-feedback-parameter">
167 <ANCHOR id="fs-feedback-parameter-copy" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-feedback-parameter-copy">
168 <ANCHOR id="fs-feedback-parameter-free" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-feedback-parameter-free">
169 <ANCHOR id="FS-CODEC-FORMAT:CAPS" href="farstream-libs-1.0/farstream-libs-FsCodec.html#FS-CODEC-FORMAT:CAPS">
170 <ANCHOR id="FS-CODEC-ARGS:CAPS" href="farstream-libs-1.0/farstream-libs-FsCodec.html#FS-CODEC-ARGS:CAPS">
171 <ANCHOR id="fs-media-type-to-string" href="farstream-libs-1.0/farstream-libs-FsCodec.html#fs-media-type-to-string">
172 <ANCHOR id="farstream-libs-RTP-Specific-types" href="farstream-libs-1.0/farstream-libs-RTP-Specific-types.html">
173 <ANCHOR id="farstream-libs-RTP-Specific-types.synopsis" href="farstream-libs-1.0/farstream-libs-RTP-Specific-types.html#farstream-libs-RTP-Specific-types.synopsis">
174 <ANCHOR id="farstream-libs-RTP-Specific-types.description" href="farstream-libs-1.0/farstream-libs-RTP-Specific-types.html#farstream-libs-RTP-Specific-types.description">
175 <ANCHOR id="farstream-libs-RTP-Specific-types.details" href="farstream-libs-1.0/farstream-libs-RTP-Specific-types.html#farstream-libs-RTP-Specific-types.details">
176 <ANCHOR id="FsRtpHeaderExtension" href="farstream-libs-1.0/farstream-libs-RTP-Specific-types.html#FsRtpHeaderExtension">
177 <ANCHOR id="fs-rtp-header-extension-new" href="farstream-libs-1.0/farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-new">
178 <ANCHOR id="fs-rtp-header-extension-copy" href="farstream-libs-1.0/farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-copy">
179 <ANCHOR id="fs-rtp-header-extension-destroy" href="farstream-libs-1.0/farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-destroy">
180 <ANCHOR id="fs-rtp-header-extension-are-equal" href="farstream-libs-1.0/farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-are-equal">
181 <ANCHOR id="fs-rtp-header-extension-list-copy" href="farstream-libs-1.0/farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-list-copy">
182 <ANCHOR id="fs-rtp-header-extension-list-destroy" href="farstream-libs-1.0/farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-list-destroy">
183 <ANCHOR id="fs-rtp-header-extension-list-from-keyfile" href="farstream-libs-1.0/farstream-libs-RTP-Specific-types.html#fs-rtp-header-extension-list-from-keyfile">
184 <ANCHOR id="FS-RTP-HEADER-EXTENSION-FORMAT:CAPS" href="farstream-libs-1.0/farstream-libs-RTP-Specific-types.html#FS-RTP-HEADER-EXTENSION-FORMAT:CAPS">
185 <ANCHOR id="FS-RTP-HEADER-EXTENSION-ARGS:CAPS" href="farstream-libs-1.0/farstream-libs-RTP-Specific-types.html#FS-RTP-HEADER-EXTENSION-ARGS:CAPS">
186 <ANCHOR id="FsElementAddedNotifier" href="farstream-libs-1.0/FsElementAddedNotifier.html">
187 <ANCHOR id="FsElementAddedNotifier.synopsis" href="farstream-libs-1.0/FsElementAddedNotifier.html#FsElementAddedNotifier.synopsis">
188 <ANCHOR id="FsElementAddedNotifier.object-hierarchy" href="farstream-libs-1.0/FsElementAddedNotifier.html#FsElementAddedNotifier.object-hierarchy">
189 <ANCHOR id="FsElementAddedNotifier.signals" href="farstream-libs-1.0/FsElementAddedNotifier.html#FsElementAddedNotifier.signals">
190 <ANCHOR id="FsElementAddedNotifier.description" href="farstream-libs-1.0/FsElementAddedNotifier.html#FsElementAddedNotifier.description">
191 <ANCHOR id="FsElementAddedNotifier.details" href="farstream-libs-1.0/FsElementAddedNotifier.html#FsElementAddedNotifier.details">
192 <ANCHOR id="FsElementAddedNotifier-struct" href="farstream-libs-1.0/FsElementAddedNotifier.html#FsElementAddedNotifier-struct">
193 <ANCHOR id="fs-element-added-notifier-new" href="farstream-libs-1.0/FsElementAddedNotifier.html#fs-element-added-notifier-new">
194 <ANCHOR id="fs-element-added-notifier-add" href="farstream-libs-1.0/FsElementAddedNotifier.html#fs-element-added-notifier-add">
195 <ANCHOR id="fs-element-added-notifier-remove" href="farstream-libs-1.0/FsElementAddedNotifier.html#fs-element-added-notifier-remove">
196 <ANCHOR id="fs-element-added-notifier-set-properties-from-keyfile" href="farstream-libs-1.0/FsElementAddedNotifier.html#fs-element-added-notifier-set-properties-from-keyfile">
197 <ANCHOR id="fs-element-added-notifier-set-properties-from-file" href="farstream-libs-1.0/FsElementAddedNotifier.html#fs-element-added-notifier-set-properties-from-file">
198 <ANCHOR id="fs-element-added-notifier-set-default-properties" href="farstream-libs-1.0/FsElementAddedNotifier.html#fs-element-added-notifier-set-default-properties">
199 <ANCHOR id="FsElementAddedNotifier.signal-details" href="farstream-libs-1.0/FsElementAddedNotifier.html#FsElementAddedNotifier.signal-details">
200 <ANCHOR id="FsElementAddedNotifier-element-added" href="farstream-libs-1.0/FsElementAddedNotifier.html#FsElementAddedNotifier-element-added">
201 <ANCHOR id="farstream-libs-Utility-functions" href="farstream-libs-1.0/farstream-libs-Utility-functions.html">
202 <ANCHOR id="farstream-libs-Utility-functions.synopsis" href="farstream-libs-1.0/farstream-libs-Utility-functions.html#farstream-libs-Utility-functions.synopsis">
203 <ANCHOR id="farstream-libs-Utility-functions.description" href="farstream-libs-1.0/farstream-libs-Utility-functions.html#farstream-libs-Utility-functions.description">
204 <ANCHOR id="farstream-libs-Utility-functions.details" href="farstream-libs-1.0/farstream-libs-Utility-functions.html#farstream-libs-Utility-functions.details">
205 <ANCHOR id="fs-utils-set-bitrate" href="farstream-libs-1.0/farstream-libs-Utility-functions.html#fs-utils-set-bitrate">
206 <ANCHOR id="fs-utils-get-default-codec-preferences" href="farstream-libs-1.0/farstream-libs-Utility-functions.html#fs-utils-get-default-codec-preferences">
207 <ANCHOR id="fs-utils-get-default-element-properties" href="farstream-libs-1.0/farstream-libs-Utility-functions.html#fs-utils-get-default-element-properties">
208 <ANCHOR id="fs-utils-get-default-rtp-header-extension-preferences" href="farstream-libs-1.0/farstream-libs-Utility-functions.html#fs-utils-get-default-rtp-header-extension-preferences">
209 <ANCHOR id="FsTransmitter" href="farstream-libs-1.0/FsTransmitter.html">
210 <ANCHOR id="FsTransmitter.synopsis" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitter.synopsis">
211 <ANCHOR id="FsTransmitter.object-hierarchy" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitter.object-hierarchy">
212 <ANCHOR id="FsTransmitter.properties" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitter.properties">
213 <ANCHOR id="FsTransmitter.signals" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitter.signals">
214 <ANCHOR id="FsTransmitter.description" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitter.description">
215 <ANCHOR id="FsTransmitter.details" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitter.details">
216 <ANCHOR id="FsTransmitter-struct" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitter-struct">
217 <ANCHOR id="FsTransmitterClass" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitterClass">
218 <ANCHOR id="fs-transmitter-new" href="farstream-libs-1.0/FsTransmitter.html#fs-transmitter-new">
219 <ANCHOR id="fs-transmitter-new-stream-transmitter" href="farstream-libs-1.0/FsTransmitter.html#fs-transmitter-new-stream-transmitter">
220 <ANCHOR id="fs-transmitter-get-stream-transmitter-type" href="farstream-libs-1.0/FsTransmitter.html#fs-transmitter-get-stream-transmitter-type">
221 <ANCHOR id="fs-transmitter-emit-error" href="farstream-libs-1.0/FsTransmitter.html#fs-transmitter-emit-error">
222 <ANCHOR id="fs-transmitter-get-recvonly-filter" href="farstream-libs-1.0/FsTransmitter.html#fs-transmitter-get-recvonly-filter">
223 <ANCHOR id="fs-transmitter-list-available" href="farstream-libs-1.0/FsTransmitter.html#fs-transmitter-list-available">
224 <ANCHOR id="FsTransmitter.property-details" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitter.property-details">
225 <ANCHOR id="FsTransmitter--components" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitter--components">
226 <ANCHOR id="FsTransmitter--do-timestamp" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitter--do-timestamp">
227 <ANCHOR id="FsTransmitter--gst-sink" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitter--gst-sink">
228 <ANCHOR id="FsTransmitter--gst-src" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitter--gst-src">
229 <ANCHOR id="FsTransmitter--tos" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitter--tos">
230 <ANCHOR id="FsTransmitter.signal-details" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitter.signal-details">
231 <ANCHOR id="FsTransmitter-error" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitter-error">
232 <ANCHOR id="FsTransmitter-get-recvonly-filter" href="farstream-libs-1.0/FsTransmitter.html#FsTransmitter-get-recvonly-filter">
233 <ANCHOR id="FsStreamTransmitter" href="farstream-libs-1.0/FsStreamTransmitter.html">
234 <ANCHOR id="FsStreamTransmitter.synopsis" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter.synopsis">
235 <ANCHOR id="FsStreamTransmitter.object-hierarchy" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter.object-hierarchy">
236 <ANCHOR id="FsStreamTransmitter.properties" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter.properties">
237 <ANCHOR id="FsStreamTransmitter.signals" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter.signals">
238 <ANCHOR id="FsStreamTransmitter.description" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter.description">
239 <ANCHOR id="FsStreamTransmitter.details" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter.details">
240 <ANCHOR id="FsStreamTransmitter-struct" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter-struct">
241 <ANCHOR id="FsStreamTransmitterClass" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitterClass">
242 <ANCHOR id="fs-stream-transmitter-add-remote-candidates" href="farstream-libs-1.0/FsStreamTransmitter.html#fs-stream-transmitter-add-remote-candidates">
243 <ANCHOR id="fs-stream-transmitter-gather-local-candidates" href="farstream-libs-1.0/FsStreamTransmitter.html#fs-stream-transmitter-gather-local-candidates">
244 <ANCHOR id="fs-stream-transmitter-force-remote-candidates" href="farstream-libs-1.0/FsStreamTransmitter.html#fs-stream-transmitter-force-remote-candidates">
245 <ANCHOR id="fs-stream-transmitter-stop" href="farstream-libs-1.0/FsStreamTransmitter.html#fs-stream-transmitter-stop">
246 <ANCHOR id="fs-stream-transmitter-emit-error" href="farstream-libs-1.0/FsStreamTransmitter.html#fs-stream-transmitter-emit-error">
247 <ANCHOR id="fs-stream-parse-component-state-changed" href="farstream-libs-1.0/FsStreamTransmitter.html#fs-stream-parse-component-state-changed">
248 <ANCHOR id="fs-stream-parse-local-candidates-prepared" href="farstream-libs-1.0/FsStreamTransmitter.html#fs-stream-parse-local-candidates-prepared">
249 <ANCHOR id="fs-stream-parse-new-active-candidate-pair" href="farstream-libs-1.0/FsStreamTransmitter.html#fs-stream-parse-new-active-candidate-pair">
250 <ANCHOR id="fs-stream-parse-new-local-candidate" href="farstream-libs-1.0/FsStreamTransmitter.html#fs-stream-parse-new-local-candidate">
251 <ANCHOR id="fs-stream-parse-recv-codecs-changed" href="farstream-libs-1.0/FsStreamTransmitter.html#fs-stream-parse-recv-codecs-changed">
252 <ANCHOR id="FsStreamTransmitter.property-details" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter.property-details">
253 <ANCHOR id="FsStreamTransmitter--associate-on-source" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter--associate-on-source">
254 <ANCHOR id="FsStreamTransmitter--preferred-local-candidates" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter--preferred-local-candidates">
255 <ANCHOR id="FsStreamTransmitter--sending" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter--sending">
256 <ANCHOR id="FsStreamTransmitter.signal-details" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter.signal-details">
257 <ANCHOR id="FsStreamTransmitter-error" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter-error">
258 <ANCHOR id="FsStreamTransmitter-known-source-packet-received" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter-known-source-packet-received">
259 <ANCHOR id="FsStreamTransmitter-local-candidates-prepared" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter-local-candidates-prepared">
260 <ANCHOR id="FsStreamTransmitter-new-active-candidate-pair" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter-new-active-candidate-pair">
261 <ANCHOR id="FsStreamTransmitter-new-local-candidate" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter-new-local-candidate">
262 <ANCHOR id="FsStreamTransmitter-state-changed" href="farstream-libs-1.0/FsStreamTransmitter.html#FsStreamTransmitter-state-changed">
263 <ANCHOR id="farstream-libs-FsPlugin" href="farstream-libs-1.0/farstream-libs-FsPlugin.html">
264 <ANCHOR id="farstream-libs-FsPlugin.synopsis" href="farstream-libs-1.0/farstream-libs-FsPlugin.html#farstream-libs-FsPlugin.synopsis">
265 <ANCHOR id="farstream-libs-FsPlugin.description" href="farstream-libs-1.0/farstream-libs-FsPlugin.html#farstream-libs-FsPlugin.description">
266 <ANCHOR id="farstream-libs-FsPlugin.details" href="farstream-libs-1.0/farstream-libs-FsPlugin.html#farstream-libs-FsPlugin.details">
267 <ANCHOR id="FsPlugin" href="farstream-libs-1.0/farstream-libs-FsPlugin.html#FsPlugin">
268 <ANCHOR id="fs-plugin-create-valist" href="farstream-libs-1.0/farstream-libs-FsPlugin.html#fs-plugin-create-valist">
269 <ANCHOR id="fs-plugin-create" href="farstream-libs-1.0/farstream-libs-FsPlugin.html#fs-plugin-create">
270 <ANCHOR id="FS-INIT-PLUGIN:CAPS" href="farstream-libs-1.0/farstream-libs-FsPlugin.html#FS-INIT-PLUGIN:CAPS">
271 <ANCHOR id="fs-plugin-list-available" href="farstream-libs-1.0/farstream-libs-FsPlugin.html#fs-plugin-list-available">
77 <link rel="up" href="index.html" title="Farstream Reference Manual">
88 <link rel="prev" href="index.html" title="Farstream Reference Manual">
99 <link rel="next" href="ch01.html" title="Farstream Core Library">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
2020 </tr></table>
2121 <div class="part">
2222 <div class="titlepage"><div><div><h1 class="title">
23 <a name="id374052"></a>Part I. User-oriented classes, interfaces and functions</h1></div></div></div>
23 <a name="id319449"></a>Part I. User-oriented classes, interfaces and functions</h1></div></div></div>
2424 <div class="toc">
2525 <p><b>Table of Contents</b></p>
2626 <dl>
6363 </div>
6464 <div class="footer">
6565 <hr>
66 Generated by GTK-Doc V1.18.1</div>
66 Generated by GTK-Doc V1.18</div>
6767 </body>
6868 </html>
77 <link rel="up" href="index.html" title="Farstream Reference Manual">
88 <link rel="prev" href="farstream-libs-Utility-functions.html" title="Utility functions">
99 <link rel="next" href="ch04.html" title="Farstream Transmitter Classes">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
2020 </tr></table>
2121 <div class="part">
2222 <div class="titlepage"><div><div><h1 class="title">
23 <a name="id379316"></a>Part II. Classes used to implement Farstream plugins</h1></div></div></div>
23 <a name="id349170"></a>Part II. Classes used to implement Farstream plugins</h1></div></div></div>
2424 <div class="toc">
2525 <p><b>Table of Contents</b></p>
2626 <dl>
4343 </div>
4444 <div class="footer">
4545 <hr>
46 Generated by GTK-Doc V1.18.1</div>
46 Generated by GTK-Doc V1.18</div>
4747 </body>
4848 </html>
22 ## Process this file with automake to produce Makefile.in
33
44 # The name of the module, e.g. 'glib'.
5 #DOC_MODULE=gst-plugins-libs-@GST_MAJORMINOR@
5 #DOC_MODULE=gst-plugins-libs-@GST_API_VERSION@
66 MODULE=farstream
77 DOC_MODULE=$(MODULE)-plugins
88
1717 # BUILDDIR=`pwd` && \
1818 # cd $(srcdir)/tmpl && \
1919 # ln -sf gstreamer-libs-unused.sgml \
20 # $$BUILDDIR/tmpl/gstreamer-libs-@GST_MAJORMINOR@-unused.sgml
20 # $$BUILDDIR/tmpl/gstreamer-libs-@GST_API_VERSION@-unused.sgml
2121 # touch unused-build.stamp
2222
23 # these rules are added to create parallel docs using GST_MAJORMINOR
24 #$(basefiles): gstreamer-libs-@GST_MAJORMINOR@%: gstreamer-libs%
23 # these rules are added to create parallel docs using GST_API_VERSION
24 #$(basefiles): gstreamer-libs-@GST_API_VERSION@%: gstreamer-libs%
2525 # cp $< $@
2626
2727 #CLEANFILES = $(basefiles)
6161 $(top_builddir)/gst/fsrtpconference/libfsrtpconference_doc.la \
6262 $(top_builddir)/gst/fsmsnconference/libfsmsnconference_doc.la \
6363 $(top_builddir)/gst/fsrawconference/libfsrawconference_doc.la \
64 $(top_builddir)/gst/fsfunnel/libfsfunnel.la \
6564 $(top_builddir)/gst/fsvideoanyrate/libfsvideoanyrate.la
6665
6766 # Header files to ignore when scanning.
7776 # the registry won't have the element
7877
7978 EXTRA_HFILES = \
80 $(top_srcdir)/gst/fsfunnel/fs-funnel.h \
8179 $(top_srcdir)/gst/fsvideoanyrate/videoanyrate.h \
8280 $(top_srcdir)/gst/fsrtpconference/fs-rtp-conference.h \
8381 $(top_srcdir)/gst/fsrtpconference/fs-rtp-session.h \
125123 # contains GtkObjects/GObjects and you want to document signals and properties.
126124 GTKDOC_CFLAGS = $(GST_BASE_CFLAGS) -I$(top_builddir) -I$(top_builddir)/gst-libs
127125 GTKDOC_LIBS = \
128 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
126 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
129127 $(top_builddir)/gst/fsrtpconference/libfsrtpconference_doc.la \
130128 $(top_builddir)/gst/fsrawconference/libfsrawconference_doc.la \
131129 $(top_builddir)/gst/fsmsnconference/libfsmsnconference_doc.la \
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3636 POST_UNINSTALL = :
3737 build_triplet = @build@
3838 host_triplet = @host@
39 target_triplet = @target@
3940 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
4041 $(top_srcdir)/common-modified/gtk-doc-plugins.mak
4142 subdir = docs/plugins
4445 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4546 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4647 $(top_srcdir)/common/m4/as-libtool.m4 \
48 $(top_srcdir)/common/m4/as-python.m4 \
4749 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4850 $(top_srcdir)/common/m4/as-version.m4 \
4951 $(top_srcdir)/common/m4/gst-arch.m4 \
5658 $(top_srcdir)/common/m4/gst.m4 \
5759 $(top_srcdir)/common/m4/gtk-doc.m4 \
5860 $(top_srcdir)/common/m4/pkg.m4 \
59 $(top_srcdir)/m4/as-check-python-headers.m4 \
6061 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
6162 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
6263 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
6768 CONFIG_HEADER = $(top_builddir)/config.h
6869 CONFIG_CLEAN_FILES =
6970 CONFIG_CLEAN_VPATH_FILES =
70 AM_V_GEN = $(am__v_GEN_$(V))
71 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
71 AM_V_GEN = $(am__v_GEN_@AM_V@)
72 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
7273 am__v_GEN_0 = @echo " GEN " $@;
73 AM_V_at = $(am__v_at_$(V))
74 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
74 AM_V_at = $(am__v_at_@AM_V@)
75 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
7576 am__v_at_0 = @
7677 SOURCES =
7778 DIST_SOURCES =
8182 AMTAR = @AMTAR@
8283 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
8384 AR = @AR@
85 AS = @AS@
8486 AUTOCONF = @AUTOCONF@
8587 AUTOHEADER = @AUTOHEADER@
8688 AUTOMAKE = @AUTOMAKE@
108110 FGREP = @FGREP@
109111 FS_AGE = @FS_AGE@
110112 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
113 FS_APIVERSION = @FS_APIVERSION@
114 FS_API_VERSION = @FS_API_VERSION@
111115 FS_CFLAGS = @FS_CFLAGS@
112116 FS_CURRENT = @FS_CURRENT@
113117 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
116120 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
117121 FS_LICENSE = @FS_LICENSE@
118122 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
119 FS_MAJORMINOR = @FS_MAJORMINOR@
120 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
121123 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
122124 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
123125 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
130132 GCOV = @GCOV@
131133 GCOV_CFLAGS = @GCOV_CFLAGS@
132134 GCOV_LIBS = @GCOV_LIBS@
135 GIO_CFLAGS = @GIO_CFLAGS@
136 GIO_LDFLAGS = @GIO_LDFLAGS@
137 GIO_LIBS = @GIO_LIBS@
133138 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
134139 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
135140 GLIB_CFLAGS = @GLIB_CFLAGS@
139144 GLIB_REQ = @GLIB_REQ@
140145 GREP = @GREP@
141146 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
147 GST_API_VERSION = @GST_API_VERSION@
142148 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
143149 GST_BASE_LIBS = @GST_BASE_LIBS@
144150 GST_CFLAGS = @GST_CFLAGS@
147153 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
148154 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
149155 GST_LIBS = @GST_LIBS@
150 GST_MAJORMINOR = @GST_MAJORMINOR@
151156 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
152157 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
153158 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
157162 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
158163 GST_TOOLS_DIR = @GST_TOOLS_DIR@
159164 GTKDOC_CHECK = @GTKDOC_CHECK@
165 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
166 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
167 GTKDOC_MKPDF = @GTKDOC_MKPDF@
168 GTKDOC_REBASE = @GTKDOC_REBASE@
160169 GUPNP_CFLAGS = @GUPNP_CFLAGS@
161170 GUPNP_LIBS = @GUPNP_LIBS@
162171 HTML_DIR = @HTML_DIR@
208217 PKG_CONFIG = @PKG_CONFIG@
209218 PLUGINDIR = @PLUGINDIR@
210219 PROFILE_CFLAGS = @PROFILE_CFLAGS@
211 PYCODEGEN = @PYCODEGEN@
212 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
213 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
214 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
215 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
216220 PYTHON = @PYTHON@
217221 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
218 PYTHON_INCLUDES = @PYTHON_INCLUDES@
219222 PYTHON_PLATFORM = @PYTHON_PLATFORM@
220223 PYTHON_PREFIX = @PYTHON_PREFIX@
221224 PYTHON_VERSION = @PYTHON_VERSION@
282285 sharedstatedir = @sharedstatedir@
283286 srcdir = @srcdir@
284287 sysconfdir = @sysconfdir@
288 target = @target@
285289 target_alias = @target_alias@
290 target_cpu = @target_cpu@
291 target_os = @target_os@
292 target_vendor = @target_vendor@
286293 top_build_prefix = @top_build_prefix@
287294 top_builddir = @top_builddir@
288295 top_srcdir = @top_srcdir@
289296 GST_DOC_SCANOBJ = $(top_srcdir)/common/gstdoc-scangobj
290297
291298 # The name of the module, e.g. 'glib'.
292 #DOC_MODULE=gst-plugins-libs-@GST_MAJORMINOR@
299 #DOC_MODULE=gst-plugins-libs-@GST_API_VERSION@
293300 MODULE = farstream
294301 DOC_MODULE = $(MODULE)-plugins
295302
303310 # BUILDDIR=`pwd` && \
304311 # cd $(srcdir)/tmpl && \
305312 # ln -sf gstreamer-libs-unused.sgml \
306 # $$BUILDDIR/tmpl/gstreamer-libs-@GST_MAJORMINOR@-unused.sgml
313 # $$BUILDDIR/tmpl/gstreamer-libs-@GST_API_VERSION@-unused.sgml
307314 # touch unused-build.stamp
308315
309 # these rules are added to create parallel docs using GST_MAJORMINOR
310 #$(basefiles): gstreamer-libs-@GST_MAJORMINOR@%: gstreamer-libs%
316 # these rules are added to create parallel docs using GST_API_VERSION
317 #$(basefiles): gstreamer-libs-@GST_API_VERSION@%: gstreamer-libs%
311318 # cp $< $@
312319
313320 #CLEANFILES = $(basefiles)
347354 $(top_builddir)/gst/fsrtpconference/libfsrtpconference_doc.la \
348355 $(top_builddir)/gst/fsmsnconference/libfsmsnconference_doc.la \
349356 $(top_builddir)/gst/fsrawconference/libfsrawconference_doc.la \
350 $(top_builddir)/gst/fsfunnel/libfsfunnel.la \
351357 $(top_builddir)/gst/fsvideoanyrate/libfsvideoanyrate.la
352358
353359
363369 # but I'm not sure about that - it might be this Just Works given that
364370 # the registry won't have the element
365371 EXTRA_HFILES = \
366 $(top_srcdir)/gst/fsfunnel/fs-funnel.h \
367372 $(top_srcdir)/gst/fsvideoanyrate/videoanyrate.h \
368373 $(top_srcdir)/gst/fsrtpconference/fs-rtp-conference.h \
369374 $(top_srcdir)/gst/fsrtpconference/fs-rtp-session.h \
407412 # contains GtkObjects/GObjects and you want to document signals and properties.
408413 GTKDOC_CFLAGS = $(GST_BASE_CFLAGS) -I$(top_builddir) -I$(top_builddir)/gst-libs
409414 GTKDOC_LIBS = \
410 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
415 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
411416 $(top_builddir)/gst/fsrtpconference/libfsrtpconference_doc.la \
412417 $(top_builddir)/gst/fsrawconference/libfsrawconference_doc.la \
413418 $(top_builddir)/gst/fsmsnconference/libfsmsnconference_doc.la \
429434 GPATH = $(srcdir)
430435
431436 # thomas: make docs parallel installable
432 TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)-@FS_MAJORMINOR@
437 TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)-@FS_APIVERSION@
433438 MAINTAINER_DOC_STAMPS = \
434439 scanobj-build.stamp \
435440 scanobj-trans-build.stamp
526531 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
527532 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
528533 esac;
534 $(top_srcdir)/common-modified/gtk-doc-plugins.mak:
529535
530536 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
531537 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
595601
596602 installcheck: installcheck-am
597603 install-strip:
598 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
599 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
600 `test -z '$(STRIP)' || \
601 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
604 if test -z '$(STRIP)'; then \
605 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
606 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
607 install; \
608 else \
609 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
610 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
611 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
612 fi
602613 mostlyclean-generic:
603614
604615 clean-generic:
846857 @ENABLE_GTK_DOC_TRUE@ fi; \
847858 @ENABLE_GTK_DOC_TRUE@ cd html && gtkdoc-mkhtml $$mkhtml_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE)
848859 @ENABLE_GTK_DOC_TRUE@ @mv html/index.sgml html/index.sgml.bak
849 @ENABLE_GTK_DOC_TRUE@ @$(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_MAJORMINOR@\//g" html/index.sgml.bak >html/index.sgml
860 @ENABLE_GTK_DOC_TRUE@ @$(SED) "s/ href=\"$(DOC_MODULE)\// href=\"$(DOC_MODULE)-@GST_API_VERSION@\//g" html/index.sgml.bak >html/index.sgml
850861 @ENABLE_GTK_DOC_TRUE@ @rm -f html/index.sgml.bak
851862 @ENABLE_GTK_DOC_TRUE@ @rm -f html/$(DOC_MAIN_SGML_FILE)
852863 @ENABLE_GTK_DOC_TRUE@ @rm -rf html/xml
910921 echo '-- Installing $(builddir)/html/$(DOC_MODULE).devhelp2' ; \
911922 if test -e $(builddir)/html/$(DOC_MODULE).devhelp2; then \
912923 $(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE).devhelp2 \
913 $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_MAJORMINOR@.devhelp2; \
924 $(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
914925 fi; \
915926 (which gtkdoc-rebase >/dev/null && \
916927 gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR)) || true ; \
99 <releaseinfo>
1010 for version &FS_VERSION;.
1111 The latest version of this documentation can be found on-line at
12 <ulink role="online-location" url="http://farstream.freedesktop.org/apidoc/farstream-plugins/">http://farstream.freedesktop.org/apidoc/farstream-plugins/</ulink>.
12 <ulink role="online-location" url="http://farstream.freedesktop.org/apidoc/farstream-plugins/">/http://farstream.freedesktop.org/apidoc/farstream-plugins/</ulink>.
1313 These plugins are to be used with the base classes and other utility
1414 objects and functions described in the
15 <ulink url="http://farstream.freedesktop.org/apidoc/farstream/">Farstream Reference Manual</ulink>.
15 <ulink url="http://www.freedesktop.org/software/farstream/apidoc/farstream">Farstream Reference Manual</ulink>.
1616 </releaseinfo>
1717 </bookinfo>
1818
5353
5454 <part>
5555 <title>Utility elements</title>
56 <xi:include href="xml/element-fsfunnel.xml"/>
5756 <xi:include href="xml/element-fsvideoanyrate.xml"/>
5857 </part>
5958 </book>
0 <SECTION>
1 <FILE>element-fsfunnel</FILE>
2 <TITLE>FsFunnel</TITLE>
3 FsFunnel
4 <SUBSECTION Standard>
5 FsFunnelClass
6 FS_FUNNEL
7 FS_IS_FUNNEL
8 FS_TYPE_FUNNEL
9 fs_funnel_get_type
10 FS_FUNNEL_CLASS
11 FS_IS_FUNNEL_CLASS
12 </SECTION>
13
140 <SECTION>
151 <FILE>element-fsvideoanyrate</FILE>
162 <TITLE>GstVideoanyrate</TITLE>
00 GObject
1 GstObject
2 GstBus
3 GstClock
4 GstElement
5 GstBin
6 GstPipeline
7 GstPad
8 GstPadTemplate
9 GstPlugin
10 GstPluginFeature
11 GstElementFactory
12 GstIndexFactory
13 GstTypeFindFactory
14 GstRegistry
15 GstTask
16 GstTaskPool
17 GstSignalObject
1 GInitiallyUnowned
2 GstObject
3 GstAllocator
4 GstDefaultAllocator
5 GstBus
6 GstClock
7 GstControlBinding
8 GstControlSource
9 GstElement
10 GstBin
11 GstPipeline
12 GstPad
13 GstPadTemplate
14 GstPlugin
15 GstPluginFeature
16 GstElementFactory
17 GstTypeFindFactory
18 GstRegistry
19 GstTask
20 GstTaskPool
1821 GInterface
1922 GTypePlugin
2023 GstChildProxy
0 FsConference GstChildProxy
1 FsMsnCamRecvConference GstChildProxy
2 FsMsnCamSendConference GstChildProxy
3 FsMsnConference GstChildProxy
4 FsRawConference GstChildProxy
5 FsRtpConference GstChildProxy
06 GstBin GstChildProxy
17 GstPipeline GstChildProxy
0 GstChildProxy GObject
01 GstChildProxy GstObject
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsMsnCamSendConference</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="ch03.html" title="MSN Webcam plugin">
8 <link rel="prev" href="ch03.html" title="MSN Webcam plugin">
9 <link rel="next" href="farstream-plugins-FsMsnCamCamRecvConference.html" title="FsMsnCamCamRecvConference">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="ch03.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="farstream-plugins-FsMsnCamCamRecvConference.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#FsMsnCamSendConference.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#FsMsnCamSendConference.description" class="shortcut">Description</a>
26  | 
27 <a href="#FsMsnCamSendConference.object-hierarchy" class="shortcut">Object Hierarchy</a>
28  | 
29 <a href="#FsMsnCamSendConference.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
30 </td></tr>
31 </table>
32 <div class="refentry">
33 <a name="FsMsnCamSendConference"></a><div class="titlepage"></div>
34 <div class="refnamediv"><table width="100%"><tr>
35 <td valign="top">
36 <h2><span class="refentrytitle"><a name="FsMsnCamSendConference.top_of_page"></a>FsMsnCamSendConference</span></h2>
37 <p>FsMsnCamSendConference — Farstream MSN send Conference Gstreamer Element</p>
38 </td>
39 <td valign="top" align="right"></td>
40 </tr></table></div>
41 <div class="refsynopsisdiv">
42 <a name="FsMsnCamSendConference.synopsis"></a><h2>Synopsis</h2>
43 <pre class="synopsis">struct <a class="link" href="FsMsnCamSendConference.html#FsMsnCamSendConference-struct" title="struct FsMsnCamSendConference">FsMsnCamSendConference</a>;
44 </pre>
45 </div>
46 <div class="refsect1">
47 <a name="FsMsnCamSendConference.object-hierarchy"></a><h2>Object Hierarchy</h2>
48 <pre class="synopsis">
49 GObject
50 +----GInitiallyUnowned
51 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
52 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
53 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html">GstBin</a>
54 +----<a href="../farstream-libs-0.11/FsConference.html">FsConference</a>
55 +----<a class="link" href="FsMsnConference.html" title="FsMsnConference">FsMsnConference</a>
56 +----FsMsnCamSendConference
57 </pre>
58 </div>
59 <div class="refsect1">
60 <a name="FsMsnCamSendConference.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
61 <p>
62 FsMsnCamSendConference implements
63 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstChildProxy.html">GstChildProxy</a>.</p>
64 </div>
65 <div class="refsect1">
66 <a name="FsMsnCamSendConference.description"></a><h2>Description</h2>
67 <p>
68 This element implements the unidirection webcam feature found in various
69 version of MSN Messenger (tm) and Windows Live Messenger (tm). This is
70 to send the local webcam's video to someone else.
71 </p>
72 <div class="refsynopsisdiv">
73 <h2>Synopsis</h2>
74 <div class="refsect2">
75 <a name="id406510"></a><h3>Element Information</h3>
76 <div class="variablelist"><table border="0">
77 <col align="left" valign="top">
78 <tbody>
79 <tr>
80 <td><p><span class="term">plugin</span></p></td>
81 <td>
82 fsmsnconference
83 </td>
84 </tr>
85 <tr>
86 <td><p><span class="term">author</span></p></td>
87 <td>Richard Spiers &lt;richard.spiers@gmail.com&gt;, Youness Alaoui &lt;youness.alaoui@collabora.co.uk&gt;, Olivier Crete &lt;olivier.crete@collabora.co.uk&gt;</td>
88 </tr>
89 <tr>
90 <td><p><span class="term">class</span></p></td>
91 <td>Generic/Bin/MSN</td>
92 </tr>
93 </tbody>
94 </table></div>
95 </div>
96 <hr>
97 <div class="refsect2">
98 <a name="id387224"></a><h3>Element Pads</h3>
99 <div class="variablelist"><table border="0">
100 <col align="left" valign="top">
101 <tbody>
102 <tr>
103 <td><p><span class="term">name</span></p></td>
104 <td>sink_%d</td>
105 </tr>
106 <tr>
107 <td><p><span class="term">direction</span></p></td>
108 <td>sink</td>
109 </tr>
110 <tr>
111 <td><p><span class="term">presence</span></p></td>
112 <td>sometimes</td>
113 </tr>
114 <tr>
115 <td><p><span class="term">details</span></p></td>
116 <td>ANY</td>
117 </tr>
118 </tbody>
119 </table></div>
120 <div class="variablelist"><table border="0">
121 <col align="left" valign="top">
122 <tbody>
123 <tr>
124 <td><p><span class="term">name</span></p></td>
125 <td>src_%d_%d_%d</td>
126 </tr>
127 <tr>
128 <td><p><span class="term">direction</span></p></td>
129 <td>source</td>
130 </tr>
131 <tr>
132 <td><p><span class="term">presence</span></p></td>
133 <td>sometimes</td>
134 </tr>
135 <tr>
136 <td><p><span class="term">details</span></p></td>
137 <td>ANY</td>
138 </tr>
139 </tbody>
140 </table></div>
141 </div>
142 </div>
143 <p>
144 </p>
145 </div>
146 <div class="refsect1">
147 <a name="FsMsnCamSendConference.details"></a><h2>Details</h2>
148 <div class="refsect2">
149 <a name="FsMsnCamSendConference-struct"></a><h3>struct FsMsnCamSendConference</h3>
150 <pre class="programlisting">struct FsMsnCamSendConference;</pre>
151 <p>
152 </p>
153 </div>
154 </div>
155 </div>
156 <div class="footer">
157 <hr>
158 Generated by GTK-Doc V1.18</div>
159 </body>
160 </html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsMsnConference</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="ch03.html" title="MSN Webcam plugin">
8 <link rel="prev" href="farstream-plugins-FsMsnCamCamRecvConference.html" title="FsMsnCamCamRecvConference">
9 <link rel="next" href="FsMsnParticipant.html" title="FsMsnParticipant">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="farstream-plugins-FsMsnCamCamRecvConference.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="FsMsnParticipant.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#FsMsnConference.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#FsMsnConference.description" class="shortcut">Description</a>
26  | 
27 <a href="#FsMsnConference.object-hierarchy" class="shortcut">Object Hierarchy</a>
28  | 
29 <a href="#FsMsnConference.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
30 </td></tr>
31 </table>
32 <div class="refentry">
33 <a name="FsMsnConference"></a><div class="titlepage"></div>
34 <div class="refnamediv"><table width="100%"><tr>
35 <td valign="top">
36 <h2><span class="refentrytitle"><a name="FsMsnConference.top_of_page"></a>FsMsnConference</span></h2>
37 <p>FsMsnConference — Farstream MSN Conference Gstreamer Elements Base class</p>
38 </td>
39 <td valign="top" align="right"></td>
40 </tr></table></div>
41 <div class="refsynopsisdiv">
42 <a name="FsMsnConference.synopsis"></a><h2>Synopsis</h2>
43 <pre class="synopsis">struct <a class="link" href="FsMsnConference.html#FsMsnConference-struct" title="struct FsMsnConference">FsMsnConference</a>;
44 </pre>
45 </div>
46 <div class="refsect1">
47 <a name="FsMsnConference.object-hierarchy"></a><h2>Object Hierarchy</h2>
48 <pre class="synopsis">
49 GObject
50 +----GInitiallyUnowned
51 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
52 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
53 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html">GstBin</a>
54 +----<a href="../farstream-libs-0.11/FsConference.html">FsConference</a>
55 +----FsMsnConference
56 +----<a class="link" href="farstream-plugins-FsMsnCamCamRecvConference.html#FsMsnCamRecvConference">FsMsnCamRecvConference</a>
57 +----<a class="link" href="FsMsnCamSendConference.html" title="FsMsnCamSendConference">FsMsnCamSendConference</a>
58 </pre>
59 </div>
60 <div class="refsect1">
61 <a name="FsMsnConference.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
62 <p>
63 FsMsnConference implements
64 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstChildProxy.html">GstChildProxy</a>.</p>
65 </div>
66 <div class="refsect1">
67 <a name="FsMsnConference.description"></a><h2>Description</h2>
68 <p>
69 This element implements the unidirection webcam feature found in various
70 version of MSN Messenger (tm) and Windows Live Messenger (tm).
71 </p>
72 </div>
73 <div class="refsect1">
74 <a name="FsMsnConference.details"></a><h2>Details</h2>
75 <div class="refsect2">
76 <a name="FsMsnConference-struct"></a><h3>struct FsMsnConference</h3>
77 <pre class="programlisting">struct FsMsnConference;</pre>
78 <p>
79 </p>
80 </div>
81 </div>
82 </div>
83 <div class="footer">
84 <hr>
85 Generated by GTK-Doc V1.18</div>
86 </body>
87 </html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsMsnParticipant</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="ch03.html" title="MSN Webcam plugin">
8 <link rel="prev" href="FsMsnConference.html" title="FsMsnConference">
9 <link rel="next" href="farstream-plugins-FsMsnSession.html" title="FsMsnSession">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="FsMsnConference.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="farstream-plugins-FsMsnSession.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#FsMsnParticipant.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#FsMsnParticipant.description" class="shortcut">Description</a>
26  | 
27 <a href="#FsMsnParticipant.object-hierarchy" class="shortcut">Object Hierarchy</a>
28 </td></tr>
29 </table>
30 <div class="refentry">
31 <a name="FsMsnParticipant"></a><div class="titlepage"></div>
32 <div class="refnamediv"><table width="100%"><tr>
33 <td valign="top">
34 <h2><span class="refentrytitle"><a name="FsMsnParticipant.top_of_page"></a>FsMsnParticipant</span></h2>
35 <p>FsMsnParticipant — A MSN participant in a <a class="link" href="FsMsnConference.html" title="FsMsnConference"><span class="type">FsMsnConference</span></a></p>
36 </td>
37 <td valign="top" align="right"></td>
38 </tr></table></div>
39 <div class="refsynopsisdiv">
40 <a name="FsMsnParticipant.synopsis"></a><h2>Synopsis</h2>
41 <pre class="synopsis"> <a class="link" href="FsMsnParticipant.html#FsMsnParticipant-struct" title="FsMsnParticipant">FsMsnParticipant</a>;
42 </pre>
43 </div>
44 <div class="refsect1">
45 <a name="FsMsnParticipant.object-hierarchy"></a><h2>Object Hierarchy</h2>
46 <pre class="synopsis">
47 GObject
48 +----GInitiallyUnowned
49 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
50 +----<a href="../farstream-libs-0.11/FsParticipant.html">FsParticipant</a>
51 +----FsMsnParticipant
52 </pre>
53 </div>
54 <div class="refsect1">
55 <a name="FsMsnParticipant.description"></a><h2>Description</h2>
56 <p>
57 This object represents one participant or person in a conference
58 </p>
59 </div>
60 <div class="refsect1">
61 <a name="FsMsnParticipant.details"></a><h2>Details</h2>
62 <div class="refsect2">
63 <a name="FsMsnParticipant-struct"></a><h3>FsMsnParticipant</h3>
64 <pre class="programlisting">typedef struct _FsMsnParticipant FsMsnParticipant;</pre>
65 </div>
66 </div>
67 </div>
68 <div class="footer">
69 <hr>
70 Generated by GTK-Doc V1.18</div>
71 </body>
72 </html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsRawConference</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="ch02.html" title="Raw Plugin">
8 <link rel="prev" href="ch02.html" title="Raw Plugin">
9 <link rel="next" href="farstream-plugins-FsRawParticipant.html" title="FsRawParticipant">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="ch02.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="ch02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="farstream-plugins-FsRawParticipant.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#FsRawConference.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#FsRawConference.description" class="shortcut">Description</a>
26  | 
27 <a href="#FsRawConference.object-hierarchy" class="shortcut">Object Hierarchy</a>
28  | 
29 <a href="#FsRawConference.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
30 </td></tr>
31 </table>
32 <div class="refentry">
33 <a name="FsRawConference"></a><div class="titlepage"></div>
34 <div class="refnamediv"><table width="100%"><tr>
35 <td valign="top">
36 <h2><span class="refentrytitle"><a name="FsRawConference.top_of_page"></a>FsRawConference</span></h2>
37 <p>FsRawConference — Farstream Raw Conference Gstreamer Elements Base class</p>
38 </td>
39 <td valign="top" align="right"></td>
40 </tr></table></div>
41 <div class="refsynopsisdiv">
42 <a name="FsRawConference.synopsis"></a><h2>Synopsis</h2>
43 <pre class="synopsis">struct <a class="link" href="FsRawConference.html#FsRawConference-struct" title="struct FsRawConference">FsRawConference</a>;
44 </pre>
45 </div>
46 <div class="refsect1">
47 <a name="FsRawConference.object-hierarchy"></a><h2>Object Hierarchy</h2>
48 <pre class="synopsis">
49 GObject
50 +----GInitiallyUnowned
51 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
52 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
53 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html">GstBin</a>
54 +----<a href="../farstream-libs-0.11/FsConference.html">FsConference</a>
55 +----FsRawConference
56 </pre>
57 </div>
58 <div class="refsect1">
59 <a name="FsRawConference.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
60 <p>
61 FsRawConference implements
62 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstChildProxy.html">GstChildProxy</a>.</p>
63 </div>
64 <div class="refsect1">
65 <a name="FsRawConference.description"></a><h2>Description</h2>
66 <p>
67 This element implements a raw content stream over which any Gstreamer
68 content may travel.
69 </p>
70 <div class="refsynopsisdiv">
71 <h2>Synopsis</h2>
72 <div class="refsect2">
73 <a name="id397624"></a><h3>Element Information</h3>
74 <div class="variablelist"><table border="0">
75 <col align="left" valign="top">
76 <tbody>
77 <tr>
78 <td><p><span class="term">plugin</span></p></td>
79 <td>
80 fsrawconference
81 </td>
82 </tr>
83 <tr>
84 <td><p><span class="term">author</span></p></td>
85 <td>Erik Walthinsen &lt;omega@cse.ogi.edu&gt;,Wim Taymans &lt;wim.taymans@gmail.com&gt;</td>
86 </tr>
87 <tr>
88 <td><p><span class="term">class</span></p></td>
89 <td>Generic/Bin</td>
90 </tr>
91 </tbody>
92 </table></div>
93 </div>
94 <hr>
95 <div class="refsect2">
96 <a name="id394501"></a><h3>Element Pads</h3>
97 <div class="variablelist"><table border="0">
98 <col align="left" valign="top">
99 <tbody>
100 <tr>
101 <td><p><span class="term">name</span></p></td>
102 <td>sink_%d</td>
103 </tr>
104 <tr>
105 <td><p><span class="term">direction</span></p></td>
106 <td>sink</td>
107 </tr>
108 <tr>
109 <td><p><span class="term">presence</span></p></td>
110 <td>sometimes</td>
111 </tr>
112 <tr>
113 <td><p><span class="term">details</span></p></td>
114 <td>ANY</td>
115 </tr>
116 </tbody>
117 </table></div>
118 <div class="variablelist"><table border="0">
119 <col align="left" valign="top">
120 <tbody>
121 <tr>
122 <td><p><span class="term">name</span></p></td>
123 <td>src_%d</td>
124 </tr>
125 <tr>
126 <td><p><span class="term">direction</span></p></td>
127 <td>source</td>
128 </tr>
129 <tr>
130 <td><p><span class="term">presence</span></p></td>
131 <td>sometimes</td>
132 </tr>
133 <tr>
134 <td><p><span class="term">details</span></p></td>
135 <td>ANY</td>
136 </tr>
137 </tbody>
138 </table></div>
139 </div>
140 </div>
141 <p>
142 </p>
143 </div>
144 <div class="refsect1">
145 <a name="FsRawConference.details"></a><h2>Details</h2>
146 <div class="refsect2">
147 <a name="FsRawConference-struct"></a><h3>struct FsRawConference</h3>
148 <pre class="programlisting">struct FsRawConference;</pre>
149 <p>
150 </p>
151 </div>
152 </div>
153 </div>
154 <div class="footer">
155 <hr>
156 Generated by GTK-Doc V1.18</div>
157 </body>
158 </html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsRtpConference</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="ch01.html" title="RTP Plugin">
8 <link rel="prev" href="ch01.html" title="RTP Plugin">
9 <link rel="next" href="FsRtpParticipant.html" title="FsRtpParticipant">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="ch01.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="FsRtpParticipant.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#FsRtpConference.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#FsRtpConference.description" class="shortcut">Description</a>
26  | 
27 <a href="#FsRtpConference.object-hierarchy" class="shortcut">Object Hierarchy</a>
28  | 
29 <a href="#FsRtpConference.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
30  | 
31 <a href="#FsRtpConference.properties" class="shortcut">Properties</a>
32 </td></tr>
33 </table>
34 <div class="refentry">
35 <a name="FsRtpConference"></a><div class="titlepage"></div>
36 <div class="refnamediv"><table width="100%"><tr>
37 <td valign="top">
38 <h2><span class="refentrytitle"><a name="FsRtpConference.top_of_page"></a>FsRtpConference</span></h2>
39 <p>FsRtpConference — Farstream RTP Conference Gstreamer Elements</p>
40 </td>
41 <td valign="top" align="right"></td>
42 </tr></table></div>
43 <div class="refsynopsisdiv">
44 <a name="FsRtpConference.synopsis"></a><h2>Synopsis</h2>
45 <pre class="synopsis">struct <a class="link" href="FsRtpConference.html#FsRtpConference-struct" title="struct FsRtpConference">FsRtpConference</a>;
46 </pre>
47 </div>
48 <div class="refsect1">
49 <a name="FsRtpConference.object-hierarchy"></a><h2>Object Hierarchy</h2>
50 <pre class="synopsis">
51 GObject
52 +----GInitiallyUnowned
53 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
54 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
55 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html">GstBin</a>
56 +----<a href="../farstream-libs-0.11/FsConference.html">FsConference</a>
57 +----FsRtpConference
58 </pre>
59 </div>
60 <div class="refsect1">
61 <a name="FsRtpConference.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
62 <p>
63 FsRtpConference implements
64 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstChildProxy.html">GstChildProxy</a>.</p>
65 </div>
66 <div class="refsect1">
67 <a name="FsRtpConference.properties"></a><h2>Properties</h2>
68 <pre class="synopsis">
69 "<a class="link" href="FsRtpConference.html#FsRtpConference--sdes" title='The "sdes" property'>sdes</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a>* : Read / Write
70 </pre>
71 </div>
72 <div class="refsect1">
73 <a name="FsRtpConference.description"></a><h2>Description</h2>
74 <p>
75 This is the core gstreamer element for a RTP conference. It must be added
76 to your pipeline before anything else is done. Then you create the session,
77 participants and streams according to the <a href="../farstream-libs-0.11/FsConference.html"><span class="type">FsConference</span></a> interface.
78 </p>
79 <p>
80 The various sdes property allow you to set the content of the SDES packet
81 in the sent RTCP reports.
82 </p>
83 <div class="refsynopsisdiv">
84 <h2>Synopsis</h2>
85 <div class="refsect2">
86 <a name="id394695"></a><h3>Element Information</h3>
87 <div class="variablelist"><table border="0">
88 <col align="left" valign="top">
89 <tbody>
90 <tr>
91 <td><p><span class="term">plugin</span></p></td>
92 <td>
93 fsrtpconference
94 </td>
95 </tr>
96 <tr>
97 <td><p><span class="term">author</span></p></td>
98 <td>Olivier Crete &lt;olivier.crete@collabora.co.uk&gt;</td>
99 </tr>
100 <tr>
101 <td><p><span class="term">class</span></p></td>
102 <td>Generic/Bin/RTP</td>
103 </tr>
104 </tbody>
105 </table></div>
106 </div>
107 <hr>
108 <div class="refsect2">
109 <a name="id340834"></a><h3>Element Pads</h3>
110 <div class="variablelist"><table border="0">
111 <col align="left" valign="top">
112 <tbody>
113 <tr>
114 <td><p><span class="term">name</span></p></td>
115 <td>sink_%u</td>
116 </tr>
117 <tr>
118 <td><p><span class="term">direction</span></p></td>
119 <td>sink</td>
120 </tr>
121 <tr>
122 <td><p><span class="term">presence</span></p></td>
123 <td>sometimes</td>
124 </tr>
125 <tr>
126 <td><p><span class="term">details</span></p></td>
127 <td>ANY</td>
128 </tr>
129 </tbody>
130 </table></div>
131 <div class="variablelist"><table border="0">
132 <col align="left" valign="top">
133 <tbody>
134 <tr>
135 <td><p><span class="term">name</span></p></td>
136 <td>src_%u_%u_%u</td>
137 </tr>
138 <tr>
139 <td><p><span class="term">direction</span></p></td>
140 <td>source</td>
141 </tr>
142 <tr>
143 <td><p><span class="term">presence</span></p></td>
144 <td>sometimes</td>
145 </tr>
146 <tr>
147 <td><p><span class="term">details</span></p></td>
148 <td>ANY</td>
149 </tr>
150 </tbody>
151 </table></div>
152 </div>
153 </div>
154 <p>
155 </p>
156 </div>
157 <div class="refsect1">
158 <a name="FsRtpConference.details"></a><h2>Details</h2>
159 <div class="refsect2">
160 <a name="FsRtpConference-struct"></a><h3>struct FsRtpConference</h3>
161 <pre class="programlisting">struct FsRtpConference;</pre>
162 <p>
163 </p>
164 </div>
165 </div>
166 <div class="refsect1">
167 <a name="FsRtpConference.property-details"></a><h2>Property Details</h2>
168 <div class="refsect2">
169 <a name="FsRtpConference--sdes"></a><h3>The <code class="literal">"sdes"</code> property</h3>
170 <pre class="programlisting"> "sdes" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a>* : Read / Write</pre>
171 <p>SDES items to use for sessions in this conference.</p>
172 </div>
173 </div>
174 </div>
175 <div class="footer">
176 <hr>
177 Generated by GTK-Doc V1.18</div>
178 </body>
179 </html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsRtpParticipant</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="ch01.html" title="RTP Plugin">
8 <link rel="prev" href="FsRtpConference.html" title="FsRtpConference">
9 <link rel="next" href="FsRtpSession.html" title="FsRtpSession">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="FsRtpConference.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="FsRtpSession.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#FsRtpParticipant.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#FsRtpParticipant.description" class="shortcut">Description</a>
26  | 
27 <a href="#FsRtpParticipant.object-hierarchy" class="shortcut">Object Hierarchy</a>
28  | 
29 <a href="#FsRtpParticipant.properties" class="shortcut">Properties</a>
30 </td></tr>
31 </table>
32 <div class="refentry">
33 <a name="FsRtpParticipant"></a><div class="titlepage"></div>
34 <div class="refnamediv"><table width="100%"><tr>
35 <td valign="top">
36 <h2><span class="refentrytitle"><a name="FsRtpParticipant.top_of_page"></a>FsRtpParticipant</span></h2>
37 <p>FsRtpParticipant — A RTP participant in a <a class="link" href="FsRtpConference.html" title="FsRtpConference"><span class="type">FsRtpConference</span></a></p>
38 </td>
39 <td valign="top" align="right"></td>
40 </tr></table></div>
41 <div class="refsynopsisdiv">
42 <a name="FsRtpParticipant.synopsis"></a><h2>Synopsis</h2>
43 <pre class="synopsis"> <a class="link" href="FsRtpParticipant.html#FsRtpParticipant-struct" title="FsRtpParticipant">FsRtpParticipant</a>;
44 </pre>
45 </div>
46 <div class="refsect1">
47 <a name="FsRtpParticipant.object-hierarchy"></a><h2>Object Hierarchy</h2>
48 <pre class="synopsis">
49 GObject
50 +----GInitiallyUnowned
51 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
52 +----<a href="../farstream-libs-0.11/FsParticipant.html">FsParticipant</a>
53 +----FsRtpParticipant
54 </pre>
55 </div>
56 <div class="refsect1">
57 <a name="FsRtpParticipant.properties"></a><h2>Properties</h2>
58 <pre class="synopsis">
59 "<a class="link" href="FsRtpParticipant.html#FsRtpParticipant--cname" title='The "cname" property'>cname</a>" <span class="type">gchar</span>* : Read / Write
60 </pre>
61 </div>
62 <div class="refsect1">
63 <a name="FsRtpParticipant.description"></a><h2>Description</h2>
64 <p>
65 This object represents one participant or person in a RTP conference
66 </p>
67 </div>
68 <div class="refsect1">
69 <a name="FsRtpParticipant.details"></a><h2>Details</h2>
70 <div class="refsect2">
71 <a name="FsRtpParticipant-struct"></a><h3>FsRtpParticipant</h3>
72 <pre class="programlisting">typedef struct _FsRtpParticipant FsRtpParticipant;</pre>
73 </div>
74 </div>
75 <div class="refsect1">
76 <a name="FsRtpParticipant.property-details"></a><h2>Property Details</h2>
77 <div class="refsect2">
78 <a name="FsRtpParticipant--cname"></a><h3>The <code class="literal">"cname"</code> property</h3>
79 <pre class="programlisting"> "cname" <span class="type">gchar</span>* : Read / Write</pre>
80 <p>A string of the cname of the participant.</p>
81 <p>Default value: NULL</p>
82 </div>
83 </div>
84 </div>
85 <div class="footer">
86 <hr>
87 Generated by GTK-Doc V1.18</div>
88 </body>
89 </html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsRtpSession</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="ch01.html" title="RTP Plugin">
8 <link rel="prev" href="FsRtpParticipant.html" title="FsRtpParticipant">
9 <link rel="next" href="FsRtpStream.html" title="FsRtpStream">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="FsRtpParticipant.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="FsRtpStream.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#FsRtpSession.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#FsRtpSession.description" class="shortcut">Description</a>
26  | 
27 <a href="#FsRtpSession.object-hierarchy" class="shortcut">Object Hierarchy</a>
28  | 
29 <a href="#FsRtpSession.properties" class="shortcut">Properties</a>
30 </td></tr>
31 </table>
32 <div class="refentry">
33 <a name="FsRtpSession"></a><div class="titlepage"></div>
34 <div class="refnamediv"><table width="100%"><tr>
35 <td valign="top">
36 <h2><span class="refentrytitle"><a name="FsRtpSession.top_of_page"></a>FsRtpSession</span></h2>
37 <p>FsRtpSession — A RTP session in a <a class="link" href="FsRtpConference.html" title="FsRtpConference"><span class="type">FsRtpConference</span></a></p>
38 </td>
39 <td valign="top" align="right"></td>
40 </tr></table></div>
41 <div class="refsynopsisdiv">
42 <a name="FsRtpSession.synopsis"></a><h2>Synopsis</h2>
43 <pre class="synopsis"> <a class="link" href="FsRtpSession.html#FsRtpSession-struct" title="FsRtpSession">FsRtpSession</a>;
44 </pre>
45 </div>
46 <div class="refsect1">
47 <a name="FsRtpSession.object-hierarchy"></a><h2>Object Hierarchy</h2>
48 <pre class="synopsis">
49 GObject
50 +----GInitiallyUnowned
51 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
52 +----<a href="../farstream-libs-0.11/FsSession.html">FsSession</a>
53 +----FsRtpSession
54 </pre>
55 </div>
56 <div class="refsect1">
57 <a name="FsRtpSession.properties"></a><h2>Properties</h2>
58 <pre class="synopsis">
59 "<a class="link" href="FsRtpSession.html#FsRtpSession--no-rtcp-timeout" title='The "no-rtcp-timeout" property'>no-rtcp-timeout</a>" <span class="type">gint</span> : Read / Write
60 "<a class="link" href="FsRtpSession.html#FsRtpSession--rtp-header-extension-preferences" title='The "rtp-header-extension-preferences" property'>rtp-header-extension-preferences</a>" <span class="type">FsRtpHeaderExtensionGList</span>* : Read / Write
61 "<a class="link" href="FsRtpSession.html#FsRtpSession--rtp-header-extensions" title='The "rtp-header-extensions" property'>rtp-header-extensions</a>" <span class="type">FsRtpHeaderExtensionGList</span>* : Read
62 "<a class="link" href="FsRtpSession.html#FsRtpSession--send-bitrate" title='The "send-bitrate" property'>send-bitrate</a>" <span class="type">guint</span> : Read / Write
63 "<a class="link" href="FsRtpSession.html#FsRtpSession--ssrc" title='The "ssrc" property'>ssrc</a>" <span class="type">guint</span> : Read / Write
64 </pre>
65 </div>
66 <div class="refsect1">
67 <a name="FsRtpSession.description"></a><h2>Description</h2>
68 <p>
69 This object represents one session, it is created by called
70 <a href="../farstream-libs-0.11/FsConference.html#fs-conference-new-session"><code class="function">fs_conference_new_session()</code></a> on a <a class="link" href="FsRtpConference.html" title="FsRtpConference"><span class="type">FsRtpConference</span></a>. It can be either
71 Audio or Video. It also represents data send with one and only one
72 SSRC (although if there is a SSRC collision, that SSRC may change).
73 </p>
74 <div class="refsect2">
75 <a name="id391224"></a><h3>Codec profiles</h3>
76 <p>
77 It is possible to define "codec profiles", that is non-autodetected
78 encoding and decoding pipelines for codecs. It is even possible to declare
79 entirely new codecs using this method.
80 </p>
81 <p>
82 To create a profile for a codec, add it to the codec-preferences with
83 special optional parameters called "farstream-send-profile" and
84 "farstream-recv-profile", these should contain gst-launch style descriptions
85 of the encoding or decoding bin.
86 </p>
87 <p>
88 As a special case, encoding profiles can have more than one unconnected
89 source pad, all of these pads should produce application/x-rtp of some kind.
90 The profile will be ignored if not ALL pads match currently negotiated
91 codecs.
92 </p>
93 <p>
94 Also, it is possible to declare profiles with only a decoding pipeline,
95 you will only be able to receive from this codec, the encoding may be a
96 secondary pad of some other codec.
97 </p>
98 </div>
99 <p>
100 </p>
101 </div>
102 <div class="refsect1">
103 <a name="FsRtpSession.details"></a><h2>Details</h2>
104 <div class="refsect2">
105 <a name="FsRtpSession-struct"></a><h3>FsRtpSession</h3>
106 <pre class="programlisting">typedef struct _FsRtpSession FsRtpSession;</pre>
107 </div>
108 </div>
109 <div class="refsect1">
110 <a name="FsRtpSession.property-details"></a><h2>Property Details</h2>
111 <div class="refsect2">
112 <a name="FsRtpSession--no-rtcp-timeout"></a><h3>The <code class="literal">"no-rtcp-timeout"</code> property</h3>
113 <pre class="programlisting"> "no-rtcp-timeout" <span class="type">gint</span> : Read / Write</pre>
114 <p>This is the time (in ms) after which data received without RTCP is attached the FsStream, this only works if there is only one FsStream. -1 will wait forever. 0 will not wait for RTCP and attach it immediataly to the FsStream and prohibit the creation of a second FsStream.</p>
115 <p>Allowed values: &gt;= G_MAXULONG</p>
116 <p>Default value: 7000</p>
117 </div>
118 <hr>
119 <div class="refsect2">
120 <a name="FsRtpSession--rtp-header-extension-preferences"></a><h3>The <code class="literal">"rtp-header-extension-preferences"</code> property</h3>
121 <pre class="programlisting"> "rtp-header-extension-preferences" <span class="type">FsRtpHeaderExtensionGList</span>* : Read / Write</pre>
122 <p>GList of RTP Header extensions that are locally supported and desired by the application.</p>
123 </div>
124 <hr>
125 <div class="refsect2">
126 <a name="FsRtpSession--rtp-header-extensions"></a><h3>The <code class="literal">"rtp-header-extensions"</code> property</h3>
127 <pre class="programlisting"> "rtp-header-extensions" <span class="type">FsRtpHeaderExtensionGList</span>* : Read</pre>
128 <p>GList of RTP Header extensions that have been negotiated and will be used when sending of receiving RTP packets.</p>
129 </div>
130 <hr>
131 <div class="refsect2">
132 <a name="FsRtpSession--send-bitrate"></a><h3>The <code class="literal">"send-bitrate"</code> property</h3>
133 <pre class="programlisting"> "send-bitrate" <span class="type">guint</span> : Read / Write</pre>
134 <p>The bitrate that the session will try to send at in bits/sec.</p>
135 <p>Default value: 0</p>
136 </div>
137 <hr>
138 <div class="refsect2">
139 <a name="FsRtpSession--ssrc"></a><h3>The <code class="literal">"ssrc"</code> property</h3>
140 <pre class="programlisting"> "ssrc" <span class="type">guint</span> : Read / Write</pre>
141 <p>This is the current SSRC used to send data (defaults to a random value).</p>
142 <p>Default value: 0</p>
143 </div>
144 </div>
145 </div>
146 <div class="footer">
147 <hr>
148 Generated by GTK-Doc V1.18</div>
149 </body>
150 </html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsRtpStream</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="ch01.html" title="RTP Plugin">
8 <link rel="prev" href="FsRtpSession.html" title="FsRtpSession">
9 <link rel="next" href="ch02.html" title="Raw Plugin">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="FsRtpSession.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="ch02.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#FsRtpStream.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#FsRtpStream.description" class="shortcut">Description</a>
26  | 
27 <a href="#FsRtpStream.object-hierarchy" class="shortcut">Object Hierarchy</a>
28  | 
29 <a href="#FsRtpStream.properties" class="shortcut">Properties</a>
30 </td></tr>
31 </table>
32 <div class="refentry">
33 <a name="FsRtpStream"></a><div class="titlepage"></div>
34 <div class="refnamediv"><table width="100%"><tr>
35 <td valign="top">
36 <h2><span class="refentrytitle"><a name="FsRtpStream.top_of_page"></a>FsRtpStream</span></h2>
37 <p>FsRtpStream — A RTP stream in a <a class="link" href="FsRtpSession.html" title="FsRtpSession"><span class="type">FsRtpSession</span></a> in a <a class="link" href="FsRtpConference.html" title="FsRtpConference"><span class="type">FsRtpConference</span></a></p>
38 </td>
39 <td valign="top" align="right"></td>
40 </tr></table></div>
41 <div class="refsynopsisdiv">
42 <a name="FsRtpStream.synopsis"></a><h2>Synopsis</h2>
43 <pre class="synopsis"> <a class="link" href="FsRtpStream.html#FsRtpStream-struct" title="FsRtpStream">FsRtpStream</a>;
44 </pre>
45 </div>
46 <div class="refsect1">
47 <a name="FsRtpStream.object-hierarchy"></a><h2>Object Hierarchy</h2>
48 <pre class="synopsis">
49 GObject
50 +----GInitiallyUnowned
51 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
52 +----<a href="../farstream-libs-0.11/FsStream.html">FsStream</a>
53 +----FsRtpStream
54 </pre>
55 </div>
56 <div class="refsect1">
57 <a name="FsRtpStream.properties"></a><h2>Properties</h2>
58 <pre class="synopsis">
59 "<a class="link" href="FsRtpStream.html#FsRtpStream--rtp-header-extensions" title='The "rtp-header-extensions" property'>rtp-header-extensions</a>" <span class="type">FsRtpHeaderExtensionGList</span>* : Read / Write
60 </pre>
61 </div>
62 <div class="refsect1">
63 <a name="FsRtpStream.description"></a><h2>Description</h2>
64 <p>
65 This is the conjunction of a <a class="link" href="FsRtpParticipant.html" title="FsRtpParticipant"><span class="type">FsRtpParticipant</span></a> and a <a class="link" href="FsRtpSession.html" title="FsRtpSession"><span class="type">FsRtpSession</span></a>,
66 it is created by calling <a href="../farstream-libs-0.11/FsSession.html#fs-session-new-stream"><code class="function">fs_session_new_stream()</code></a> on a
67 <a class="link" href="FsRtpSession.html" title="FsRtpSession"><span class="type">FsRtpSession</span></a>.
68 </p>
69 </div>
70 <div class="refsect1">
71 <a name="FsRtpStream.details"></a><h2>Details</h2>
72 <div class="refsect2">
73 <a name="FsRtpStream-struct"></a><h3>FsRtpStream</h3>
74 <pre class="programlisting">typedef struct _FsRtpStream FsRtpStream;</pre>
75 </div>
76 </div>
77 <div class="refsect1">
78 <a name="FsRtpStream.property-details"></a><h2>Property Details</h2>
79 <div class="refsect2">
80 <a name="FsRtpStream--rtp-header-extensions"></a><h3>The <code class="literal">"rtp-header-extensions"</code> property</h3>
81 <pre class="programlisting"> "rtp-header-extensions" <span class="type">FsRtpHeaderExtensionGList</span>* : Read / Write</pre>
82 <p>GList of RTP Header extensions that the participant for this stream would like to use.</p>
83 </div>
84 </div>
85 </div>
86 <div class="footer">
87 <hr>
88 Generated by GTK-Doc V1.18</div>
89 </body>
90 </html>
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>GstVideoanyrate</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="pt03.html" title="Part III. Utility elements">
8 <link rel="prev" href="pt03.html" title="Part III. Utility elements">
9 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
10 <link rel="stylesheet" href="style.css" type="text/css">
11 </head>
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
14 <tr valign="middle">
15 <td><a accesskey="p" href="pt03.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
16 <td><a accesskey="u" href="pt03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
17 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
18 <th width="100%" align="center">Farstream Plugins Manual</th>
19 <td> </td>
20 </tr>
21 <tr><td colspan="5" class="shortcuts">
22 <a href="#GstVideoanyrate.synopsis" class="shortcut">Top</a>
23  | 
24 <a href="#GstVideoanyrate.description" class="shortcut">Description</a>
25  | 
26 <a href="#GstVideoanyrate.object-hierarchy" class="shortcut">Object Hierarchy</a>
27 </td></tr>
28 </table>
29 <div class="refentry">
30 <a name="GstVideoanyrate"></a><div class="titlepage"></div>
31 <div class="refnamediv"><table width="100%"><tr>
32 <td valign="top">
33 <h2><span class="refentrytitle"><a name="GstVideoanyrate.top_of_page"></a>GstVideoanyrate</span></h2>
34 <p>GstVideoanyrate — Removes the framerate from video caps</p>
35 </td>
36 <td valign="top" align="right"></td>
37 </tr></table></div>
38 <div class="refsynopsisdiv">
39 <a name="GstVideoanyrate.synopsis"></a><h2>Synopsis</h2>
40 <pre class="synopsis">struct <a class="link" href="GstVideoanyrate.html#GstVideoanyrate-struct" title="struct GstVideoanyrate">GstVideoanyrate</a>;
41 </pre>
42 </div>
43 <div class="refsect1">
44 <a name="GstVideoanyrate.object-hierarchy"></a><h2>Object Hierarchy</h2>
45 <pre class="synopsis">
46 GObject
47 +----GInitiallyUnowned
48 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
49 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
50 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
51 +----GstVideoanyrate
52 </pre>
53 </div>
54 <div class="refsect1">
55 <a name="GstVideoanyrate.description"></a><h2>Description</h2>
56 <p>
57 This element will remove the framerate from video caps, it is a poor man's
58 videorate for live pipelines.
59 </p>
60 <div class="refsynopsisdiv">
61 <h2>Synopsis</h2>
62 <div class="refsect2">
63 <a name="id419931"></a><h3>Element Information</h3>
64 <div class="variablelist"><table border="0">
65 <col align="left" valign="top">
66 <tbody>
67 <tr>
68 <td><p><span class="term">plugin</span></p></td>
69 <td>
70 fsvideoanyrate
71 </td>
72 </tr>
73 <tr>
74 <td><p><span class="term">author</span></p></td>
75 <td>Olivier Crete &lt;olivier.crete@collabora.com&gt;</td>
76 </tr>
77 <tr>
78 <td><p><span class="term">class</span></p></td>
79 <td>Filter</td>
80 </tr>
81 </tbody>
82 </table></div>
83 </div>
84 <hr>
85 <div class="refsect2">
86 <a name="id397410"></a><h3>Element Pads</h3>
87 <div class="variablelist"><table border="0">
88 <col align="left" valign="top">
89 <tbody>
90 <tr>
91 <td><p><span class="term">name</span></p></td>
92 <td>sink</td>
93 </tr>
94 <tr>
95 <td><p><span class="term">direction</span></p></td>
96 <td>sink</td>
97 </tr>
98 <tr>
99 <td><p><span class="term">presence</span></p></td>
100 <td>always</td>
101 </tr>
102 <tr>
103 <td><p><span class="term">details</span></p></td>
104 <td>ANY</td>
105 </tr>
106 </tbody>
107 </table></div>
108 <div class="variablelist"><table border="0">
109 <col align="left" valign="top">
110 <tbody>
111 <tr>
112 <td><p><span class="term">name</span></p></td>
113 <td>src</td>
114 </tr>
115 <tr>
116 <td><p><span class="term">direction</span></p></td>
117 <td>source</td>
118 </tr>
119 <tr>
120 <td><p><span class="term">presence</span></p></td>
121 <td>always</td>
122 </tr>
123 <tr>
124 <td><p><span class="term">details</span></p></td>
125 <td>ANY</td>
126 </tr>
127 </tbody>
128 </table></div>
129 </div>
130 </div>
131 <p>
132 </p>
133 </div>
134 <div class="refsect1">
135 <a name="GstVideoanyrate.details"></a><h2>Details</h2>
136 <div class="refsect2">
137 <a name="GstVideoanyrate-struct"></a><h3>struct GstVideoanyrate</h3>
138 <pre class="programlisting">struct GstVideoanyrate;</pre>
139 <p>
140 </p>
141 </div>
142 </div>
143 </div>
144 <div class="footer">
145 <hr>
146 Generated by GTK-Doc V1.18</div>
147 </body>
148 </html>
66 <link rel="home" href="index.html" title="Farstream Plugins Manual">
77 <link rel="up" href="pt01.html" title="Part I. Plugins implementing FsConference">
88 <link rel="prev" href="pt01.html" title="Part I. Plugins implementing FsConference">
9 <link rel="next" href="farstream-plugins-FsRtpConference.html" title="FsRtpConference">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
9 <link rel="next" href="FsRtpConference.html" title="FsRtpConference">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
1616 <td><a accesskey="u" href="pt01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
1717 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
1818 <th width="100%" align="center">Farstream Plugins Manual</th>
19 <td><a accesskey="n" href="farstream-plugins-FsRtpConference.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
19 <td><a accesskey="n" href="FsRtpConference.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
2020 </tr></table>
2121 <div class="chapter">
2222 <div class="titlepage"><div><div><h2 class="title">
23 <a name="id538582"></a>RTP Plugin</h2></div></div></div>
23 <a name="id341582"></a>RTP Plugin</h2></div></div></div>
2424 <div class="toc"><dl>
2525 <dt>
26 <span class="refentrytitle"><a href="farstream-plugins-FsRtpConference.html">FsRtpConference</a></span><span class="refpurpose"> — Farstream RTP Conference Gstreamer Elements</span>
26 <span class="refentrytitle"><a href="FsRtpConference.html">FsRtpConference</a></span><span class="refpurpose"> — Farstream RTP Conference Gstreamer Elements</span>
2727 </dt>
2828 <dt>
29 <span class="refentrytitle"><a href="farstream-plugins-FsRtpParticipant.html">FsRtpParticipant</a></span><span class="refpurpose"> — A RTP participant in a <a class="link" href="farstream-plugins-FsRtpConference.html#FsRtpConference" title="struct FsRtpConference"><span class="type">FsRtpConference</span></a></span>
29 <span class="refentrytitle"><a href="FsRtpParticipant.html">FsRtpParticipant</a></span><span class="refpurpose"> — A RTP participant in a <a class="link" href="FsRtpConference.html" title="FsRtpConference"><span class="type">FsRtpConference</span></a></span>
3030 </dt>
3131 <dt>
32 <span class="refentrytitle"><a href="farstream-plugins-FsRtpSession.html">FsRtpSession</a></span><span class="refpurpose"> — A RTP session in a <a class="link" href="farstream-plugins-FsRtpConference.html#FsRtpConference" title="struct FsRtpConference"><span class="type">FsRtpConference</span></a></span>
32 <span class="refentrytitle"><a href="FsRtpSession.html">FsRtpSession</a></span><span class="refpurpose"> — A RTP session in a <a class="link" href="FsRtpConference.html" title="FsRtpConference"><span class="type">FsRtpConference</span></a></span>
3333 </dt>
3434 <dt>
35 <span class="refentrytitle"><a href="farstream-plugins-FsRtpStream.html">FsRtpStream</a></span><span class="refpurpose"> — A RTP stream in a <a class="link" href="farstream-plugins-FsRtpSession.html#FsRtpSession" title="FsRtpSession"><span class="type">FsRtpSession</span></a> in a <a class="link" href="farstream-plugins-FsRtpConference.html#FsRtpConference" title="struct FsRtpConference"><span class="type">FsRtpConference</span></a></span>
35 <span class="refentrytitle"><a href="FsRtpStream.html">FsRtpStream</a></span><span class="refpurpose"> — A RTP stream in a <a class="link" href="FsRtpSession.html" title="FsRtpSession"><span class="type">FsRtpSession</span></a> in a <a class="link" href="FsRtpConference.html" title="FsRtpConference"><span class="type">FsRtpConference</span></a></span>
3636 </dt>
3737 </dl></div>
3838 </div>
3939 <div class="footer">
4040 <hr>
41 Generated by GTK-Doc V1.18.1</div>
41 Generated by GTK-Doc V1.18</div>
4242 </body>
4343 </html>
55 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
66 <link rel="home" href="index.html" title="Farstream Plugins Manual">
77 <link rel="up" href="pt01.html" title="Part I. Plugins implementing FsConference">
8 <link rel="prev" href="farstream-plugins-FsRtpStream.html" title="FsRtpStream">
9 <link rel="next" href="farstream-plugins-FsRawConference.html" title="FsRawConference">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
8 <link rel="prev" href="FsRtpStream.html" title="FsRtpStream">
9 <link rel="next" href="FsRawConference.html" title="FsRawConference">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
1414 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
15 <td><a accesskey="p" href="farstream-plugins-FsRtpStream.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
15 <td><a accesskey="p" href="FsRtpStream.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
1616 <td><a accesskey="u" href="pt01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
1717 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
1818 <th width="100%" align="center">Farstream Plugins Manual</th>
19 <td><a accesskey="n" href="farstream-plugins-FsRawConference.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
19 <td><a accesskey="n" href="FsRawConference.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
2020 </tr></table>
2121 <div class="chapter">
2222 <div class="titlepage"><div><div><h2 class="title">
23 <a name="id543802"></a>Raw Plugin</h2></div></div></div>
23 <a name="id371083"></a>Raw Plugin</h2></div></div></div>
2424 <div class="toc"><dl>
2525 <dt>
26 <span class="refentrytitle"><a href="farstream-plugins-FsRawConference.html">FsRawConference</a></span><span class="refpurpose"> — Farstream Raw Conference Gstreamer Elements Base class</span>
26 <span class="refentrytitle"><a href="FsRawConference.html">FsRawConference</a></span><span class="refpurpose"> — Farstream Raw Conference Gstreamer Elements Base class</span>
2727 </dt>
2828 <dt>
29 <span class="refentrytitle"><a href="farstream-plugins-FsRawParticipant.html">FsRawParticipant</a></span><span class="refpurpose"> — A Raw participant in a <a class="link" href="farstream-plugins-FsRawConference.html#FsRawConference" title="struct FsRawConference"><span class="type">FsRawConference</span></a></span>
29 <span class="refentrytitle"><a href="farstream-plugins-FsRawParticipant.html">FsRawParticipant</a></span><span class="refpurpose"> — A Raw participant in a <a class="link" href="FsRawConference.html" title="FsRawConference"><span class="type">FsRawConference</span></a></span>
3030 </dt>
3131 <dt>
32 <span class="refentrytitle"><a href="farstream-plugins-FsRawSession.html">FsRawSession</a></span><span class="refpurpose"> — A Raw session in a <a class="link" href="farstream-plugins-FsRawConference.html#FsRawConference" title="struct FsRawConference"><span class="type">FsRawConference</span></a></span>
32 <span class="refentrytitle"><a href="farstream-plugins-FsRawSession.html">FsRawSession</a></span><span class="refpurpose"> — A Raw session in a <a class="link" href="FsRawConference.html" title="FsRawConference"><span class="type">FsRawConference</span></a></span>
3333 </dt>
3434 <dt>
35 <span class="refentrytitle"><a href="farstream-plugins-FsRawStream.html">FsRawStream</a></span><span class="refpurpose"> — A raw stream in a <a class="link" href="farstream-plugins-FsRawSession.html#FsRawSession" title="FsRawSession"><span class="type">FsRawSession</span></a> in a <a class="link" href="farstream-plugins-FsRawConference.html#FsRawConference" title="struct FsRawConference"><span class="type">FsRawConference</span></a></span>
35 <span class="refentrytitle"><a href="farstream-plugins-FsRawStream.html">FsRawStream</a></span><span class="refpurpose"> — A raw stream in a <a class="link" href="farstream-plugins-FsRawSession.html#FsRawSession" title="FsRawSession"><span class="type">FsRawSession</span></a> in a <a class="link" href="FsRawConference.html" title="FsRawConference"><span class="type">FsRawConference</span></a></span>
3636 </dt>
3737 </dl></div>
3838 </div>
3939 <div class="footer">
4040 <hr>
41 Generated by GTK-Doc V1.18.1</div>
41 Generated by GTK-Doc V1.18</div>
4242 </body>
4343 </html>
66 <link rel="home" href="index.html" title="Farstream Plugins Manual">
77 <link rel="up" href="pt01.html" title="Part I. Plugins implementing FsConference">
88 <link rel="prev" href="farstream-plugins-FsRawStream.html" title="FsRawStream">
9 <link rel="next" href="farstream-plugins-FsMsnCamSendConference.html" title="FsMsnCamSendConference">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
9 <link rel="next" href="FsMsnCamSendConference.html" title="FsMsnCamSendConference">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
1616 <td><a accesskey="u" href="pt01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
1717 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
1818 <th width="100%" align="center">Farstream Plugins Manual</th>
19 <td><a accesskey="n" href="farstream-plugins-FsMsnCamSendConference.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
19 <td><a accesskey="n" href="FsMsnCamSendConference.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
2020 </tr></table>
2121 <div class="chapter">
2222 <div class="titlepage"><div><div><h2 class="title">
23 <a name="id543826"></a>MSN Webcam plugin</h2></div></div></div>
23 <a name="id371107"></a>MSN Webcam plugin</h2></div></div></div>
2424 <div class="toc"><dl>
2525 <dt>
26 <span class="refentrytitle"><a href="farstream-plugins-FsMsnCamSendConference.html">FsMsnCamSendConference</a></span><span class="refpurpose"> — Farstream MSN send Conference Gstreamer Element</span>
26 <span class="refentrytitle"><a href="FsMsnCamSendConference.html">FsMsnCamSendConference</a></span><span class="refpurpose"> — Farstream MSN send Conference Gstreamer Element</span>
2727 </dt>
2828 <dt>
2929 <span class="refentrytitle"><a href="farstream-plugins-FsMsnCamCamRecvConference.html">FsMsnCamCamRecvConference</a></span><span class="refpurpose"> — Farstream MSN Receive Conference Gstreamer Element</span>
3030 </dt>
3131 <dt>
32 <span class="refentrytitle"><a href="farstream-plugins-FsMsnConference.html">FsMsnConference</a></span><span class="refpurpose"> — Farstream MSN Conference Gstreamer Elements Base class</span>
32 <span class="refentrytitle"><a href="FsMsnConference.html">FsMsnConference</a></span><span class="refpurpose"> — Farstream MSN Conference Gstreamer Elements Base class</span>
3333 </dt>
3434 <dt>
35 <span class="refentrytitle"><a href="farstream-plugins-FsMsnParticipant.html">FsMsnParticipant</a></span><span class="refpurpose"> — A MSN participant in a <a class="link" href="farstream-plugins-FsMsnConference.html#FsMsnConference" title="struct FsMsnConference"><span class="type">FsMsnConference</span></a></span>
35 <span class="refentrytitle"><a href="FsMsnParticipant.html">FsMsnParticipant</a></span><span class="refpurpose"> — A MSN participant in a <a class="link" href="FsMsnConference.html" title="FsMsnConference"><span class="type">FsMsnConference</span></a></span>
3636 </dt>
3737 <dt>
38 <span class="refentrytitle"><a href="farstream-plugins-FsMsnSession.html">FsMsnSession</a></span><span class="refpurpose"> — A MSN session in a <a class="link" href="farstream-plugins-FsMsnConference.html#FsMsnConference" title="struct FsMsnConference"><span class="type">FsMsnConference</span></a></span>
38 <span class="refentrytitle"><a href="farstream-plugins-FsMsnSession.html">FsMsnSession</a></span><span class="refpurpose"> — A MSN session in a <a class="link" href="FsMsnConference.html" title="FsMsnConference"><span class="type">FsMsnConference</span></a></span>
3939 </dt>
4040 <dt>
41 <span class="refentrytitle"><a href="farstream-plugins-FsMsnStream.html">FsMsnStream</a></span><span class="refpurpose"> — A MSN stream in a <a class="link" href="farstream-plugins-FsMsnSession.html#FsMsnSession" title="FsMsnSession"><span class="type">FsMsnSession</span></a> in a <a class="link" href="farstream-plugins-FsMsnConference.html#FsMsnConference" title="struct FsMsnConference"><span class="type">FsMsnConference</span></a></span>
41 <span class="refentrytitle"><a href="farstream-plugins-FsMsnStream.html">FsMsnStream</a></span><span class="refpurpose"> — A MSN stream in a <a class="link" href="farstream-plugins-FsMsnSession.html#FsMsnSession" title="FsMsnSession"><span class="type">FsMsnSession</span></a> in a <a class="link" href="FsMsnConference.html" title="FsMsnConference"><span class="type">FsMsnConference</span></a></span>
4242 </dt>
4343 </dl></div>
4444 </div>
4545 <div class="footer">
4646 <hr>
47 Generated by GTK-Doc V1.18.1</div>
47 Generated by GTK-Doc V1.18</div>
4848 </body>
4949 </html>
+0
-140
docs/plugins/html/farstream-plugins-FsFunnel.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsFunnel</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="pt03.html" title="Part III. Utility elements">
8 <link rel="prev" href="pt03.html" title="Part III. Utility elements">
9 <link rel="next" href="farstream-plugins-GstVideoanyrate.html" title="GstVideoanyrate">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="pt03.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="pt03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="farstream-plugins-GstVideoanyrate.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#farstream-plugins-FsFunnel.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#farstream-plugins-FsFunnel.description" class="shortcut">Description</a>
26 </td></tr>
27 </table>
28 <div class="refentry">
29 <a name="farstream-plugins-FsFunnel"></a><div class="titlepage"></div>
30 <div class="refnamediv"><table width="100%"><tr>
31 <td valign="top">
32 <h2><span class="refentrytitle"><a name="farstream-plugins-FsFunnel.top_of_page"></a>FsFunnel</span></h2>
33 <p>FsFunnel — N-to-1 simple funnel</p>
34 </td>
35 <td valign="top" align="right"></td>
36 </tr></table></div>
37 <div class="refsynopsisdiv">
38 <a name="farstream-plugins-FsFunnel.synopsis"></a><h2>Synopsis</h2>
39 <pre class="synopsis">struct <a class="link" href="farstream-plugins-FsFunnel.html#FsFunnel" title="struct FsFunnel">FsFunnel</a>;
40 </pre>
41 </div>
42 <div class="refsect1">
43 <a name="farstream-plugins-FsFunnel.description"></a><h2>Description</h2>
44 <p>
45 Takes packets from various input sinks into one output source
46 </p>
47 <div class="refsynopsisdiv">
48 <h2>Synopsis</h2>
49 <div class="refsect2">
50 <a name="id612656"></a><h3>Element Information</h3>
51 <div class="variablelist"><table border="0">
52 <col align="left" valign="top">
53 <tbody>
54 <tr>
55 <td><p><span class="term">plugin</span></p></td>
56 <td>
57 fsfunnel
58 </td>
59 </tr>
60 <tr>
61 <td><p><span class="term">author</span></p></td>
62 <td>Olivier Crete &lt;olivier.crete@collabora.co.uk&gt;</td>
63 </tr>
64 <tr>
65 <td><p><span class="term">class</span></p></td>
66 <td>Generic</td>
67 </tr>
68 </tbody>
69 </table></div>
70 </div>
71 <hr>
72 <div class="refsect2">
73 <a name="id613514"></a><h3>Element Pads</h3>
74 <div class="variablelist"><table border="0">
75 <col align="left" valign="top">
76 <tbody>
77 <tr>
78 <td><p><span class="term">name</span></p></td>
79 <td>sink%d</td>
80 </tr>
81 <tr>
82 <td><p><span class="term">direction</span></p></td>
83 <td>sink</td>
84 </tr>
85 <tr>
86 <td><p><span class="term">presence</span></p></td>
87 <td>request</td>
88 </tr>
89 <tr>
90 <td><p><span class="term">details</span></p></td>
91 <td>ANY</td>
92 </tr>
93 </tbody>
94 </table></div>
95 <div class="variablelist"><table border="0">
96 <col align="left" valign="top">
97 <tbody>
98 <tr>
99 <td><p><span class="term">name</span></p></td>
100 <td>src</td>
101 </tr>
102 <tr>
103 <td><p><span class="term">direction</span></p></td>
104 <td>source</td>
105 </tr>
106 <tr>
107 <td><p><span class="term">presence</span></p></td>
108 <td>always</td>
109 </tr>
110 <tr>
111 <td><p><span class="term">details</span></p></td>
112 <td>ANY</td>
113 </tr>
114 </tbody>
115 </table></div>
116 </div>
117 </div>
118 <p>
119 </p>
120 </div>
121 <div class="refsect1">
122 <a name="farstream-plugins-FsFunnel.details"></a><h2>Details</h2>
123 <div class="refsect2">
124 <a name="FsFunnel"></a><h3>struct FsFunnel</h3>
125 <pre class="programlisting">struct FsFunnel {
126 GstElement element;
127 };
128 </pre>
129 <p>
130 Opaque <a class="link" href="farstream-plugins-FsFunnel.html#FsFunnel" title="struct FsFunnel"><span class="type">FsFunnel</span></a> data structure.
131 </p>
132 </div>
133 </div>
134 </div>
135 <div class="footer">
136 <hr>
137 Generated by GTK-Doc V1.18.1</div>
138 </body>
139 </html>
55 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
66 <link rel="home" href="index.html" title="Farstream Plugins Manual">
77 <link rel="up" href="ch03.html" title="MSN Webcam plugin">
8 <link rel="prev" href="farstream-plugins-FsMsnCamSendConference.html" title="FsMsnCamSendConference">
9 <link rel="next" href="farstream-plugins-FsMsnConference.html" title="FsMsnConference">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
8 <link rel="prev" href="FsMsnCamSendConference.html" title="FsMsnCamSendConference">
9 <link rel="next" href="FsMsnConference.html" title="FsMsnConference">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
1414 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
1515 <tr valign="middle">
16 <td><a accesskey="p" href="farstream-plugins-FsMsnCamSendConference.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
16 <td><a accesskey="p" href="FsMsnCamSendConference.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
1717 <td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
1818 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
1919 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="farstream-plugins-FsMsnConference.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
20 <td><a accesskey="n" href="FsMsnConference.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
2121 </tr>
2222 <tr><td colspan="5" class="shortcuts">
2323 <a href="#farstream-plugins-FsMsnCamCamRecvConference.synopsis" class="shortcut">Top</a>
2424  | 
2525 <a href="#farstream-plugins-FsMsnCamCamRecvConference.description" class="shortcut">Description</a>
26  | 
27 <a href="#farstream-plugins-FsMsnCamCamRecvConference.object-hierarchy" class="shortcut">Object Hierarchy</a>
28  | 
29 <a href="#farstream-plugins-FsMsnCamCamRecvConference.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
2630 </td></tr>
2731 </table>
2832 <div class="refentry">
3640 </tr></table></div>
3741 <div class="refsynopsisdiv">
3842 <a name="farstream-plugins-FsMsnCamCamRecvConference.synopsis"></a><h2>Synopsis</h2>
39 <pre class="synopsis">struct <a class="link" href="farstream-plugins-FsMsnCamCamRecvConference.html#FsMsnCamRecvConference" title="struct FsMsnCamRecvConference">FsMsnCamRecvConference</a>;
43 <a name="FsMsnCamRecvConference"></a><pre class="synopsis">struct <a class="link" href="farstream-plugins-FsMsnCamCamRecvConference.html#FsMsnCamRecvConference-struct" title="struct FsMsnCamRecvConference">FsMsnCamRecvConference</a>;
4044 </pre>
45 </div>
46 <div class="refsect1">
47 <a name="farstream-plugins-FsMsnCamCamRecvConference.object-hierarchy"></a><h2>Object Hierarchy</h2>
48 <pre class="synopsis">
49 GObject
50 +----GInitiallyUnowned
51 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
52 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
53 +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html">GstBin</a>
54 +----<a href="../farstream-libs-0.11/FsConference.html">FsConference</a>
55 +----<a class="link" href="FsMsnConference.html" title="FsMsnConference">FsMsnConference</a>
56 +----FsMsnCamRecvConference
57 </pre>
58 </div>
59 <div class="refsect1">
60 <a name="farstream-plugins-FsMsnCamCamRecvConference.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
61 <p>
62 FsMsnCamRecvConference implements
63 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstChildProxy.html">GstChildProxy</a>.</p>
4164 </div>
4265 <div class="refsect1">
4366 <a name="farstream-plugins-FsMsnCamCamRecvConference.description"></a><h2>Description</h2>
4972 <div class="refsynopsisdiv">
5073 <h2>Synopsis</h2>
5174 <div class="refsect2">
52 <a name="id599796"></a><h3>Element Information</h3>
75 <a name="id409589"></a><h3>Element Information</h3>
5376 <div class="variablelist"><table border="0">
5477 <col align="left" valign="top">
5578 <tbody>
6184 </tr>
6285 <tr>
6386 <td><p><span class="term">author</span></p></td>
64 <td>Richard Spiers &lt;richard.spiers@gmail.com&gt;, Youness Alaoui &lt;youness.alaoui@collabora.co.uk&gt;, Olivier Crete &lt;olivier.crete@collabora.co.uk&gt;</td>
87 <td>Richard Spiers &lt;richard.spiers@gmail.com&gt;, Youness Alaoui &lt;youness.alaoui@collabora.com&gt;, Olivier Crete &lt;olivier.crete@collabora.com&gt;</td>
6588 </tr>
6689 <tr>
6790 <td><p><span class="term">class</span></p></td>
7295 </div>
7396 <hr>
7497 <div class="refsect2">
75 <a name="id594208"></a><h3>Element Pads</h3>
98 <a name="id413492"></a><h3>Element Pads</h3>
7699 <div class="variablelist"><table border="0">
77100 <col align="left" valign="top">
78101 <tbody>
123146 <div class="refsect1">
124147 <a name="farstream-plugins-FsMsnCamCamRecvConference.details"></a><h2>Details</h2>
125148 <div class="refsect2">
126 <a name="FsMsnCamRecvConference"></a><h3>struct FsMsnCamRecvConference</h3>
127 <pre class="programlisting">struct FsMsnCamRecvConference {
128 FsMsnConference parent;
129 };
130 </pre>
149 <a name="FsMsnCamRecvConference-struct"></a><h3>struct FsMsnCamRecvConference</h3>
150 <pre class="programlisting">struct FsMsnCamRecvConference;</pre>
131151 <p>
132152 </p>
133153 </div>
135155 </div>
136156 <div class="footer">
137157 <hr>
138 Generated by GTK-Doc V1.18.1</div>
158 Generated by GTK-Doc V1.18</div>
139159 </body>
140160 </html>
+0
-141
docs/plugins/html/farstream-plugins-FsMsnCamSendConference.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsMsnCamSendConference</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="ch03.html" title="MSN Webcam plugin">
8 <link rel="prev" href="ch03.html" title="MSN Webcam plugin">
9 <link rel="next" href="farstream-plugins-FsMsnCamCamRecvConference.html" title="FsMsnCamCamRecvConference">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="ch03.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="farstream-plugins-FsMsnCamCamRecvConference.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#farstream-plugins-FsMsnCamSendConference.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#farstream-plugins-FsMsnCamSendConference.description" class="shortcut">Description</a>
26 </td></tr>
27 </table>
28 <div class="refentry">
29 <a name="farstream-plugins-FsMsnCamSendConference"></a><div class="titlepage"></div>
30 <div class="refnamediv"><table width="100%"><tr>
31 <td valign="top">
32 <h2><span class="refentrytitle"><a name="farstream-plugins-FsMsnCamSendConference.top_of_page"></a>FsMsnCamSendConference</span></h2>
33 <p>FsMsnCamSendConference — Farstream MSN send Conference Gstreamer Element</p>
34 </td>
35 <td valign="top" align="right"></td>
36 </tr></table></div>
37 <div class="refsynopsisdiv">
38 <a name="farstream-plugins-FsMsnCamSendConference.synopsis"></a><h2>Synopsis</h2>
39 <pre class="synopsis">struct <a class="link" href="farstream-plugins-FsMsnCamSendConference.html#FsMsnCamSendConference" title="struct FsMsnCamSendConference">FsMsnCamSendConference</a>;
40 </pre>
41 </div>
42 <div class="refsect1">
43 <a name="farstream-plugins-FsMsnCamSendConference.description"></a><h2>Description</h2>
44 <p>
45 This element implements the unidirection webcam feature found in various
46 version of MSN Messenger (tm) and Windows Live Messenger (tm). This is
47 to send the local webcam's video to someone else.
48 </p>
49 <div class="refsynopsisdiv">
50 <h2>Synopsis</h2>
51 <div class="refsect2">
52 <a name="id591611"></a><h3>Element Information</h3>
53 <div class="variablelist"><table border="0">
54 <col align="left" valign="top">
55 <tbody>
56 <tr>
57 <td><p><span class="term">plugin</span></p></td>
58 <td>
59 fsmsnconference
60 </td>
61 </tr>
62 <tr>
63 <td><p><span class="term">author</span></p></td>
64 <td>Richard Spiers &lt;richard.spiers@gmail.com&gt;, Youness Alaoui &lt;youness.alaoui@collabora.co.uk&gt;, Olivier Crete &lt;olivier.crete@collabora.co.uk&gt;</td>
65 </tr>
66 <tr>
67 <td><p><span class="term">class</span></p></td>
68 <td>Generic/Bin/MSN</td>
69 </tr>
70 </tbody>
71 </table></div>
72 </div>
73 <hr>
74 <div class="refsect2">
75 <a name="id596717"></a><h3>Element Pads</h3>
76 <div class="variablelist"><table border="0">
77 <col align="left" valign="top">
78 <tbody>
79 <tr>
80 <td><p><span class="term">name</span></p></td>
81 <td>sink_%d</td>
82 </tr>
83 <tr>
84 <td><p><span class="term">direction</span></p></td>
85 <td>sink</td>
86 </tr>
87 <tr>
88 <td><p><span class="term">presence</span></p></td>
89 <td>sometimes</td>
90 </tr>
91 <tr>
92 <td><p><span class="term">details</span></p></td>
93 <td>ANY</td>
94 </tr>
95 </tbody>
96 </table></div>
97 <div class="variablelist"><table border="0">
98 <col align="left" valign="top">
99 <tbody>
100 <tr>
101 <td><p><span class="term">name</span></p></td>
102 <td>src_%d_%d_%d</td>
103 </tr>
104 <tr>
105 <td><p><span class="term">direction</span></p></td>
106 <td>source</td>
107 </tr>
108 <tr>
109 <td><p><span class="term">presence</span></p></td>
110 <td>sometimes</td>
111 </tr>
112 <tr>
113 <td><p><span class="term">details</span></p></td>
114 <td>ANY</td>
115 </tr>
116 </tbody>
117 </table></div>
118 </div>
119 </div>
120 <p>
121 </p>
122 </div>
123 <div class="refsect1">
124 <a name="farstream-plugins-FsMsnCamSendConference.details"></a><h2>Details</h2>
125 <div class="refsect2">
126 <a name="FsMsnCamSendConference"></a><h3>struct FsMsnCamSendConference</h3>
127 <pre class="programlisting">struct FsMsnCamSendConference {
128 FsMsnConference parent;
129 };
130 </pre>
131 <p>
132 </p>
133 </div>
134 </div>
135 </div>
136 <div class="footer">
137 <hr>
138 Generated by GTK-Doc V1.18.1</div>
139 </body>
140 </html>
+0
-72
docs/plugins/html/farstream-plugins-FsMsnConference.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsMsnConference</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="ch03.html" title="MSN Webcam plugin">
8 <link rel="prev" href="farstream-plugins-FsMsnCamCamRecvConference.html" title="FsMsnCamCamRecvConference">
9 <link rel="next" href="farstream-plugins-FsMsnParticipant.html" title="FsMsnParticipant">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="farstream-plugins-FsMsnCamCamRecvConference.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="farstream-plugins-FsMsnParticipant.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#farstream-plugins-FsMsnConference.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#farstream-plugins-FsMsnConference.description" class="shortcut">Description</a>
26 </td></tr>
27 </table>
28 <div class="refentry">
29 <a name="farstream-plugins-FsMsnConference"></a><div class="titlepage"></div>
30 <div class="refnamediv"><table width="100%"><tr>
31 <td valign="top">
32 <h2><span class="refentrytitle"><a name="farstream-plugins-FsMsnConference.top_of_page"></a>FsMsnConference</span></h2>
33 <p>FsMsnConference — Farstream MSN Conference Gstreamer Elements Base class</p>
34 </td>
35 <td valign="top" align="right"></td>
36 </tr></table></div>
37 <div class="refsynopsisdiv">
38 <a name="farstream-plugins-FsMsnConference.synopsis"></a><h2>Synopsis</h2>
39 <pre class="synopsis">struct <a class="link" href="farstream-plugins-FsMsnConference.html#FsMsnConference" title="struct FsMsnConference">FsMsnConference</a>;
40 </pre>
41 </div>
42 <div class="refsect1">
43 <a name="farstream-plugins-FsMsnConference.description"></a><h2>Description</h2>
44 <p>
45 This element implements the unidirection webcam feature found in various
46 version of MSN Messenger (tm) and Windows Live Messenger (tm).
47 </p>
48 </div>
49 <div class="refsect1">
50 <a name="farstream-plugins-FsMsnConference.details"></a><h2>Details</h2>
51 <div class="refsect2">
52 <a name="FsMsnConference"></a><h3>struct FsMsnConference</h3>
53 <pre class="programlisting">struct FsMsnConference {
54 FsConference parent;
55 FsMsnConferencePrivate *priv;
56
57 FsStreamDirection max_direction;
58
59 GError *missing_element_error;
60 };
61 </pre>
62 <p>
63 </p>
64 </div>
65 </div>
66 </div>
67 <div class="footer">
68 <hr>
69 Generated by GTK-Doc V1.18.1</div>
70 </body>
71 </html>
+0
-61
docs/plugins/html/farstream-plugins-FsMsnParticipant.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsMsnParticipant</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="ch03.html" title="MSN Webcam plugin">
8 <link rel="prev" href="farstream-plugins-FsMsnConference.html" title="FsMsnConference">
9 <link rel="next" href="farstream-plugins-FsMsnSession.html" title="FsMsnSession">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="farstream-plugins-FsMsnConference.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="farstream-plugins-FsMsnSession.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#farstream-plugins-FsMsnParticipant.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#farstream-plugins-FsMsnParticipant.description" class="shortcut">Description</a>
26 </td></tr>
27 </table>
28 <div class="refentry">
29 <a name="farstream-plugins-FsMsnParticipant"></a><div class="titlepage"></div>
30 <div class="refnamediv"><table width="100%"><tr>
31 <td valign="top">
32 <h2><span class="refentrytitle"><a name="farstream-plugins-FsMsnParticipant.top_of_page"></a>FsMsnParticipant</span></h2>
33 <p>FsMsnParticipant — A MSN participant in a <a class="link" href="farstream-plugins-FsMsnConference.html#FsMsnConference" title="struct FsMsnConference"><span class="type">FsMsnConference</span></a></p>
34 </td>
35 <td valign="top" align="right"></td>
36 </tr></table></div>
37 <div class="refsynopsisdiv">
38 <a name="farstream-plugins-FsMsnParticipant.synopsis"></a><h2>Synopsis</h2>
39 <pre class="synopsis"> <a class="link" href="farstream-plugins-FsMsnParticipant.html#FsMsnParticipant" title="FsMsnParticipant">FsMsnParticipant</a>;
40 </pre>
41 </div>
42 <div class="refsect1">
43 <a name="farstream-plugins-FsMsnParticipant.description"></a><h2>Description</h2>
44 <p>
45 This object represents one participant or person in a conference
46 </p>
47 </div>
48 <div class="refsect1">
49 <a name="farstream-plugins-FsMsnParticipant.details"></a><h2>Details</h2>
50 <div class="refsect2">
51 <a name="FsMsnParticipant"></a><h3>FsMsnParticipant</h3>
52 <pre class="programlisting">typedef struct _FsMsnParticipant FsMsnParticipant;</pre>
53 </div>
54 </div>
55 </div>
56 <div class="footer">
57 <hr>
58 Generated by GTK-Doc V1.18.1</div>
59 </body>
60 </html>
55 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
66 <link rel="home" href="index.html" title="Farstream Plugins Manual">
77 <link rel="up" href="ch03.html" title="MSN Webcam plugin">
8 <link rel="prev" href="farstream-plugins-FsMsnParticipant.html" title="FsMsnParticipant">
8 <link rel="prev" href="FsMsnParticipant.html" title="FsMsnParticipant">
99 <link rel="next" href="farstream-plugins-FsMsnStream.html" title="FsMsnStream">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
1414 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
1515 <tr valign="middle">
16 <td><a accesskey="p" href="farstream-plugins-FsMsnParticipant.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
16 <td><a accesskey="p" href="FsMsnParticipant.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
1717 <td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
1818 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
1919 <th width="100%" align="center">Farstream Plugins Manual</th>
3030 <div class="refnamediv"><table width="100%"><tr>
3131 <td valign="top">
3232 <h2><span class="refentrytitle"><a name="farstream-plugins-FsMsnSession.top_of_page"></a>FsMsnSession</span></h2>
33 <p>FsMsnSession — A MSN session in a <a class="link" href="farstream-plugins-FsMsnConference.html#FsMsnConference" title="struct FsMsnConference"><span class="type">FsMsnConference</span></a></p>
33 <p>FsMsnSession — A MSN session in a <a class="link" href="FsMsnConference.html" title="FsMsnConference"><span class="type">FsMsnConference</span></a></p>
3434 </td>
3535 <td valign="top" align="right"></td>
3636 </tr></table></div>
4949 the <span class="type">"direction"</span> property.
5050 </p>
5151 <p>
52 The transmitter parameters to the <a href="../farstream-libs-0.10/FsSession.html#fs-session-new-stream"><code class="function">fs_session_new_stream()</code></a> function are
52 The transmitter parameters to the <a href="../farstream-libs-0.11/FsSession.html#fs-session-new-stream"><code class="function">fs_session_new_stream()</code></a> function are
5353 used to set the initial value of the construct properties of the stream
5454 object. This plugin does not use transmitter plugins, so the transmitter
5555 parameter itself is ignored.
6969 </div>
7070 <div class="footer">
7171 <hr>
72 Generated by GTK-Doc V1.18.1</div>
72 Generated by GTK-Doc V1.18</div>
7373 </body>
7474 </html>
77 <link rel="up" href="ch03.html" title="MSN Webcam plugin">
88 <link rel="prev" href="farstream-plugins-FsMsnSession.html" title="FsMsnSession">
99 <link rel="next" href="pt02.html" title="Part II. Transmitters">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
3030 <div class="refnamediv"><table width="100%"><tr>
3131 <td valign="top">
3232 <h2><span class="refentrytitle"><a name="farstream-plugins-FsMsnStream.top_of_page"></a>FsMsnStream</span></h2>
33 <p>FsMsnStream — A MSN stream in a <a class="link" href="farstream-plugins-FsMsnSession.html#FsMsnSession" title="FsMsnSession"><span class="type">FsMsnSession</span></a> in a <a class="link" href="farstream-plugins-FsMsnConference.html#FsMsnConference" title="struct FsMsnConference"><span class="type">FsMsnConference</span></a></p>
33 <p>FsMsnStream — A MSN stream in a <a class="link" href="farstream-plugins-FsMsnSession.html#FsMsnSession" title="FsMsnSession"><span class="type">FsMsnSession</span></a> in a <a class="link" href="FsMsnConference.html" title="FsMsnConference"><span class="type">FsMsnConference</span></a></p>
3434 </td>
3535 <td valign="top" align="right"></td>
3636 </tr></table></div>
4747 is unidirectional.
4848 </p>
4949 <p>
50 The "foundation" field of the local <a href="../farstream-libs-0.10/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a> contains the "recipient-id"
50 The "foundation" field of the local <a href="../farstream-libs-0.11/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a> contains the "recipient-id"
5151 that must be transmitted to the peer.
5252 </p>
5353 <p>
5454 The session id can either be retrieved as a property, but it is also
55 put into every <a href="../farstream-libs-0.10/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a> in the "username" field.
55 put into every <a href="../farstream-libs-0.11/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a> in the "username" field.
5656 </p>
5757 <p>
5858 If the peer started the webcam session, it picks the session-id, it can then
59 be set either in the transmitter parameters field of <a href="../farstream-libs-0.10/FsSession.html#fs-session-new-stream"><code class="function">fs_session_new_stream()</code></a>
60 or by putting it in the "username" field of the remote <a href="../farstream-libs-0.10/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a>.
59 be set either in the transmitter parameters field of <a href="../farstream-libs-0.11/FsSession.html#fs-session-new-stream"><code class="function">fs_session_new_stream()</code></a>
60 or by putting it in the "username" field of the remote <a href="../farstream-libs-0.11/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a>.
6161 </p>
6262 </div>
6363 <div class="refsect1">
7070 </div>
7171 <div class="footer">
7272 <hr>
73 Generated by GTK-Doc V1.18.1</div>
73 Generated by GTK-Doc V1.18</div>
7474 </body>
7575 </html>
77 <link rel="up" href="pt02.html" title="Part II. Transmitters">
88 <link rel="prev" href="farstream-plugins-FsRawUdpStreamTransmitter.html" title="FsRawUdpStreamTransmitter">
99 <link rel="next" href="farstream-plugins-FsNiceStreamTransmitter.html" title="FsNiceStreamTransmitter">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
9393 </div>
9494 <div class="footer">
9595 <hr>
96 Generated by GTK-Doc V1.18.1</div>
96 Generated by GTK-Doc V1.18</div>
9797 </body>
9898 </html>
77 <link rel="up" href="pt02.html" title="Part II. Transmitters">
88 <link rel="prev" href="farstream-plugins-FsMulticastStreamTransmitter.html" title="FsMulticastStreamTransmitter">
99 <link rel="next" href="farstream-plugins-FsShmStreamTransmitter.html" title="FsShmStreamTransmitter">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
6363 </div>
6464 <div class="footer">
6565 <hr>
66 Generated by GTK-Doc V1.18.1</div>
66 Generated by GTK-Doc V1.18</div>
6767 </body>
6868 </html>
+0
-140
docs/plugins/html/farstream-plugins-FsRawConference.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsRawConference</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="ch02.html" title="Raw Plugin">
8 <link rel="prev" href="ch02.html" title="Raw Plugin">
9 <link rel="next" href="farstream-plugins-FsRawParticipant.html" title="FsRawParticipant">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="ch02.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="ch02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="farstream-plugins-FsRawParticipant.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#farstream-plugins-FsRawConference.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#farstream-plugins-FsRawConference.description" class="shortcut">Description</a>
26 </td></tr>
27 </table>
28 <div class="refentry">
29 <a name="farstream-plugins-FsRawConference"></a><div class="titlepage"></div>
30 <div class="refnamediv"><table width="100%"><tr>
31 <td valign="top">
32 <h2><span class="refentrytitle"><a name="farstream-plugins-FsRawConference.top_of_page"></a>FsRawConference</span></h2>
33 <p>FsRawConference — Farstream Raw Conference Gstreamer Elements Base class</p>
34 </td>
35 <td valign="top" align="right"></td>
36 </tr></table></div>
37 <div class="refsynopsisdiv">
38 <a name="farstream-plugins-FsRawConference.synopsis"></a><h2>Synopsis</h2>
39 <pre class="synopsis">struct <a class="link" href="farstream-plugins-FsRawConference.html#FsRawConference" title="struct FsRawConference">FsRawConference</a>;
40 </pre>
41 </div>
42 <div class="refsect1">
43 <a name="farstream-plugins-FsRawConference.description"></a><h2>Description</h2>
44 <p>
45 This element implements a raw content stream over which any Gstreamer
46 content may travel.
47 </p>
48 <div class="refsynopsisdiv">
49 <h2>Synopsis</h2>
50 <div class="refsect2">
51 <a name="id580043"></a><h3>Element Information</h3>
52 <div class="variablelist"><table border="0">
53 <col align="left" valign="top">
54 <tbody>
55 <tr>
56 <td><p><span class="term">plugin</span></p></td>
57 <td>
58 fsrawconference
59 </td>
60 </tr>
61 <tr>
62 <td><p><span class="term">author</span></p></td>
63 <td>Erik Walthinsen &lt;omega@cse.ogi.edu&gt;,Wim Taymans &lt;wim.taymans@gmail.com&gt;</td>
64 </tr>
65 <tr>
66 <td><p><span class="term">class</span></p></td>
67 <td>Generic/Bin</td>
68 </tr>
69 </tbody>
70 </table></div>
71 </div>
72 <hr>
73 <div class="refsect2">
74 <a name="id600635"></a><h3>Element Pads</h3>
75 <div class="variablelist"><table border="0">
76 <col align="left" valign="top">
77 <tbody>
78 <tr>
79 <td><p><span class="term">name</span></p></td>
80 <td>sink_%d</td>
81 </tr>
82 <tr>
83 <td><p><span class="term">direction</span></p></td>
84 <td>sink</td>
85 </tr>
86 <tr>
87 <td><p><span class="term">presence</span></p></td>
88 <td>sometimes</td>
89 </tr>
90 <tr>
91 <td><p><span class="term">details</span></p></td>
92 <td>ANY</td>
93 </tr>
94 </tbody>
95 </table></div>
96 <div class="variablelist"><table border="0">
97 <col align="left" valign="top">
98 <tbody>
99 <tr>
100 <td><p><span class="term">name</span></p></td>
101 <td>src_%d</td>
102 </tr>
103 <tr>
104 <td><p><span class="term">direction</span></p></td>
105 <td>source</td>
106 </tr>
107 <tr>
108 <td><p><span class="term">presence</span></p></td>
109 <td>sometimes</td>
110 </tr>
111 <tr>
112 <td><p><span class="term">details</span></p></td>
113 <td>ANY</td>
114 </tr>
115 </tbody>
116 </table></div>
117 </div>
118 </div>
119 <p>
120 </p>
121 </div>
122 <div class="refsect1">
123 <a name="farstream-plugins-FsRawConference.details"></a><h2>Details</h2>
124 <div class="refsect2">
125 <a name="FsRawConference"></a><h3>struct FsRawConference</h3>
126 <pre class="programlisting">struct FsRawConference {
127 FsConference parent;
128 };
129 </pre>
130 <p>
131 </p>
132 </div>
133 </div>
134 </div>
135 <div class="footer">
136 <hr>
137 Generated by GTK-Doc V1.18.1</div>
138 </body>
139 </html>
55 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
66 <link rel="home" href="index.html" title="Farstream Plugins Manual">
77 <link rel="up" href="ch02.html" title="Raw Plugin">
8 <link rel="prev" href="farstream-plugins-FsRawConference.html" title="FsRawConference">
8 <link rel="prev" href="FsRawConference.html" title="FsRawConference">
99 <link rel="next" href="farstream-plugins-FsRawSession.html" title="FsRawSession">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
1414 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
1515 <tr valign="middle">
16 <td><a accesskey="p" href="farstream-plugins-FsRawConference.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
16 <td><a accesskey="p" href="FsRawConference.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
1717 <td><a accesskey="u" href="ch02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
1818 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
1919 <th width="100%" align="center">Farstream Plugins Manual</th>
3030 <div class="refnamediv"><table width="100%"><tr>
3131 <td valign="top">
3232 <h2><span class="refentrytitle"><a name="farstream-plugins-FsRawParticipant.top_of_page"></a>FsRawParticipant</span></h2>
33 <p>FsRawParticipant — A Raw participant in a <a class="link" href="farstream-plugins-FsRawConference.html#FsRawConference" title="struct FsRawConference"><span class="type">FsRawConference</span></a></p>
33 <p>FsRawParticipant — A Raw participant in a <a class="link" href="FsRawConference.html" title="FsRawConference"><span class="type">FsRawConference</span></a></p>
3434 </td>
3535 <td valign="top" align="right"></td>
3636 </tr></table></div>
5555 </div>
5656 <div class="footer">
5757 <hr>
58 Generated by GTK-Doc V1.18.1</div>
58 Generated by GTK-Doc V1.18</div>
5959 </body>
6060 </html>
77 <link rel="up" href="ch02.html" title="Raw Plugin">
88 <link rel="prev" href="farstream-plugins-FsRawParticipant.html" title="FsRawParticipant">
99 <link rel="next" href="farstream-plugins-FsRawStream.html" title="FsRawStream">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
3030 <div class="refnamediv"><table width="100%"><tr>
3131 <td valign="top">
3232 <h2><span class="refentrytitle"><a name="farstream-plugins-FsRawSession.top_of_page"></a>FsRawSession</span></h2>
33 <p>FsRawSession — A Raw session in a <a class="link" href="farstream-plugins-FsRawConference.html#FsRawConference" title="struct FsRawConference"><span class="type">FsRawConference</span></a></p>
33 <p>FsRawSession — A Raw session in a <a class="link" href="FsRawConference.html" title="FsRawConference"><span class="type">FsRawConference</span></a></p>
3434 </td>
3535 <td valign="top" align="right"></td>
3636 </tr></table></div>
4242 <div class="refsect1">
4343 <a name="farstream-plugins-FsRawSession.description"></a><h2>Description</h2>
4444 <p>
45 The transmitter parameters to the <a href="../farstream-libs-0.10/FsSession.html#fs-session-new-stream"><code class="function">fs_session_new_stream()</code></a> function are
45 The transmitter parameters to the <a href="../farstream-libs-0.11/FsSession.html#fs-session-new-stream"><code class="function">fs_session_new_stream()</code></a> function are
4646 used to set the initial value of the construct properties of the stream
4747 object.
4848 </p>
6161 </div>
6262 <div class="footer">
6363 <hr>
64 Generated by GTK-Doc V1.18.1</div>
64 Generated by GTK-Doc V1.18</div>
6565 </body>
6666 </html>
77 <link rel="up" href="ch02.html" title="Raw Plugin">
88 <link rel="prev" href="farstream-plugins-FsRawSession.html" title="FsRawSession">
99 <link rel="next" href="ch03.html" title="MSN Webcam plugin">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
3030 <div class="refnamediv"><table width="100%"><tr>
3131 <td valign="top">
3232 <h2><span class="refentrytitle"><a name="farstream-plugins-FsRawStream.top_of_page"></a>FsRawStream</span></h2>
33 <p>FsRawStream — A raw stream in a <a class="link" href="farstream-plugins-FsRawSession.html#FsRawSession" title="FsRawSession"><span class="type">FsRawSession</span></a> in a <a class="link" href="farstream-plugins-FsRawConference.html#FsRawConference" title="struct FsRawConference"><span class="type">FsRawConference</span></a></p>
33 <p>FsRawStream — A raw stream in a <a class="link" href="farstream-plugins-FsRawSession.html#FsRawSession" title="FsRawSession"><span class="type">FsRawSession</span></a> in a <a class="link" href="FsRawConference.html" title="FsRawConference"><span class="type">FsRawConference</span></a></p>
3434 </td>
3535 <td valign="top" align="right"></td>
3636 </tr></table></div>
6565 </div>
6666 <div class="footer">
6767 <hr>
68 Generated by GTK-Doc V1.18.1</div>
68 Generated by GTK-Doc V1.18</div>
6969 </body>
7070 </html>
77 <link rel="up" href="pt02.html" title="Part II. Transmitters">
88 <link rel="prev" href="pt02.html" title="Part II. Transmitters">
99 <link rel="next" href="farstream-plugins-FsMulticastStreamTransmitter.html" title="FsMulticastStreamTransmitter">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
5454 </p>
5555 <p>
5656 You can configure the address and port it will listen on by setting the
57 "preferred-local-candidates" property. This property will contain a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a>
58 of <a href="../farstream-libs-0.10/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a>. These <a href="../farstream-libs-0.10/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a> must be for <a href="../farstream-libs-0.10/farstream-libs-FsCandidate.html#FS-NETWORK-PROTOCOL-UDP:CAPS"><span class="type">FS_NETWORK_PROTOCOL_UDP</span></a>.
57 "preferred-local-candidates" property. This property will contain a <span class="type">GList</span>
58 of <a href="../farstream-libs-0.11/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a>. These <a href="../farstream-libs-0.11/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a> must be for <a href="../farstream-libs-0.11/farstream-libs-FsCandidate.html#FS-NETWORK-PROTOCOL-UDP:CAPS"><span class="type">FS_NETWORK_PROTOCOL_UDP</span></a>.
5959 These port and/or the ip can be set on these candidates to force them,
6060 and this is per-component. If not all components have a port set, the
6161 following components will be on the following ports. There is no guarantee
9797 </div>
9898 <div class="footer">
9999 <hr>
100 Generated by GTK-Doc V1.18.1</div>
100 Generated by GTK-Doc V1.18</div>
101101 </body>
102102 </html>
+0
-161
docs/plugins/html/farstream-plugins-FsRtpConference.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsRtpConference</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="ch01.html" title="RTP Plugin">
8 <link rel="prev" href="ch01.html" title="RTP Plugin">
9 <link rel="next" href="farstream-plugins-FsRtpParticipant.html" title="FsRtpParticipant">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="ch01.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="farstream-plugins-FsRtpParticipant.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#farstream-plugins-FsRtpConference.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#farstream-plugins-FsRtpConference.description" class="shortcut">Description</a>
26  | 
27 <a href="#farstream-plugins-FsRtpConference.properties" class="shortcut">Properties</a>
28 </td></tr>
29 </table>
30 <div class="refentry">
31 <a name="farstream-plugins-FsRtpConference"></a><div class="titlepage"></div>
32 <div class="refnamediv"><table width="100%"><tr>
33 <td valign="top">
34 <h2><span class="refentrytitle"><a name="farstream-plugins-FsRtpConference.top_of_page"></a>FsRtpConference</span></h2>
35 <p>FsRtpConference — Farstream RTP Conference Gstreamer Elements</p>
36 </td>
37 <td valign="top" align="right"></td>
38 </tr></table></div>
39 <div class="refsynopsisdiv">
40 <a name="farstream-plugins-FsRtpConference.synopsis"></a><h2>Synopsis</h2>
41 <pre class="synopsis">struct <a class="link" href="farstream-plugins-FsRtpConference.html#FsRtpConference" title="struct FsRtpConference">FsRtpConference</a>;
42 </pre>
43 </div>
44 <div class="refsect1">
45 <a name="farstream-plugins-FsRtpConference.properties"></a><h2>Properties</h2>
46 <pre class="synopsis">
47 "<a class="link" href="farstream-plugins-FsRtpConference.html#FsRtpConference--sdes" title='The "sdes" property'>sdes</a>" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a>* : Read / Write
48 </pre>
49 </div>
50 <div class="refsect1">
51 <a name="farstream-plugins-FsRtpConference.description"></a><h2>Description</h2>
52 <p>
53 This is the core gstreamer element for a RTP conference. It must be added
54 to your pipeline before anything else is done. Then you create the session,
55 participants and streams according to the <a href="../farstream-libs-0.10/FsConference.html"><span class="type">FsConference</span></a> interface.
56 </p>
57 <p>
58 The various sdes property allow you to set the content of the SDES packet
59 in the sent RTCP reports.
60 </p>
61 <div class="refsynopsisdiv">
62 <h2>Synopsis</h2>
63 <div class="refsect2">
64 <a name="id603427"></a><h3>Element Information</h3>
65 <div class="variablelist"><table border="0">
66 <col align="left" valign="top">
67 <tbody>
68 <tr>
69 <td><p><span class="term">plugin</span></p></td>
70 <td>
71 fsrtpconference
72 </td>
73 </tr>
74 <tr>
75 <td><p><span class="term">author</span></p></td>
76 <td>Olivier Crete &lt;olivier.crete@collabora.co.uk&gt;</td>
77 </tr>
78 <tr>
79 <td><p><span class="term">class</span></p></td>
80 <td>Generic/Bin/RTP</td>
81 </tr>
82 </tbody>
83 </table></div>
84 </div>
85 <hr>
86 <div class="refsect2">
87 <a name="id551021"></a><h3>Element Pads</h3>
88 <div class="variablelist"><table border="0">
89 <col align="left" valign="top">
90 <tbody>
91 <tr>
92 <td><p><span class="term">name</span></p></td>
93 <td>sink_%d</td>
94 </tr>
95 <tr>
96 <td><p><span class="term">direction</span></p></td>
97 <td>sink</td>
98 </tr>
99 <tr>
100 <td><p><span class="term">presence</span></p></td>
101 <td>sometimes</td>
102 </tr>
103 <tr>
104 <td><p><span class="term">details</span></p></td>
105 <td>ANY</td>
106 </tr>
107 </tbody>
108 </table></div>
109 <div class="variablelist"><table border="0">
110 <col align="left" valign="top">
111 <tbody>
112 <tr>
113 <td><p><span class="term">name</span></p></td>
114 <td>src_%d_%d_%d</td>
115 </tr>
116 <tr>
117 <td><p><span class="term">direction</span></p></td>
118 <td>source</td>
119 </tr>
120 <tr>
121 <td><p><span class="term">presence</span></p></td>
122 <td>sometimes</td>
123 </tr>
124 <tr>
125 <td><p><span class="term">details</span></p></td>
126 <td>ANY</td>
127 </tr>
128 </tbody>
129 </table></div>
130 </div>
131 </div>
132 <p>
133 </p>
134 </div>
135 <div class="refsect1">
136 <a name="farstream-plugins-FsRtpConference.details"></a><h2>Details</h2>
137 <div class="refsect2">
138 <a name="FsRtpConference"></a><h3>struct FsRtpConference</h3>
139 <pre class="programlisting">struct FsRtpConference {
140 FsConference parent;
141 };
142 </pre>
143 <p>
144 </p>
145 </div>
146 </div>
147 <div class="refsect1">
148 <a name="farstream-plugins-FsRtpConference.property-details"></a><h2>Property Details</h2>
149 <div class="refsect2">
150 <a name="FsRtpConference--sdes"></a><h3>The <code class="literal">"sdes"</code> property</h3>
151 <pre class="programlisting"> "sdes" <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a>* : Read / Write</pre>
152 <p>SDES items to use for sessions in this conference.</p>
153 </div>
154 </div>
155 </div>
156 <div class="footer">
157 <hr>
158 Generated by GTK-Doc V1.18.1</div>
159 </body>
160 </html>
+0
-78
docs/plugins/html/farstream-plugins-FsRtpParticipant.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsRtpParticipant</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="ch01.html" title="RTP Plugin">
8 <link rel="prev" href="farstream-plugins-FsRtpConference.html" title="FsRtpConference">
9 <link rel="next" href="farstream-plugins-FsRtpSession.html" title="FsRtpSession">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="farstream-plugins-FsRtpConference.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="farstream-plugins-FsRtpSession.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#farstream-plugins-FsRtpParticipant.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#farstream-plugins-FsRtpParticipant.description" class="shortcut">Description</a>
26  | 
27 <a href="#farstream-plugins-FsRtpParticipant.properties" class="shortcut">Properties</a>
28 </td></tr>
29 </table>
30 <div class="refentry">
31 <a name="farstream-plugins-FsRtpParticipant"></a><div class="titlepage"></div>
32 <div class="refnamediv"><table width="100%"><tr>
33 <td valign="top">
34 <h2><span class="refentrytitle"><a name="farstream-plugins-FsRtpParticipant.top_of_page"></a>FsRtpParticipant</span></h2>
35 <p>FsRtpParticipant — A RTP participant in a <a class="link" href="farstream-plugins-FsRtpConference.html#FsRtpConference" title="struct FsRtpConference"><span class="type">FsRtpConference</span></a></p>
36 </td>
37 <td valign="top" align="right"></td>
38 </tr></table></div>
39 <div class="refsynopsisdiv">
40 <a name="farstream-plugins-FsRtpParticipant.synopsis"></a><h2>Synopsis</h2>
41 <pre class="synopsis"> <a class="link" href="farstream-plugins-FsRtpParticipant.html#FsRtpParticipant" title="FsRtpParticipant">FsRtpParticipant</a>;
42 </pre>
43 </div>
44 <div class="refsect1">
45 <a name="farstream-plugins-FsRtpParticipant.properties"></a><h2>Properties</h2>
46 <pre class="synopsis">
47 "<a class="link" href="farstream-plugins-FsRtpParticipant.html#FsRtpParticipant--cname" title='The "cname" property'>cname</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write
48 </pre>
49 </div>
50 <div class="refsect1">
51 <a name="farstream-plugins-FsRtpParticipant.description"></a><h2>Description</h2>
52 <p>
53 This object represents one participant or person in a RTP conference
54 </p>
55 </div>
56 <div class="refsect1">
57 <a name="farstream-plugins-FsRtpParticipant.details"></a><h2>Details</h2>
58 <div class="refsect2">
59 <a name="FsRtpParticipant"></a><h3>FsRtpParticipant</h3>
60 <pre class="programlisting">typedef struct _FsRtpParticipant FsRtpParticipant;</pre>
61 </div>
62 </div>
63 <div class="refsect1">
64 <a name="farstream-plugins-FsRtpParticipant.property-details"></a><h2>Property Details</h2>
65 <div class="refsect2">
66 <a name="FsRtpParticipant--cname"></a><h3>The <code class="literal">"cname"</code> property</h3>
67 <pre class="programlisting"> "cname" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write</pre>
68 <p>A string of the cname of the participant.</p>
69 <p>Default value: NULL</p>
70 </div>
71 </div>
72 </div>
73 <div class="footer">
74 <hr>
75 Generated by GTK-Doc V1.18.1</div>
76 </body>
77 </html>
+0
-139
docs/plugins/html/farstream-plugins-FsRtpSession.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsRtpSession</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="ch01.html" title="RTP Plugin">
8 <link rel="prev" href="farstream-plugins-FsRtpParticipant.html" title="FsRtpParticipant">
9 <link rel="next" href="farstream-plugins-FsRtpStream.html" title="FsRtpStream">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="farstream-plugins-FsRtpParticipant.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="farstream-plugins-FsRtpStream.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#farstream-plugins-FsRtpSession.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#farstream-plugins-FsRtpSession.description" class="shortcut">Description</a>
26  | 
27 <a href="#farstream-plugins-FsRtpSession.properties" class="shortcut">Properties</a>
28 </td></tr>
29 </table>
30 <div class="refentry">
31 <a name="farstream-plugins-FsRtpSession"></a><div class="titlepage"></div>
32 <div class="refnamediv"><table width="100%"><tr>
33 <td valign="top">
34 <h2><span class="refentrytitle"><a name="farstream-plugins-FsRtpSession.top_of_page"></a>FsRtpSession</span></h2>
35 <p>FsRtpSession — A RTP session in a <a class="link" href="farstream-plugins-FsRtpConference.html#FsRtpConference" title="struct FsRtpConference"><span class="type">FsRtpConference</span></a></p>
36 </td>
37 <td valign="top" align="right"></td>
38 </tr></table></div>
39 <div class="refsynopsisdiv">
40 <a name="farstream-plugins-FsRtpSession.synopsis"></a><h2>Synopsis</h2>
41 <pre class="synopsis"> <a class="link" href="farstream-plugins-FsRtpSession.html#FsRtpSession" title="FsRtpSession">FsRtpSession</a>;
42 </pre>
43 </div>
44 <div class="refsect1">
45 <a name="farstream-plugins-FsRtpSession.properties"></a><h2>Properties</h2>
46 <pre class="synopsis">
47 "<a class="link" href="farstream-plugins-FsRtpSession.html#FsRtpSession--no-rtcp-timeout" title='The "no-rtcp-timeout" property'>no-rtcp-timeout</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write
48 "<a class="link" href="farstream-plugins-FsRtpSession.html#FsRtpSession--rtp-header-extension-preferences" title='The "rtp-header-extension-preferences" property'>rtp-header-extension-preferences</a>" <span class="type">FsRtpHeaderExtensionGList</span>* : Read / Write
49 "<a class="link" href="farstream-plugins-FsRtpSession.html#FsRtpSession--rtp-header-extensions" title='The "rtp-header-extensions" property'>rtp-header-extensions</a>" <span class="type">FsRtpHeaderExtensionGList</span>* : Read
50 "<a class="link" href="farstream-plugins-FsRtpSession.html#FsRtpSession--send-bitrate" title='The "send-bitrate" property'>send-bitrate</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
51 "<a class="link" href="farstream-plugins-FsRtpSession.html#FsRtpSession--ssrc" title='The "ssrc" property'>ssrc</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write
52 </pre>
53 </div>
54 <div class="refsect1">
55 <a name="farstream-plugins-FsRtpSession.description"></a><h2>Description</h2>
56 <p>
57 This object represents one session, it is created by called
58 <a href="../farstream-libs-0.10/FsConference.html#fs-conference-new-session"><code class="function">fs_conference_new_session()</code></a> on a <a class="link" href="farstream-plugins-FsRtpConference.html#FsRtpConference" title="struct FsRtpConference"><span class="type">FsRtpConference</span></a>. It can be either
59 Audio or Video. It also represents data send with one and only one
60 SSRC (although if there is a SSRC collision, that SSRC may change).
61 </p>
62 <div class="refsect2">
63 <a name="id607651"></a><h3>Codec profiles</h3>
64 <p>
65 It is possible to define "codec profiles", that is non-autodetected
66 encoding and decoding pipelines for codecs. It is even possible to declare
67 entirely new codecs using this method.
68 </p>
69 <p>
70 To create a profile for a codec, add it to the codec-preferences with
71 special optional parameters called "farstream-send-profile" and
72 "farstream-recv-profile", these should contain gst-launch style descriptions
73 of the encoding or decoding bin.
74 </p>
75 <p>
76 As a special case, encoding profiles can have more than one unconnected
77 source pad, all of these pads should produce application/x-rtp of some kind.
78 The profile will be ignored if not ALL pads match currently negotiated
79 codecs.
80 </p>
81 <p>
82 Also, it is possible to declare profiles with only a decoding pipeline,
83 you will only be able to receive from this codec, the encoding may be a
84 secondary pad of some other codec.
85 </p>
86 </div>
87 <p>
88 </p>
89 </div>
90 <div class="refsect1">
91 <a name="farstream-plugins-FsRtpSession.details"></a><h2>Details</h2>
92 <div class="refsect2">
93 <a name="FsRtpSession"></a><h3>FsRtpSession</h3>
94 <pre class="programlisting">typedef struct _FsRtpSession FsRtpSession;</pre>
95 </div>
96 </div>
97 <div class="refsect1">
98 <a name="farstream-plugins-FsRtpSession.property-details"></a><h2>Property Details</h2>
99 <div class="refsect2">
100 <a name="FsRtpSession--no-rtcp-timeout"></a><h3>The <code class="literal">"no-rtcp-timeout"</code> property</h3>
101 <pre class="programlisting"> "no-rtcp-timeout" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> : Read / Write</pre>
102 <p>This is the time (in ms) after which data received without RTCP is attached the FsStream, this only works if there is only one FsStream. -1 will wait forever. 0 will not wait for RTCP and attach it immediataly to the FsStream and prohibit the creation of a second FsStream.</p>
103 <p>Allowed values: &gt;= G_MAXULONG</p>
104 <p>Default value: 7000</p>
105 </div>
106 <hr>
107 <div class="refsect2">
108 <a name="FsRtpSession--rtp-header-extension-preferences"></a><h3>The <code class="literal">"rtp-header-extension-preferences"</code> property</h3>
109 <pre class="programlisting"> "rtp-header-extension-preferences" <span class="type">FsRtpHeaderExtensionGList</span>* : Read / Write</pre>
110 <p>GList of RTP Header extensions that are locally supported and desired by the application.</p>
111 </div>
112 <hr>
113 <div class="refsect2">
114 <a name="FsRtpSession--rtp-header-extensions"></a><h3>The <code class="literal">"rtp-header-extensions"</code> property</h3>
115 <pre class="programlisting"> "rtp-header-extensions" <span class="type">FsRtpHeaderExtensionGList</span>* : Read</pre>
116 <p>GList of RTP Header extensions that have been negotiated and will be used when sending of receiving RTP packets.</p>
117 </div>
118 <hr>
119 <div class="refsect2">
120 <a name="FsRtpSession--send-bitrate"></a><h3>The <code class="literal">"send-bitrate"</code> property</h3>
121 <pre class="programlisting"> "send-bitrate" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write</pre>
122 <p>The bitrate that the session will try to send at in bits/sec.</p>
123 <p>Default value: 0</p>
124 </div>
125 <hr>
126 <div class="refsect2">
127 <a name="FsRtpSession--ssrc"></a><h3>The <code class="literal">"ssrc"</code> property</h3>
128 <pre class="programlisting"> "ssrc" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write</pre>
129 <p>This is the current SSRC used to send data (defaults to a random value).</p>
130 <p>Default value: 0</p>
131 </div>
132 </div>
133 </div>
134 <div class="footer">
135 <hr>
136 Generated by GTK-Doc V1.18.1</div>
137 </body>
138 </html>
+0
-79
docs/plugins/html/farstream-plugins-FsRtpStream.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>FsRtpStream</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="ch01.html" title="RTP Plugin">
8 <link rel="prev" href="farstream-plugins-FsRtpSession.html" title="FsRtpSession">
9 <link rel="next" href="ch02.html" title="Raw Plugin">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
11 <link rel="stylesheet" href="style.css" type="text/css">
12 </head>
13 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
14 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
15 <tr valign="middle">
16 <td><a accesskey="p" href="farstream-plugins-FsRtpSession.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
17 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
18 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
19 <th width="100%" align="center">Farstream Plugins Manual</th>
20 <td><a accesskey="n" href="ch02.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
21 </tr>
22 <tr><td colspan="5" class="shortcuts">
23 <a href="#farstream-plugins-FsRtpStream.synopsis" class="shortcut">Top</a>
24  | 
25 <a href="#farstream-plugins-FsRtpStream.description" class="shortcut">Description</a>
26  | 
27 <a href="#farstream-plugins-FsRtpStream.properties" class="shortcut">Properties</a>
28 </td></tr>
29 </table>
30 <div class="refentry">
31 <a name="farstream-plugins-FsRtpStream"></a><div class="titlepage"></div>
32 <div class="refnamediv"><table width="100%"><tr>
33 <td valign="top">
34 <h2><span class="refentrytitle"><a name="farstream-plugins-FsRtpStream.top_of_page"></a>FsRtpStream</span></h2>
35 <p>FsRtpStream — A RTP stream in a <a class="link" href="farstream-plugins-FsRtpSession.html#FsRtpSession" title="FsRtpSession"><span class="type">FsRtpSession</span></a> in a <a class="link" href="farstream-plugins-FsRtpConference.html#FsRtpConference" title="struct FsRtpConference"><span class="type">FsRtpConference</span></a></p>
36 </td>
37 <td valign="top" align="right"></td>
38 </tr></table></div>
39 <div class="refsynopsisdiv">
40 <a name="farstream-plugins-FsRtpStream.synopsis"></a><h2>Synopsis</h2>
41 <pre class="synopsis"> <a class="link" href="farstream-plugins-FsRtpStream.html#FsRtpStream" title="FsRtpStream">FsRtpStream</a>;
42 </pre>
43 </div>
44 <div class="refsect1">
45 <a name="farstream-plugins-FsRtpStream.properties"></a><h2>Properties</h2>
46 <pre class="synopsis">
47 "<a class="link" href="farstream-plugins-FsRtpStream.html#FsRtpStream--rtp-header-extensions" title='The "rtp-header-extensions" property'>rtp-header-extensions</a>" <span class="type">FsRtpHeaderExtensionGList</span>* : Read / Write
48 </pre>
49 </div>
50 <div class="refsect1">
51 <a name="farstream-plugins-FsRtpStream.description"></a><h2>Description</h2>
52 <p>
53 This is the conjunction of a <a class="link" href="farstream-plugins-FsRtpParticipant.html#FsRtpParticipant" title="FsRtpParticipant"><span class="type">FsRtpParticipant</span></a> and a <a class="link" href="farstream-plugins-FsRtpSession.html#FsRtpSession" title="FsRtpSession"><span class="type">FsRtpSession</span></a>,
54 it is created by calling <a href="../farstream-libs-0.10/FsSession.html#fs-session-new-stream"><code class="function">fs_session_new_stream()</code></a> on a
55 <a class="link" href="farstream-plugins-FsRtpSession.html#FsRtpSession" title="FsRtpSession"><span class="type">FsRtpSession</span></a>.
56 </p>
57 </div>
58 <div class="refsect1">
59 <a name="farstream-plugins-FsRtpStream.details"></a><h2>Details</h2>
60 <div class="refsect2">
61 <a name="FsRtpStream"></a><h3>FsRtpStream</h3>
62 <pre class="programlisting">typedef struct _FsRtpStream FsRtpStream;</pre>
63 </div>
64 </div>
65 <div class="refsect1">
66 <a name="farstream-plugins-FsRtpStream.property-details"></a><h2>Property Details</h2>
67 <div class="refsect2">
68 <a name="FsRtpStream--rtp-header-extensions"></a><h3>The <code class="literal">"rtp-header-extensions"</code> property</h3>
69 <pre class="programlisting"> "rtp-header-extensions" <span class="type">FsRtpHeaderExtensionGList</span>* : Read / Write</pre>
70 <p>GList of RTP Header extensions that the participant for this stream would like to use.</p>
71 </div>
72 </div>
73 </div>
74 <div class="footer">
75 <hr>
76 Generated by GTK-Doc V1.18.1</div>
77 </body>
78 </html>
77 <link rel="up" href="pt02.html" title="Part II. Transmitters">
88 <link rel="prev" href="farstream-plugins-FsNiceStreamTransmitter.html" title="FsNiceStreamTransmitter">
99 <link rel="next" href="pt03.html" title="Part III. Utility elements">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
5757 <p>
5858 Negotiating the paths of the sockets can happen in two ways. If the
5959 create-local-candidates is True then the transmitter will generate the
60 path of the local candidate and us it as the ip filed in <a href="../farstream-libs-0.10/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a>. The
60 path of the local candidate and us it as the ip filed in <a href="../farstream-libs-0.11/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a>. The
6161 transmitter will expect the path of the applications sender socket to be in
62 the "ip" field of the remote candidates <a href="../farstream-libs-0.10/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a> as well.
62 the "ip" field of the remote candidates <a href="../farstream-libs-0.11/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a> as well.
6363 </p>
6464 <p>
6565 Or alternatively, if create-local-candidates is false then
6666 the sender socket can be created by giving the transmitter a candidate
67 with the path of the socket in the "ip" field of the <a href="../farstream-libs-0.10/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a>. This
68 <a href="../farstream-libs-0.10/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a> can be given to the <a href="../farstream-libs-0.10/FsStreamTransmitter.html"><span class="type">FsStreamTransmitter</span></a> in two ways, either
69 by setting the <a href="../farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter--preferred-local-candidates"><span class="type">"preferred-local-candidates"</span></a> property
70 or by calling the <a href="../farstream-libs-0.10/FsStreamTransmitter.html#fs-stream-transmitter-force-remote-candidates"><code class="function">fs_stream_transmitter_force_remote_candidates()</code></a> function.
67 with the path of the socket in the "ip" field of the <a href="../farstream-libs-0.11/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a>. This
68 <a href="../farstream-libs-0.11/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a> can be given to the <a href="../farstream-libs-0.11/FsStreamTransmitter.html"><span class="type">FsStreamTransmitter</span></a> in two ways, either
69 by setting the <a href="../farstream-libs-0.11/FsStreamTransmitter.html#FsStreamTransmitter--preferred-local-candidates"><span class="type">"preferred-local-candidates"</span></a> property
70 or by calling the <a href="../farstream-libs-0.11/FsStreamTransmitter.html#fs-stream-transmitter-force-remote-candidates"><code class="function">fs_stream_transmitter_force_remote_candidates()</code></a> function.
7171 There can be only one single send socket per stream. When the send socket
72 is ready to be connected to, <a href="../farstream-libs-0.10/FsStreamTransmitter.html#FsStreamTransmitter-new-local-candidate"><span class="type">"new-local-candidate"</span></a> signal
72 is ready to be connected to, <a href="../farstream-libs-0.11/FsStreamTransmitter.html#FsStreamTransmitter-new-local-candidate"><span class="type">"new-local-candidate"</span></a> signal
7373 will be emitted.
7474 </p>
7575 <p>
7676 To connect the receive side to the other application, one must create a
77 <a href="../farstream-libs-0.10/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a> with the path of the sender's socket in the "username" field.
77 <a href="../farstream-libs-0.11/farstream-libs-FsCandidate.html#FsCandidate"><span class="type">FsCandidate</span></a> with the path of the sender's socket in the "username" field.
7878 If the receiver can not connect to the sender,
79 the <a href="../farstream-libs-0.10/FsStreamTransmitter.html#fs-stream-transmitter-force-remote-candidates"><code class="function">fs_stream_transmitter_force_remote_candidates()</code></a> call will fail.
79 the <a href="../farstream-libs-0.11/FsStreamTransmitter.html#fs-stream-transmitter-force-remote-candidates"><code class="function">fs_stream_transmitter_force_remote_candidates()</code></a> call will fail.
8080 </p>
8181 </div>
8282 <div class="refsect1">
9696 </div>
9797 <div class="footer">
9898 <hr>
99 Generated by GTK-Doc V1.18.1</div>
99 Generated by GTK-Doc V1.18</div>
100100 </body>
101101 </html>
+0
-139
docs/plugins/html/farstream-plugins-GstVideoanyrate.html less more
0 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4 <title>GstVideoanyrate</title>
5 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
6 <link rel="home" href="index.html" title="Farstream Plugins Manual">
7 <link rel="up" href="pt03.html" title="Part III. Utility elements">
8 <link rel="prev" href="farstream-plugins-FsFunnel.html" title="FsFunnel">
9 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <link rel="stylesheet" href="style.css" type="text/css">
11 </head>
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
14 <tr valign="middle">
15 <td><a accesskey="p" href="farstream-plugins-FsFunnel.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
16 <td><a accesskey="u" href="pt03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
17 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
18 <th width="100%" align="center">Farstream Plugins Manual</th>
19 <td> </td>
20 </tr>
21 <tr><td colspan="5" class="shortcuts">
22 <a href="#farstream-plugins-GstVideoanyrate.synopsis" class="shortcut">Top</a>
23  | 
24 <a href="#farstream-plugins-GstVideoanyrate.description" class="shortcut">Description</a>
25 </td></tr>
26 </table>
27 <div class="refentry">
28 <a name="farstream-plugins-GstVideoanyrate"></a><div class="titlepage"></div>
29 <div class="refnamediv"><table width="100%"><tr>
30 <td valign="top">
31 <h2><span class="refentrytitle"><a name="farstream-plugins-GstVideoanyrate.top_of_page"></a>GstVideoanyrate</span></h2>
32 <p>GstVideoanyrate — Removes the framerate from video caps</p>
33 </td>
34 <td valign="top" align="right"></td>
35 </tr></table></div>
36 <div class="refsynopsisdiv">
37 <a name="farstream-plugins-GstVideoanyrate.synopsis"></a><h2>Synopsis</h2>
38 <pre class="synopsis">struct <a class="link" href="farstream-plugins-GstVideoanyrate.html#GstVideoanyrate" title="struct GstVideoanyrate">GstVideoanyrate</a>;
39 </pre>
40 </div>
41 <div class="refsect1">
42 <a name="farstream-plugins-GstVideoanyrate.description"></a><h2>Description</h2>
43 <p>
44 This element will remove the framerate from video caps, it is a poor man's
45 videorate for live pipelines.
46 </p>
47 <div class="refsynopsisdiv">
48 <h2>Synopsis</h2>
49 <div class="refsect2">
50 <a name="id603675"></a><h3>Element Information</h3>
51 <div class="variablelist"><table border="0">
52 <col align="left" valign="top">
53 <tbody>
54 <tr>
55 <td><p><span class="term">plugin</span></p></td>
56 <td>
57 fsvideoanyrate
58 </td>
59 </tr>
60 <tr>
61 <td><p><span class="term">author</span></p></td>
62 <td>Olivier Crete &lt;olivier.crete@collabora.co.uk&gt;</td>
63 </tr>
64 <tr>
65 <td><p><span class="term">class</span></p></td>
66 <td>Filter</td>
67 </tr>
68 </tbody>
69 </table></div>
70 </div>
71 <hr>
72 <div class="refsect2">
73 <a name="id592152"></a><h3>Element Pads</h3>
74 <div class="variablelist"><table border="0">
75 <col align="left" valign="top">
76 <tbody>
77 <tr>
78 <td><p><span class="term">name</span></p></td>
79 <td>sink</td>
80 </tr>
81 <tr>
82 <td><p><span class="term">direction</span></p></td>
83 <td>sink</td>
84 </tr>
85 <tr>
86 <td><p><span class="term">presence</span></p></td>
87 <td>always</td>
88 </tr>
89 <tr>
90 <td><p><span class="term">details</span></p></td>
91 <td>ANY</td>
92 </tr>
93 </tbody>
94 </table></div>
95 <div class="variablelist"><table border="0">
96 <col align="left" valign="top">
97 <tbody>
98 <tr>
99 <td><p><span class="term">name</span></p></td>
100 <td>src</td>
101 </tr>
102 <tr>
103 <td><p><span class="term">direction</span></p></td>
104 <td>source</td>
105 </tr>
106 <tr>
107 <td><p><span class="term">presence</span></p></td>
108 <td>always</td>
109 </tr>
110 <tr>
111 <td><p><span class="term">details</span></p></td>
112 <td>ANY</td>
113 </tr>
114 </tbody>
115 </table></div>
116 </div>
117 </div>
118 <p>
119 </p>
120 </div>
121 <div class="refsect1">
122 <a name="farstream-plugins-GstVideoanyrate.details"></a><h2>Details</h2>
123 <div class="refsect2">
124 <a name="GstVideoanyrate"></a><h3>struct GstVideoanyrate</h3>
125 <pre class="programlisting">struct GstVideoanyrate {
126 GstBaseTransform parent;
127 };
128 </pre>
129 <p>
130 </p>
131 </div>
132 </div>
133 </div>
134 <div class="footer">
135 <hr>
136 Generated by GTK-Doc V1.18.1</div>
137 </body>
138 </html>
33 <chapters>
44 <sub name="Plugins implementing FsConference" link="pt01.html">
55 <sub name="RTP Plugin" link="ch01.html">
6 <sub name="FsRtpConference" link="farstream-plugins-FsRtpConference.html"/>
7 <sub name="FsRtpParticipant" link="farstream-plugins-FsRtpParticipant.html"/>
8 <sub name="FsRtpSession" link="farstream-plugins-FsRtpSession.html"/>
9 <sub name="FsRtpStream" link="farstream-plugins-FsRtpStream.html"/>
6 <sub name="FsRtpConference" link="FsRtpConference.html"/>
7 <sub name="FsRtpParticipant" link="FsRtpParticipant.html"/>
8 <sub name="FsRtpSession" link="FsRtpSession.html"/>
9 <sub name="FsRtpStream" link="FsRtpStream.html"/>
1010 </sub>
1111 <sub name="Raw Plugin" link="ch02.html">
12 <sub name="FsRawConference" link="farstream-plugins-FsRawConference.html"/>
12 <sub name="FsRawConference" link="FsRawConference.html"/>
1313 <sub name="FsRawParticipant" link="farstream-plugins-FsRawParticipant.html"/>
1414 <sub name="FsRawSession" link="farstream-plugins-FsRawSession.html"/>
1515 <sub name="FsRawStream" link="farstream-plugins-FsRawStream.html"/>
1616 </sub>
1717 <sub name="MSN Webcam plugin" link="ch03.html">
18 <sub name="FsMsnCamSendConference" link="farstream-plugins-FsMsnCamSendConference.html"/>
18 <sub name="FsMsnCamSendConference" link="FsMsnCamSendConference.html"/>
1919 <sub name="FsMsnCamCamRecvConference" link="farstream-plugins-FsMsnCamCamRecvConference.html"/>
20 <sub name="FsMsnConference" link="farstream-plugins-FsMsnConference.html"/>
21 <sub name="FsMsnParticipant" link="farstream-plugins-FsMsnParticipant.html"/>
20 <sub name="FsMsnConference" link="FsMsnConference.html"/>
21 <sub name="FsMsnParticipant" link="FsMsnParticipant.html"/>
2222 <sub name="FsMsnSession" link="farstream-plugins-FsMsnSession.html"/>
2323 <sub name="FsMsnStream" link="farstream-plugins-FsMsnStream.html"/>
2424 </sub>
3030 <sub name="FsShmStreamTransmitter" link="farstream-plugins-FsShmStreamTransmitter.html"/>
3131 </sub>
3232 <sub name="Utility elements" link="pt03.html">
33 <sub name="FsFunnel" link="farstream-plugins-FsFunnel.html"/>
34 <sub name="GstVideoanyrate" link="farstream-plugins-GstVideoanyrate.html"/>
33 <sub name="GstVideoanyrate" link="GstVideoanyrate.html"/>
3534 </sub>
3635 </chapters>
3736 <functions>
38 <keyword type="" name="Element Information" link="farstream-plugins-FsRtpConference.html#id603427"/>
39 <keyword type="" name="Element Pads" link="farstream-plugins-FsRtpConference.html#id551021"/>
40 <keyword type="struct" name="struct FsRtpConference" link="farstream-plugins-FsRtpConference.html#FsRtpConference"/>
41 <keyword type="property" name="The &quot;sdes&quot; property" link="farstream-plugins-FsRtpConference.html#FsRtpConference--sdes"/>
42 <keyword type="struct" name="FsRtpParticipant" link="farstream-plugins-FsRtpParticipant.html#FsRtpParticipant"/>
43 <keyword type="property" name="The &quot;cname&quot; property" link="farstream-plugins-FsRtpParticipant.html#FsRtpParticipant--cname"/>
44 <keyword type="" name="Codec profiles" link="farstream-plugins-FsRtpSession.html#id607651"/>
45 <keyword type="struct" name="FsRtpSession" link="farstream-plugins-FsRtpSession.html#FsRtpSession"/>
46 <keyword type="property" name="The &quot;no-rtcp-timeout&quot; property" link="farstream-plugins-FsRtpSession.html#FsRtpSession--no-rtcp-timeout"/>
47 <keyword type="property" name="The &quot;rtp-header-extension-preferences&quot; property" link="farstream-plugins-FsRtpSession.html#FsRtpSession--rtp-header-extension-preferences"/>
48 <keyword type="property" name="The &quot;rtp-header-extensions&quot; property" link="farstream-plugins-FsRtpSession.html#FsRtpSession--rtp-header-extensions"/>
49 <keyword type="property" name="The &quot;send-bitrate&quot; property" link="farstream-plugins-FsRtpSession.html#FsRtpSession--send-bitrate"/>
50 <keyword type="property" name="The &quot;ssrc&quot; property" link="farstream-plugins-FsRtpSession.html#FsRtpSession--ssrc"/>
51 <keyword type="struct" name="FsRtpStream" link="farstream-plugins-FsRtpStream.html#FsRtpStream"/>
52 <keyword type="property" name="The &quot;rtp-header-extensions&quot; property" link="farstream-plugins-FsRtpStream.html#FsRtpStream--rtp-header-extensions"/>
53 <keyword type="" name="Element Information" link="farstream-plugins-FsRawConference.html#id580043"/>
54 <keyword type="" name="Element Pads" link="farstream-plugins-FsRawConference.html#id600635"/>
55 <keyword type="struct" name="struct FsRawConference" link="farstream-plugins-FsRawConference.html#FsRawConference"/>
37 <keyword type="" name="Element Information" link="FsRtpConference.html#id394695"/>
38 <keyword type="" name="Element Pads" link="FsRtpConference.html#id340834"/>
39 <keyword type="struct" name="struct FsRtpConference" link="FsRtpConference.html#FsRtpConference-struct"/>
40 <keyword type="property" name="The &quot;sdes&quot; property" link="FsRtpConference.html#FsRtpConference--sdes"/>
41 <keyword type="struct" name="FsRtpParticipant" link="FsRtpParticipant.html#FsRtpParticipant-struct"/>
42 <keyword type="property" name="The &quot;cname&quot; property" link="FsRtpParticipant.html#FsRtpParticipant--cname"/>
43 <keyword type="" name="Codec profiles" link="FsRtpSession.html#id391224"/>
44 <keyword type="struct" name="FsRtpSession" link="FsRtpSession.html#FsRtpSession-struct"/>
45 <keyword type="property" name="The &quot;no-rtcp-timeout&quot; property" link="FsRtpSession.html#FsRtpSession--no-rtcp-timeout"/>
46 <keyword type="property" name="The &quot;rtp-header-extension-preferences&quot; property" link="FsRtpSession.html#FsRtpSession--rtp-header-extension-preferences"/>
47 <keyword type="property" name="The &quot;rtp-header-extensions&quot; property" link="FsRtpSession.html#FsRtpSession--rtp-header-extensions"/>
48 <keyword type="property" name="The &quot;send-bitrate&quot; property" link="FsRtpSession.html#FsRtpSession--send-bitrate"/>
49 <keyword type="property" name="The &quot;ssrc&quot; property" link="FsRtpSession.html#FsRtpSession--ssrc"/>
50 <keyword type="struct" name="FsRtpStream" link="FsRtpStream.html#FsRtpStream-struct"/>
51 <keyword type="property" name="The &quot;rtp-header-extensions&quot; property" link="FsRtpStream.html#FsRtpStream--rtp-header-extensions"/>
52 <keyword type="" name="Element Information" link="FsRawConference.html#id397624"/>
53 <keyword type="" name="Element Pads" link="FsRawConference.html#id394501"/>
54 <keyword type="struct" name="struct FsRawConference" link="FsRawConference.html#FsRawConference-struct"/>
5655 <keyword type="struct" name="FsRawParticipant" link="farstream-plugins-FsRawParticipant.html#FsRawParticipant"/>
5756 <keyword type="struct" name="FsRawSession" link="farstream-plugins-FsRawSession.html#FsRawSession"/>
5857 <keyword type="struct" name="FsRawStream" link="farstream-plugins-FsRawStream.html#FsRawStream"/>
59 <keyword type="" name="Element Information" link="farstream-plugins-FsMsnCamSendConference.html#id591611"/>
60 <keyword type="" name="Element Pads" link="farstream-plugins-FsMsnCamSendConference.html#id596717"/>
61 <keyword type="struct" name="struct FsMsnCamSendConference" link="farstream-plugins-FsMsnCamSendConference.html#FsMsnCamSendConference"/>
62 <keyword type="" name="Element Information" link="farstream-plugins-FsMsnCamCamRecvConference.html#id599796"/>
63 <keyword type="" name="Element Pads" link="farstream-plugins-FsMsnCamCamRecvConference.html#id594208"/>
64 <keyword type="struct" name="struct FsMsnCamRecvConference" link="farstream-plugins-FsMsnCamCamRecvConference.html#FsMsnCamRecvConference"/>
65 <keyword type="struct" name="struct FsMsnConference" link="farstream-plugins-FsMsnConference.html#FsMsnConference"/>
66 <keyword type="struct" name="FsMsnParticipant" link="farstream-plugins-FsMsnParticipant.html#FsMsnParticipant"/>
58 <keyword type="" name="Element Information" link="FsMsnCamSendConference.html#id406510"/>
59 <keyword type="" name="Element Pads" link="FsMsnCamSendConference.html#id387224"/>
60 <keyword type="struct" name="struct FsMsnCamSendConference" link="FsMsnCamSendConference.html#FsMsnCamSendConference-struct"/>
61 <keyword type="" name="Element Information" link="farstream-plugins-FsMsnCamCamRecvConference.html#id409589"/>
62 <keyword type="" name="Element Pads" link="farstream-plugins-FsMsnCamCamRecvConference.html#id413492"/>
63 <keyword type="struct" name="struct FsMsnCamRecvConference" link="farstream-plugins-FsMsnCamCamRecvConference.html#FsMsnCamRecvConference-struct"/>
64 <keyword type="struct" name="struct FsMsnConference" link="FsMsnConference.html#FsMsnConference-struct"/>
65 <keyword type="struct" name="FsMsnParticipant" link="FsMsnParticipant.html#FsMsnParticipant-struct"/>
6766 <keyword type="struct" name="FsMsnSession" link="farstream-plugins-FsMsnSession.html#FsMsnSession"/>
6867 <keyword type="struct" name="FsMsnStream" link="farstream-plugins-FsMsnStream.html#FsMsnStream"/>
6968 <keyword type="struct" name="FsRawUdpStreamTransmitter" link="farstream-plugins-FsRawUdpStreamTransmitter.html#FsRawUdpStreamTransmitter"/>
7069 <keyword type="struct" name="FsMulticastStreamTransmitter" link="farstream-plugins-FsMulticastStreamTransmitter.html#FsMulticastStreamTransmitter"/>
7170 <keyword type="struct" name="FsNiceStreamTransmitter" link="farstream-plugins-FsNiceStreamTransmitter.html#FsNiceStreamTransmitter"/>
7271 <keyword type="struct" name="FsShmStreamTransmitter" link="farstream-plugins-FsShmStreamTransmitter.html#FsShmStreamTransmitter"/>
73 <keyword type="" name="Element Information" link="farstream-plugins-FsFunnel.html#id612656"/>
74 <keyword type="" name="Element Pads" link="farstream-plugins-FsFunnel.html#id613514"/>
75 <keyword type="struct" name="struct FsFunnel" link="farstream-plugins-FsFunnel.html#FsFunnel"/>
76 <keyword type="" name="Element Information" link="farstream-plugins-GstVideoanyrate.html#id603675"/>
77 <keyword type="" name="Element Pads" link="farstream-plugins-GstVideoanyrate.html#id592152"/>
78 <keyword type="struct" name="struct GstVideoanyrate" link="farstream-plugins-GstVideoanyrate.html#GstVideoanyrate"/>
72 <keyword type="" name="Element Information" link="GstVideoanyrate.html#id419931"/>
73 <keyword type="" name="Element Pads" link="GstVideoanyrate.html#id397410"/>
74 <keyword type="struct" name="struct GstVideoanyrate" link="GstVideoanyrate.html#GstVideoanyrate-struct"/>
7975 </functions>
8076 </book>
55 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
66 <link rel="home" href="index.html" title="Farstream Plugins Manual">
77 <link rel="next" href="pt01.html" title="Part I. Plugins implementing FsConference">
8 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
8 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
99 <link rel="stylesheet" href="style.css" type="text/css">
1010 </head>
1111 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
1414 <div>
1515 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">Farstream Plugins Manual</p></th></tr></table></div>
1616 <div><p class="releaseinfo">
17 for version 0.1.2.
17 for version 0.1.91.
1818 The latest version of this documentation can be found on-line at
19 <a class="ulink" href="http://farstream.freedesktop.org/apidoc/farstream-plugins/" target="_top">http://farstream.freedesktop.org/apidoc/farstream-plugins/</a>.
19 <a class="ulink" href="http://farstream.freedesktop.org/apidoc/farstream-plugins/" target="_top">/http://farstream.freedesktop.org/apidoc/farstream-plugins/</a>.
2020 These plugins are to be used with the base classes and other utility
2121 objects and functions described in the
22 <a class="ulink" href="http://farstream.freedesktop.org/apidoc/farstream/" target="_top">Farstream Reference Manual</a>.
22 <a class="ulink" href="http://www.freedesktop.org/software/farstream/apidoc/farstream" target="_top">Farstream Reference Manual</a>.
2323 </p></div>
2424 </div>
2525 <hr>
3030 <dt><span class="chapter"><a href="ch01.html">RTP Plugin</a></span></dt>
3131 <dd><dl>
3232 <dt>
33 <span class="refentrytitle"><a href="farstream-plugins-FsRtpConference.html">FsRtpConference</a></span><span class="refpurpose"> — Farstream RTP Conference Gstreamer Elements</span>
33 <span class="refentrytitle"><a href="FsRtpConference.html">FsRtpConference</a></span><span class="refpurpose"> — Farstream RTP Conference Gstreamer Elements</span>
3434 </dt>
3535 <dt>
36 <span class="refentrytitle"><a href="farstream-plugins-FsRtpParticipant.html">FsRtpParticipant</a></span><span class="refpurpose"> — A RTP participant in a <a class="link" href="farstream-plugins-FsRtpConference.html#FsRtpConference" title="struct FsRtpConference"><span class="type">FsRtpConference</span></a></span>
36 <span class="refentrytitle"><a href="FsRtpParticipant.html">FsRtpParticipant</a></span><span class="refpurpose"> — A RTP participant in a <a class="link" href="FsRtpConference.html" title="FsRtpConference"><span class="type">FsRtpConference</span></a></span>
3737 </dt>
3838 <dt>
39 <span class="refentrytitle"><a href="farstream-plugins-FsRtpSession.html">FsRtpSession</a></span><span class="refpurpose"> — A RTP session in a <a class="link" href="farstream-plugins-FsRtpConference.html#FsRtpConference" title="struct FsRtpConference"><span class="type">FsRtpConference</span></a></span>
39 <span class="refentrytitle"><a href="FsRtpSession.html">FsRtpSession</a></span><span class="refpurpose"> — A RTP session in a <a class="link" href="FsRtpConference.html" title="FsRtpConference"><span class="type">FsRtpConference</span></a></span>
4040 </dt>
4141 <dt>
42 <span class="refentrytitle"><a href="farstream-plugins-FsRtpStream.html">FsRtpStream</a></span><span class="refpurpose"> — A RTP stream in a <a class="link" href="farstream-plugins-FsRtpSession.html#FsRtpSession" title="FsRtpSession"><span class="type">FsRtpSession</span></a> in a <a class="link" href="farstream-plugins-FsRtpConference.html#FsRtpConference" title="struct FsRtpConference"><span class="type">FsRtpConference</span></a></span>
42 <span class="refentrytitle"><a href="FsRtpStream.html">FsRtpStream</a></span><span class="refpurpose"> — A RTP stream in a <a class="link" href="FsRtpSession.html" title="FsRtpSession"><span class="type">FsRtpSession</span></a> in a <a class="link" href="FsRtpConference.html" title="FsRtpConference"><span class="type">FsRtpConference</span></a></span>
4343 </dt>
4444 </dl></dd>
4545 <dt><span class="chapter"><a href="ch02.html">Raw Plugin</a></span></dt>
4646 <dd><dl>
4747 <dt>
48 <span class="refentrytitle"><a href="farstream-plugins-FsRawConference.html">FsRawConference</a></span><span class="refpurpose"> — Farstream Raw Conference Gstreamer Elements Base class</span>
48 <span class="refentrytitle"><a href="FsRawConference.html">FsRawConference</a></span><span class="refpurpose"> — Farstream Raw Conference Gstreamer Elements Base class</span>
4949 </dt>
5050 <dt>
51 <span class="refentrytitle"><a href="farstream-plugins-FsRawParticipant.html">FsRawParticipant</a></span><span class="refpurpose"> — A Raw participant in a <a class="link" href="farstream-plugins-FsRawConference.html#FsRawConference" title="struct FsRawConference"><span class="type">FsRawConference</span></a></span>
51 <span class="refentrytitle"><a href="farstream-plugins-FsRawParticipant.html">FsRawParticipant</a></span><span class="refpurpose"> — A Raw participant in a <a class="link" href="FsRawConference.html" title="FsRawConference"><span class="type">FsRawConference</span></a></span>
5252 </dt>
5353 <dt>
54 <span class="refentrytitle"><a href="farstream-plugins-FsRawSession.html">FsRawSession</a></span><span class="refpurpose"> — A Raw session in a <a class="link" href="farstream-plugins-FsRawConference.html#FsRawConference" title="struct FsRawConference"><span class="type">FsRawConference</span></a></span>
54 <span class="refentrytitle"><a href="farstream-plugins-FsRawSession.html">FsRawSession</a></span><span class="refpurpose"> — A Raw session in a <a class="link" href="FsRawConference.html" title="FsRawConference"><span class="type">FsRawConference</span></a></span>
5555 </dt>
5656 <dt>
57 <span class="refentrytitle"><a href="farstream-plugins-FsRawStream.html">FsRawStream</a></span><span class="refpurpose"> — A raw stream in a <a class="link" href="farstream-plugins-FsRawSession.html#FsRawSession" title="FsRawSession"><span class="type">FsRawSession</span></a> in a <a class="link" href="farstream-plugins-FsRawConference.html#FsRawConference" title="struct FsRawConference"><span class="type">FsRawConference</span></a></span>
57 <span class="refentrytitle"><a href="farstream-plugins-FsRawStream.html">FsRawStream</a></span><span class="refpurpose"> — A raw stream in a <a class="link" href="farstream-plugins-FsRawSession.html#FsRawSession" title="FsRawSession"><span class="type">FsRawSession</span></a> in a <a class="link" href="FsRawConference.html" title="FsRawConference"><span class="type">FsRawConference</span></a></span>
5858 </dt>
5959 </dl></dd>
6060 <dt><span class="chapter"><a href="ch03.html">MSN Webcam plugin</a></span></dt>
6161 <dd><dl>
6262 <dt>
63 <span class="refentrytitle"><a href="farstream-plugins-FsMsnCamSendConference.html">FsMsnCamSendConference</a></span><span class="refpurpose"> — Farstream MSN send Conference Gstreamer Element</span>
63 <span class="refentrytitle"><a href="FsMsnCamSendConference.html">FsMsnCamSendConference</a></span><span class="refpurpose"> — Farstream MSN send Conference Gstreamer Element</span>
6464 </dt>
6565 <dt>
6666 <span class="refentrytitle"><a href="farstream-plugins-FsMsnCamCamRecvConference.html">FsMsnCamCamRecvConference</a></span><span class="refpurpose"> — Farstream MSN Receive Conference Gstreamer Element</span>
6767 </dt>
6868 <dt>
69 <span class="refentrytitle"><a href="farstream-plugins-FsMsnConference.html">FsMsnConference</a></span><span class="refpurpose"> — Farstream MSN Conference Gstreamer Elements Base class</span>
69 <span class="refentrytitle"><a href="FsMsnConference.html">FsMsnConference</a></span><span class="refpurpose"> — Farstream MSN Conference Gstreamer Elements Base class</span>
7070 </dt>
7171 <dt>
72 <span class="refentrytitle"><a href="farstream-plugins-FsMsnParticipant.html">FsMsnParticipant</a></span><span class="refpurpose"> — A MSN participant in a <a class="link" href="farstream-plugins-FsMsnConference.html#FsMsnConference" title="struct FsMsnConference"><span class="type">FsMsnConference</span></a></span>
72 <span class="refentrytitle"><a href="FsMsnParticipant.html">FsMsnParticipant</a></span><span class="refpurpose"> — A MSN participant in a <a class="link" href="FsMsnConference.html" title="FsMsnConference"><span class="type">FsMsnConference</span></a></span>
7373 </dt>
7474 <dt>
75 <span class="refentrytitle"><a href="farstream-plugins-FsMsnSession.html">FsMsnSession</a></span><span class="refpurpose"> — A MSN session in a <a class="link" href="farstream-plugins-FsMsnConference.html#FsMsnConference" title="struct FsMsnConference"><span class="type">FsMsnConference</span></a></span>
75 <span class="refentrytitle"><a href="farstream-plugins-FsMsnSession.html">FsMsnSession</a></span><span class="refpurpose"> — A MSN session in a <a class="link" href="FsMsnConference.html" title="FsMsnConference"><span class="type">FsMsnConference</span></a></span>
7676 </dt>
7777 <dt>
78 <span class="refentrytitle"><a href="farstream-plugins-FsMsnStream.html">FsMsnStream</a></span><span class="refpurpose"> — A MSN stream in a <a class="link" href="farstream-plugins-FsMsnSession.html#FsMsnSession" title="FsMsnSession"><span class="type">FsMsnSession</span></a> in a <a class="link" href="farstream-plugins-FsMsnConference.html#FsMsnConference" title="struct FsMsnConference"><span class="type">FsMsnConference</span></a></span>
78 <span class="refentrytitle"><a href="farstream-plugins-FsMsnStream.html">FsMsnStream</a></span><span class="refpurpose"> — A MSN stream in a <a class="link" href="farstream-plugins-FsMsnSession.html#FsMsnSession" title="FsMsnSession"><span class="type">FsMsnSession</span></a> in a <a class="link" href="FsMsnConference.html" title="FsMsnConference"><span class="type">FsMsnConference</span></a></span>
7979 </dt>
8080 </dl></dd>
8181 </dl></dd>
9595 </dt>
9696 </dl></dd>
9797 <dt><span class="part"><a href="pt03.html">III. Utility elements</a></span></dt>
98 <dd><dl>
99 <dt>
100 <span class="refentrytitle"><a href="farstream-plugins-FsFunnel.html">FsFunnel</a></span><span class="refpurpose"> — N-to-1 simple funnel</span>
101 </dt>
102 <dt>
103 <span class="refentrytitle"><a href="farstream-plugins-GstVideoanyrate.html">GstVideoanyrate</a></span><span class="refpurpose"> — Removes the framerate from video caps</span>
104 </dt>
105 </dl></dd>
98 <dd><dl><dt>
99 <span class="refentrytitle"><a href="GstVideoanyrate.html">GstVideoanyrate</a></span><span class="refpurpose"> — Removes the framerate from video caps</span>
100 </dt></dl></dd>
106101 </dl></div>
107102 </div>
108103 <div class="footer">
109104 <hr>
110 Generated by GTK-Doc V1.18.1</div>
105 Generated by GTK-Doc V1.18</div>
111106 </body>
112107 </html>
00 <ONLINE href="http://farstream.freedesktop.org/apidoc/farstream-plugins/">
1 <ANCHOR id="farstream-plugins-FsRtpConference" href="farstream-plugins-0.10/farstream-plugins-FsRtpConference.html">
2 <ANCHOR id="farstream-plugins-FsRtpConference.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsRtpConference.html#farstream-plugins-FsRtpConference.synopsis">
3 <ANCHOR id="farstream-plugins-FsRtpConference.properties" href="farstream-plugins-0.10/farstream-plugins-FsRtpConference.html#farstream-plugins-FsRtpConference.properties">
4 <ANCHOR id="farstream-plugins-FsRtpConference.description" href="farstream-plugins-0.10/farstream-plugins-FsRtpConference.html#farstream-plugins-FsRtpConference.description">
5 <ANCHOR id="farstream-plugins-FsRtpConference.details" href="farstream-plugins-0.10/farstream-plugins-FsRtpConference.html#farstream-plugins-FsRtpConference.details">
6 <ANCHOR id="FsRtpConference" href="farstream-plugins-0.10/farstream-plugins-FsRtpConference.html#FsRtpConference">
7 <ANCHOR id="farstream-plugins-FsRtpConference.property-details" href="farstream-plugins-0.10/farstream-plugins-FsRtpConference.html#farstream-plugins-FsRtpConference.property-details">
8 <ANCHOR id="FsRtpConference--sdes" href="farstream-plugins-0.10/farstream-plugins-FsRtpConference.html#FsRtpConference--sdes">
9 <ANCHOR id="farstream-plugins-FsRtpParticipant" href="farstream-plugins-0.10/farstream-plugins-FsRtpParticipant.html">
10 <ANCHOR id="farstream-plugins-FsRtpParticipant.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsRtpParticipant.html#farstream-plugins-FsRtpParticipant.synopsis">
11 <ANCHOR id="farstream-plugins-FsRtpParticipant.properties" href="farstream-plugins-0.10/farstream-plugins-FsRtpParticipant.html#farstream-plugins-FsRtpParticipant.properties">
12 <ANCHOR id="farstream-plugins-FsRtpParticipant.description" href="farstream-plugins-0.10/farstream-plugins-FsRtpParticipant.html#farstream-plugins-FsRtpParticipant.description">
13 <ANCHOR id="farstream-plugins-FsRtpParticipant.details" href="farstream-plugins-0.10/farstream-plugins-FsRtpParticipant.html#farstream-plugins-FsRtpParticipant.details">
14 <ANCHOR id="FsRtpParticipant" href="farstream-plugins-0.10/farstream-plugins-FsRtpParticipant.html#FsRtpParticipant">
15 <ANCHOR id="farstream-plugins-FsRtpParticipant.property-details" href="farstream-plugins-0.10/farstream-plugins-FsRtpParticipant.html#farstream-plugins-FsRtpParticipant.property-details">
16 <ANCHOR id="FsRtpParticipant--cname" href="farstream-plugins-0.10/farstream-plugins-FsRtpParticipant.html#FsRtpParticipant--cname">
17 <ANCHOR id="farstream-plugins-FsRtpSession" href="farstream-plugins-0.10/farstream-plugins-FsRtpSession.html">
18 <ANCHOR id="farstream-plugins-FsRtpSession.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsRtpSession.html#farstream-plugins-FsRtpSession.synopsis">
19 <ANCHOR id="farstream-plugins-FsRtpSession.properties" href="farstream-plugins-0.10/farstream-plugins-FsRtpSession.html#farstream-plugins-FsRtpSession.properties">
20 <ANCHOR id="farstream-plugins-FsRtpSession.description" href="farstream-plugins-0.10/farstream-plugins-FsRtpSession.html#farstream-plugins-FsRtpSession.description">
21 <ANCHOR id="farstream-plugins-FsRtpSession.details" href="farstream-plugins-0.10/farstream-plugins-FsRtpSession.html#farstream-plugins-FsRtpSession.details">
22 <ANCHOR id="FsRtpSession" href="farstream-plugins-0.10/farstream-plugins-FsRtpSession.html#FsRtpSession">
23 <ANCHOR id="farstream-plugins-FsRtpSession.property-details" href="farstream-plugins-0.10/farstream-plugins-FsRtpSession.html#farstream-plugins-FsRtpSession.property-details">
24 <ANCHOR id="FsRtpSession--no-rtcp-timeout" href="farstream-plugins-0.10/farstream-plugins-FsRtpSession.html#FsRtpSession--no-rtcp-timeout">
25 <ANCHOR id="FsRtpSession--rtp-header-extension-preferences" href="farstream-plugins-0.10/farstream-plugins-FsRtpSession.html#FsRtpSession--rtp-header-extension-preferences">
26 <ANCHOR id="FsRtpSession--rtp-header-extensions" href="farstream-plugins-0.10/farstream-plugins-FsRtpSession.html#FsRtpSession--rtp-header-extensions">
27 <ANCHOR id="FsRtpSession--send-bitrate" href="farstream-plugins-0.10/farstream-plugins-FsRtpSession.html#FsRtpSession--send-bitrate">
28 <ANCHOR id="FsRtpSession--ssrc" href="farstream-plugins-0.10/farstream-plugins-FsRtpSession.html#FsRtpSession--ssrc">
29 <ANCHOR id="farstream-plugins-FsRtpStream" href="farstream-plugins-0.10/farstream-plugins-FsRtpStream.html">
30 <ANCHOR id="farstream-plugins-FsRtpStream.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsRtpStream.html#farstream-plugins-FsRtpStream.synopsis">
31 <ANCHOR id="farstream-plugins-FsRtpStream.properties" href="farstream-plugins-0.10/farstream-plugins-FsRtpStream.html#farstream-plugins-FsRtpStream.properties">
32 <ANCHOR id="farstream-plugins-FsRtpStream.description" href="farstream-plugins-0.10/farstream-plugins-FsRtpStream.html#farstream-plugins-FsRtpStream.description">
33 <ANCHOR id="farstream-plugins-FsRtpStream.details" href="farstream-plugins-0.10/farstream-plugins-FsRtpStream.html#farstream-plugins-FsRtpStream.details">
34 <ANCHOR id="FsRtpStream" href="farstream-plugins-0.10/farstream-plugins-FsRtpStream.html#FsRtpStream">
35 <ANCHOR id="farstream-plugins-FsRtpStream.property-details" href="farstream-plugins-0.10/farstream-plugins-FsRtpStream.html#farstream-plugins-FsRtpStream.property-details">
36 <ANCHOR id="FsRtpStream--rtp-header-extensions" href="farstream-plugins-0.10/farstream-plugins-FsRtpStream.html#FsRtpStream--rtp-header-extensions">
37 <ANCHOR id="farstream-plugins-FsRawConference" href="farstream-plugins-0.10/farstream-plugins-FsRawConference.html">
38 <ANCHOR id="farstream-plugins-FsRawConference.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsRawConference.html#farstream-plugins-FsRawConference.synopsis">
39 <ANCHOR id="farstream-plugins-FsRawConference.description" href="farstream-plugins-0.10/farstream-plugins-FsRawConference.html#farstream-plugins-FsRawConference.description">
40 <ANCHOR id="farstream-plugins-FsRawConference.details" href="farstream-plugins-0.10/farstream-plugins-FsRawConference.html#farstream-plugins-FsRawConference.details">
41 <ANCHOR id="FsRawConference" href="farstream-plugins-0.10/farstream-plugins-FsRawConference.html#FsRawConference">
42 <ANCHOR id="farstream-plugins-FsRawParticipant" href="farstream-plugins-0.10/farstream-plugins-FsRawParticipant.html">
43 <ANCHOR id="farstream-plugins-FsRawParticipant.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsRawParticipant.html#farstream-plugins-FsRawParticipant.synopsis">
44 <ANCHOR id="farstream-plugins-FsRawParticipant.description" href="farstream-plugins-0.10/farstream-plugins-FsRawParticipant.html#farstream-plugins-FsRawParticipant.description">
45 <ANCHOR id="farstream-plugins-FsRawParticipant.details" href="farstream-plugins-0.10/farstream-plugins-FsRawParticipant.html#farstream-plugins-FsRawParticipant.details">
46 <ANCHOR id="FsRawParticipant" href="farstream-plugins-0.10/farstream-plugins-FsRawParticipant.html#FsRawParticipant">
47 <ANCHOR id="farstream-plugins-FsRawSession" href="farstream-plugins-0.10/farstream-plugins-FsRawSession.html">
48 <ANCHOR id="farstream-plugins-FsRawSession.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsRawSession.html#farstream-plugins-FsRawSession.synopsis">
49 <ANCHOR id="farstream-plugins-FsRawSession.description" href="farstream-plugins-0.10/farstream-plugins-FsRawSession.html#farstream-plugins-FsRawSession.description">
50 <ANCHOR id="farstream-plugins-FsRawSession.details" href="farstream-plugins-0.10/farstream-plugins-FsRawSession.html#farstream-plugins-FsRawSession.details">
51 <ANCHOR id="FsRawSession" href="farstream-plugins-0.10/farstream-plugins-FsRawSession.html#FsRawSession">
52 <ANCHOR id="farstream-plugins-FsRawStream" href="farstream-plugins-0.10/farstream-plugins-FsRawStream.html">
53 <ANCHOR id="farstream-plugins-FsRawStream.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsRawStream.html#farstream-plugins-FsRawStream.synopsis">
54 <ANCHOR id="farstream-plugins-FsRawStream.description" href="farstream-plugins-0.10/farstream-plugins-FsRawStream.html#farstream-plugins-FsRawStream.description">
55 <ANCHOR id="farstream-plugins-FsRawStream.details" href="farstream-plugins-0.10/farstream-plugins-FsRawStream.html#farstream-plugins-FsRawStream.details">
56 <ANCHOR id="FsRawStream" href="farstream-plugins-0.10/farstream-plugins-FsRawStream.html#FsRawStream">
57 <ANCHOR id="farstream-plugins-FsMsnCamSendConference" href="farstream-plugins-0.10/farstream-plugins-FsMsnCamSendConference.html">
58 <ANCHOR id="farstream-plugins-FsMsnCamSendConference.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsMsnCamSendConference.html#farstream-plugins-FsMsnCamSendConference.synopsis">
59 <ANCHOR id="farstream-plugins-FsMsnCamSendConference.description" href="farstream-plugins-0.10/farstream-plugins-FsMsnCamSendConference.html#farstream-plugins-FsMsnCamSendConference.description">
60 <ANCHOR id="farstream-plugins-FsMsnCamSendConference.details" href="farstream-plugins-0.10/farstream-plugins-FsMsnCamSendConference.html#farstream-plugins-FsMsnCamSendConference.details">
61 <ANCHOR id="FsMsnCamSendConference" href="farstream-plugins-0.10/farstream-plugins-FsMsnCamSendConference.html#FsMsnCamSendConference">
62 <ANCHOR id="farstream-plugins-FsMsnCamCamRecvConference" href="farstream-plugins-0.10/farstream-plugins-FsMsnCamCamRecvConference.html">
63 <ANCHOR id="farstream-plugins-FsMsnCamCamRecvConference.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsMsnCamCamRecvConference.html#farstream-plugins-FsMsnCamCamRecvConference.synopsis">
64 <ANCHOR id="farstream-plugins-FsMsnCamCamRecvConference.description" href="farstream-plugins-0.10/farstream-plugins-FsMsnCamCamRecvConference.html#farstream-plugins-FsMsnCamCamRecvConference.description">
65 <ANCHOR id="farstream-plugins-FsMsnCamCamRecvConference.details" href="farstream-plugins-0.10/farstream-plugins-FsMsnCamCamRecvConference.html#farstream-plugins-FsMsnCamCamRecvConference.details">
66 <ANCHOR id="FsMsnCamRecvConference" href="farstream-plugins-0.10/farstream-plugins-FsMsnCamCamRecvConference.html#FsMsnCamRecvConference">
67 <ANCHOR id="farstream-plugins-FsMsnConference" href="farstream-plugins-0.10/farstream-plugins-FsMsnConference.html">
68 <ANCHOR id="farstream-plugins-FsMsnConference.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsMsnConference.html#farstream-plugins-FsMsnConference.synopsis">
69 <ANCHOR id="farstream-plugins-FsMsnConference.description" href="farstream-plugins-0.10/farstream-plugins-FsMsnConference.html#farstream-plugins-FsMsnConference.description">
70 <ANCHOR id="farstream-plugins-FsMsnConference.details" href="farstream-plugins-0.10/farstream-plugins-FsMsnConference.html#farstream-plugins-FsMsnConference.details">
71 <ANCHOR id="FsMsnConference" href="farstream-plugins-0.10/farstream-plugins-FsMsnConference.html#FsMsnConference">
72 <ANCHOR id="farstream-plugins-FsMsnParticipant" href="farstream-plugins-0.10/farstream-plugins-FsMsnParticipant.html">
73 <ANCHOR id="farstream-plugins-FsMsnParticipant.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsMsnParticipant.html#farstream-plugins-FsMsnParticipant.synopsis">
74 <ANCHOR id="farstream-plugins-FsMsnParticipant.description" href="farstream-plugins-0.10/farstream-plugins-FsMsnParticipant.html#farstream-plugins-FsMsnParticipant.description">
75 <ANCHOR id="farstream-plugins-FsMsnParticipant.details" href="farstream-plugins-0.10/farstream-plugins-FsMsnParticipant.html#farstream-plugins-FsMsnParticipant.details">
76 <ANCHOR id="FsMsnParticipant" href="farstream-plugins-0.10/farstream-plugins-FsMsnParticipant.html#FsMsnParticipant">
77 <ANCHOR id="farstream-plugins-FsMsnSession" href="farstream-plugins-0.10/farstream-plugins-FsMsnSession.html">
78 <ANCHOR id="farstream-plugins-FsMsnSession.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsMsnSession.html#farstream-plugins-FsMsnSession.synopsis">
79 <ANCHOR id="farstream-plugins-FsMsnSession.description" href="farstream-plugins-0.10/farstream-plugins-FsMsnSession.html#farstream-plugins-FsMsnSession.description">
80 <ANCHOR id="farstream-plugins-FsMsnSession.details" href="farstream-plugins-0.10/farstream-plugins-FsMsnSession.html#farstream-plugins-FsMsnSession.details">
81 <ANCHOR id="FsMsnSession" href="farstream-plugins-0.10/farstream-plugins-FsMsnSession.html#FsMsnSession">
82 <ANCHOR id="farstream-plugins-FsMsnStream" href="farstream-plugins-0.10/farstream-plugins-FsMsnStream.html">
83 <ANCHOR id="farstream-plugins-FsMsnStream.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsMsnStream.html#farstream-plugins-FsMsnStream.synopsis">
84 <ANCHOR id="farstream-plugins-FsMsnStream.description" href="farstream-plugins-0.10/farstream-plugins-FsMsnStream.html#farstream-plugins-FsMsnStream.description">
85 <ANCHOR id="farstream-plugins-FsMsnStream.details" href="farstream-plugins-0.10/farstream-plugins-FsMsnStream.html#farstream-plugins-FsMsnStream.details">
86 <ANCHOR id="FsMsnStream" href="farstream-plugins-0.10/farstream-plugins-FsMsnStream.html#FsMsnStream">
87 <ANCHOR id="farstream-plugins-FsRawUdpStreamTransmitter" href="farstream-plugins-0.10/farstream-plugins-FsRawUdpStreamTransmitter.html">
88 <ANCHOR id="farstream-plugins-FsRawUdpStreamTransmitter.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsRawUdpStreamTransmitter.html#farstream-plugins-FsRawUdpStreamTransmitter.synopsis">
89 <ANCHOR id="farstream-plugins-FsRawUdpStreamTransmitter.description" href="farstream-plugins-0.10/farstream-plugins-FsRawUdpStreamTransmitter.html#farstream-plugins-FsRawUdpStreamTransmitter.description">
90 <ANCHOR id="farstream-plugins-FsRawUdpStreamTransmitter.details" href="farstream-plugins-0.10/farstream-plugins-FsRawUdpStreamTransmitter.html#farstream-plugins-FsRawUdpStreamTransmitter.details">
91 <ANCHOR id="FsRawUdpStreamTransmitter" href="farstream-plugins-0.10/farstream-plugins-FsRawUdpStreamTransmitter.html#FsRawUdpStreamTransmitter">
92 <ANCHOR id="farstream-plugins-FsRawUdpStreamTransmitter.see-also" href="farstream-plugins-0.10/farstream-plugins-FsRawUdpStreamTransmitter.html#farstream-plugins-FsRawUdpStreamTransmitter.see-also">
93 <ANCHOR id="farstream-plugins-FsMulticastStreamTransmitter" href="farstream-plugins-0.10/farstream-plugins-FsMulticastStreamTransmitter.html">
94 <ANCHOR id="farstream-plugins-FsMulticastStreamTransmitter.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsMulticastStreamTransmitter.html#farstream-plugins-FsMulticastStreamTransmitter.synopsis">
95 <ANCHOR id="farstream-plugins-FsMulticastStreamTransmitter.description" href="farstream-plugins-0.10/farstream-plugins-FsMulticastStreamTransmitter.html#farstream-plugins-FsMulticastStreamTransmitter.description">
96 <ANCHOR id="farstream-plugins-FsMulticastStreamTransmitter.details" href="farstream-plugins-0.10/farstream-plugins-FsMulticastStreamTransmitter.html#farstream-plugins-FsMulticastStreamTransmitter.details">
97 <ANCHOR id="FsMulticastStreamTransmitter" href="farstream-plugins-0.10/farstream-plugins-FsMulticastStreamTransmitter.html#FsMulticastStreamTransmitter">
98 <ANCHOR id="farstream-plugins-FsMulticastStreamTransmitter.see-also" href="farstream-plugins-0.10/farstream-plugins-FsMulticastStreamTransmitter.html#farstream-plugins-FsMulticastStreamTransmitter.see-also">
99 <ANCHOR id="farstream-plugins-FsNiceStreamTransmitter" href="farstream-plugins-0.10/farstream-plugins-FsNiceStreamTransmitter.html">
100 <ANCHOR id="farstream-plugins-FsNiceStreamTransmitter.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsNiceStreamTransmitter.html#farstream-plugins-FsNiceStreamTransmitter.synopsis">
101 <ANCHOR id="farstream-plugins-FsNiceStreamTransmitter.description" href="farstream-plugins-0.10/farstream-plugins-FsNiceStreamTransmitter.html#farstream-plugins-FsNiceStreamTransmitter.description">
102 <ANCHOR id="farstream-plugins-FsNiceStreamTransmitter.details" href="farstream-plugins-0.10/farstream-plugins-FsNiceStreamTransmitter.html#farstream-plugins-FsNiceStreamTransmitter.details">
103 <ANCHOR id="FsNiceStreamTransmitter" href="farstream-plugins-0.10/farstream-plugins-FsNiceStreamTransmitter.html#FsNiceStreamTransmitter">
104 <ANCHOR id="farstream-plugins-FsNiceStreamTransmitter.see-also" href="farstream-plugins-0.10/farstream-plugins-FsNiceStreamTransmitter.html#farstream-plugins-FsNiceStreamTransmitter.see-also">
105 <ANCHOR id="farstream-plugins-FsShmStreamTransmitter" href="farstream-plugins-0.10/farstream-plugins-FsShmStreamTransmitter.html">
106 <ANCHOR id="farstream-plugins-FsShmStreamTransmitter.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsShmStreamTransmitter.html#farstream-plugins-FsShmStreamTransmitter.synopsis">
107 <ANCHOR id="farstream-plugins-FsShmStreamTransmitter.description" href="farstream-plugins-0.10/farstream-plugins-FsShmStreamTransmitter.html#farstream-plugins-FsShmStreamTransmitter.description">
108 <ANCHOR id="farstream-plugins-FsShmStreamTransmitter.details" href="farstream-plugins-0.10/farstream-plugins-FsShmStreamTransmitter.html#farstream-plugins-FsShmStreamTransmitter.details">
109 <ANCHOR id="FsShmStreamTransmitter" href="farstream-plugins-0.10/farstream-plugins-FsShmStreamTransmitter.html#FsShmStreamTransmitter">
110 <ANCHOR id="farstream-plugins-FsFunnel" href="farstream-plugins-0.10/farstream-plugins-FsFunnel.html">
111 <ANCHOR id="farstream-plugins-FsFunnel.synopsis" href="farstream-plugins-0.10/farstream-plugins-FsFunnel.html#farstream-plugins-FsFunnel.synopsis">
112 <ANCHOR id="farstream-plugins-FsFunnel.description" href="farstream-plugins-0.10/farstream-plugins-FsFunnel.html#farstream-plugins-FsFunnel.description">
113 <ANCHOR id="farstream-plugins-FsFunnel.details" href="farstream-plugins-0.10/farstream-plugins-FsFunnel.html#farstream-plugins-FsFunnel.details">
114 <ANCHOR id="FsFunnel" href="farstream-plugins-0.10/farstream-plugins-FsFunnel.html#FsFunnel">
115 <ANCHOR id="farstream-plugins-GstVideoanyrate" href="farstream-plugins-0.10/farstream-plugins-GstVideoanyrate.html">
116 <ANCHOR id="farstream-plugins-GstVideoanyrate.synopsis" href="farstream-plugins-0.10/farstream-plugins-GstVideoanyrate.html#farstream-plugins-GstVideoanyrate.synopsis">
117 <ANCHOR id="farstream-plugins-GstVideoanyrate.description" href="farstream-plugins-0.10/farstream-plugins-GstVideoanyrate.html#farstream-plugins-GstVideoanyrate.description">
118 <ANCHOR id="farstream-plugins-GstVideoanyrate.details" href="farstream-plugins-0.10/farstream-plugins-GstVideoanyrate.html#farstream-plugins-GstVideoanyrate.details">
119 <ANCHOR id="GstVideoanyrate" href="farstream-plugins-0.10/farstream-plugins-GstVideoanyrate.html#GstVideoanyrate">
1 <ANCHOR id="FsRtpConference" href="farstream-plugins-1.0/FsRtpConference.html">
2 <ANCHOR id="FsRtpConference.synopsis" href="farstream-plugins-1.0/FsRtpConference.html#FsRtpConference.synopsis">
3 <ANCHOR id="FsRtpConference.object-hierarchy" href="farstream-plugins-1.0/FsRtpConference.html#FsRtpConference.object-hierarchy">
4 <ANCHOR id="FsRtpConference.implemented-interfaces" href="farstream-plugins-1.0/FsRtpConference.html#FsRtpConference.implemented-interfaces">
5 <ANCHOR id="FsRtpConference.properties" href="farstream-plugins-1.0/FsRtpConference.html#FsRtpConference.properties">
6 <ANCHOR id="FsRtpConference.description" href="farstream-plugins-1.0/FsRtpConference.html#FsRtpConference.description">
7 <ANCHOR id="FsRtpConference.details" href="farstream-plugins-1.0/FsRtpConference.html#FsRtpConference.details">
8 <ANCHOR id="FsRtpConference-struct" href="farstream-plugins-1.0/FsRtpConference.html#FsRtpConference-struct">
9 <ANCHOR id="FsRtpConference.property-details" href="farstream-plugins-1.0/FsRtpConference.html#FsRtpConference.property-details">
10 <ANCHOR id="FsRtpConference--sdes" href="farstream-plugins-1.0/FsRtpConference.html#FsRtpConference--sdes">
11 <ANCHOR id="FsRtpParticipant" href="farstream-plugins-1.0/FsRtpParticipant.html">
12 <ANCHOR id="FsRtpParticipant.synopsis" href="farstream-plugins-1.0/FsRtpParticipant.html#FsRtpParticipant.synopsis">
13 <ANCHOR id="FsRtpParticipant.object-hierarchy" href="farstream-plugins-1.0/FsRtpParticipant.html#FsRtpParticipant.object-hierarchy">
14 <ANCHOR id="FsRtpParticipant.properties" href="farstream-plugins-1.0/FsRtpParticipant.html#FsRtpParticipant.properties">
15 <ANCHOR id="FsRtpParticipant.description" href="farstream-plugins-1.0/FsRtpParticipant.html#FsRtpParticipant.description">
16 <ANCHOR id="FsRtpParticipant.details" href="farstream-plugins-1.0/FsRtpParticipant.html#FsRtpParticipant.details">
17 <ANCHOR id="FsRtpParticipant-struct" href="farstream-plugins-1.0/FsRtpParticipant.html#FsRtpParticipant-struct">
18 <ANCHOR id="FsRtpParticipant.property-details" href="farstream-plugins-1.0/FsRtpParticipant.html#FsRtpParticipant.property-details">
19 <ANCHOR id="FsRtpParticipant--cname" href="farstream-plugins-1.0/FsRtpParticipant.html#FsRtpParticipant--cname">
20 <ANCHOR id="FsRtpSession" href="farstream-plugins-1.0/FsRtpSession.html">
21 <ANCHOR id="FsRtpSession.synopsis" href="farstream-plugins-1.0/FsRtpSession.html#FsRtpSession.synopsis">
22 <ANCHOR id="FsRtpSession.object-hierarchy" href="farstream-plugins-1.0/FsRtpSession.html#FsRtpSession.object-hierarchy">
23 <ANCHOR id="FsRtpSession.properties" href="farstream-plugins-1.0/FsRtpSession.html#FsRtpSession.properties">
24 <ANCHOR id="FsRtpSession.description" href="farstream-plugins-1.0/FsRtpSession.html#FsRtpSession.description">
25 <ANCHOR id="FsRtpSession.details" href="farstream-plugins-1.0/FsRtpSession.html#FsRtpSession.details">
26 <ANCHOR id="FsRtpSession-struct" href="farstream-plugins-1.0/FsRtpSession.html#FsRtpSession-struct">
27 <ANCHOR id="FsRtpSession.property-details" href="farstream-plugins-1.0/FsRtpSession.html#FsRtpSession.property-details">
28 <ANCHOR id="FsRtpSession--no-rtcp-timeout" href="farstream-plugins-1.0/FsRtpSession.html#FsRtpSession--no-rtcp-timeout">
29 <ANCHOR id="FsRtpSession--rtp-header-extension-preferences" href="farstream-plugins-1.0/FsRtpSession.html#FsRtpSession--rtp-header-extension-preferences">
30 <ANCHOR id="FsRtpSession--rtp-header-extensions" href="farstream-plugins-1.0/FsRtpSession.html#FsRtpSession--rtp-header-extensions">
31 <ANCHOR id="FsRtpSession--send-bitrate" href="farstream-plugins-1.0/FsRtpSession.html#FsRtpSession--send-bitrate">
32 <ANCHOR id="FsRtpSession--ssrc" href="farstream-plugins-1.0/FsRtpSession.html#FsRtpSession--ssrc">
33 <ANCHOR id="FsRtpStream" href="farstream-plugins-1.0/FsRtpStream.html">
34 <ANCHOR id="FsRtpStream.synopsis" href="farstream-plugins-1.0/FsRtpStream.html#FsRtpStream.synopsis">
35 <ANCHOR id="FsRtpStream.object-hierarchy" href="farstream-plugins-1.0/FsRtpStream.html#FsRtpStream.object-hierarchy">
36 <ANCHOR id="FsRtpStream.properties" href="farstream-plugins-1.0/FsRtpStream.html#FsRtpStream.properties">
37 <ANCHOR id="FsRtpStream.description" href="farstream-plugins-1.0/FsRtpStream.html#FsRtpStream.description">
38 <ANCHOR id="FsRtpStream.details" href="farstream-plugins-1.0/FsRtpStream.html#FsRtpStream.details">
39 <ANCHOR id="FsRtpStream-struct" href="farstream-plugins-1.0/FsRtpStream.html#FsRtpStream-struct">
40 <ANCHOR id="FsRtpStream.property-details" href="farstream-plugins-1.0/FsRtpStream.html#FsRtpStream.property-details">
41 <ANCHOR id="FsRtpStream--rtp-header-extensions" href="farstream-plugins-1.0/FsRtpStream.html#FsRtpStream--rtp-header-extensions">
42 <ANCHOR id="FsRawConference" href="farstream-plugins-1.0/FsRawConference.html">
43 <ANCHOR id="FsRawConference.synopsis" href="farstream-plugins-1.0/FsRawConference.html#FsRawConference.synopsis">
44 <ANCHOR id="FsRawConference.object-hierarchy" href="farstream-plugins-1.0/FsRawConference.html#FsRawConference.object-hierarchy">
45 <ANCHOR id="FsRawConference.implemented-interfaces" href="farstream-plugins-1.0/FsRawConference.html#FsRawConference.implemented-interfaces">
46 <ANCHOR id="FsRawConference.description" href="farstream-plugins-1.0/FsRawConference.html#FsRawConference.description">
47 <ANCHOR id="FsRawConference.details" href="farstream-plugins-1.0/FsRawConference.html#FsRawConference.details">
48 <ANCHOR id="FsRawConference-struct" href="farstream-plugins-1.0/FsRawConference.html#FsRawConference-struct">
49 <ANCHOR id="farstream-plugins-FsRawParticipant" href="farstream-plugins-1.0/farstream-plugins-FsRawParticipant.html">
50 <ANCHOR id="farstream-plugins-FsRawParticipant.synopsis" href="farstream-plugins-1.0/farstream-plugins-FsRawParticipant.html#farstream-plugins-FsRawParticipant.synopsis">
51 <ANCHOR id="farstream-plugins-FsRawParticipant.description" href="farstream-plugins-1.0/farstream-plugins-FsRawParticipant.html#farstream-plugins-FsRawParticipant.description">
52 <ANCHOR id="farstream-plugins-FsRawParticipant.details" href="farstream-plugins-1.0/farstream-plugins-FsRawParticipant.html#farstream-plugins-FsRawParticipant.details">
53 <ANCHOR id="FsRawParticipant" href="farstream-plugins-1.0/farstream-plugins-FsRawParticipant.html#FsRawParticipant">
54 <ANCHOR id="farstream-plugins-FsRawSession" href="farstream-plugins-1.0/farstream-plugins-FsRawSession.html">
55 <ANCHOR id="farstream-plugins-FsRawSession.synopsis" href="farstream-plugins-1.0/farstream-plugins-FsRawSession.html#farstream-plugins-FsRawSession.synopsis">
56 <ANCHOR id="farstream-plugins-FsRawSession.description" href="farstream-plugins-1.0/farstream-plugins-FsRawSession.html#farstream-plugins-FsRawSession.description">
57 <ANCHOR id="farstream-plugins-FsRawSession.details" href="farstream-plugins-1.0/farstream-plugins-FsRawSession.html#farstream-plugins-FsRawSession.details">
58 <ANCHOR id="FsRawSession" href="farstream-plugins-1.0/farstream-plugins-FsRawSession.html#FsRawSession">
59 <ANCHOR id="farstream-plugins-FsRawStream" href="farstream-plugins-1.0/farstream-plugins-FsRawStream.html">
60 <ANCHOR id="farstream-plugins-FsRawStream.synopsis" href="farstream-plugins-1.0/farstream-plugins-FsRawStream.html#farstream-plugins-FsRawStream.synopsis">
61 <ANCHOR id="farstream-plugins-FsRawStream.description" href="farstream-plugins-1.0/farstream-plugins-FsRawStream.html#farstream-plugins-FsRawStream.description">
62 <ANCHOR id="farstream-plugins-FsRawStream.details" href="farstream-plugins-1.0/farstream-plugins-FsRawStream.html#farstream-plugins-FsRawStream.details">
63 <ANCHOR id="FsRawStream" href="farstream-plugins-1.0/farstream-plugins-FsRawStream.html#FsRawStream">
64 <ANCHOR id="FsMsnCamSendConference" href="farstream-plugins-1.0/FsMsnCamSendConference.html">
65 <ANCHOR id="FsMsnCamSendConference.synopsis" href="farstream-plugins-1.0/FsMsnCamSendConference.html#FsMsnCamSendConference.synopsis">
66 <ANCHOR id="FsMsnCamSendConference.object-hierarchy" href="farstream-plugins-1.0/FsMsnCamSendConference.html#FsMsnCamSendConference.object-hierarchy">
67 <ANCHOR id="FsMsnCamSendConference.implemented-interfaces" href="farstream-plugins-1.0/FsMsnCamSendConference.html#FsMsnCamSendConference.implemented-interfaces">
68 <ANCHOR id="FsMsnCamSendConference.description" href="farstream-plugins-1.0/FsMsnCamSendConference.html#FsMsnCamSendConference.description">
69 <ANCHOR id="FsMsnCamSendConference.details" href="farstream-plugins-1.0/FsMsnCamSendConference.html#FsMsnCamSendConference.details">
70 <ANCHOR id="FsMsnCamSendConference-struct" href="farstream-plugins-1.0/FsMsnCamSendConference.html#FsMsnCamSendConference-struct">
71 <ANCHOR id="farstream-plugins-FsMsnCamCamRecvConference" href="farstream-plugins-1.0/farstream-plugins-FsMsnCamCamRecvConference.html">
72 <ANCHOR id="farstream-plugins-FsMsnCamCamRecvConference.synopsis" href="farstream-plugins-1.0/farstream-plugins-FsMsnCamCamRecvConference.html#farstream-plugins-FsMsnCamCamRecvConference.synopsis">
73 <ANCHOR id="FsMsnCamRecvConference" href="farstream-plugins-1.0/farstream-plugins-FsMsnCamCamRecvConference.html#FsMsnCamRecvConference">
74 <ANCHOR id="farstream-plugins-FsMsnCamCamRecvConference.object-hierarchy" href="farstream-plugins-1.0/farstream-plugins-FsMsnCamCamRecvConference.html#farstream-plugins-FsMsnCamCamRecvConference.object-hierarchy">
75 <ANCHOR id="farstream-plugins-FsMsnCamCamRecvConference.implemented-interfaces" href="farstream-plugins-1.0/farstream-plugins-FsMsnCamCamRecvConference.html#farstream-plugins-FsMsnCamCamRecvConference.implemented-interfaces">
76 <ANCHOR id="farstream-plugins-FsMsnCamCamRecvConference.description" href="farstream-plugins-1.0/farstream-plugins-FsMsnCamCamRecvConference.html#farstream-plugins-FsMsnCamCamRecvConference.description">
77 <ANCHOR id="farstream-plugins-FsMsnCamCamRecvConference.details" href="farstream-plugins-1.0/farstream-plugins-FsMsnCamCamRecvConference.html#farstream-plugins-FsMsnCamCamRecvConference.details">
78 <ANCHOR id="FsMsnCamRecvConference-struct" href="farstream-plugins-1.0/farstream-plugins-FsMsnCamCamRecvConference.html#FsMsnCamRecvConference-struct">
79 <ANCHOR id="FsMsnConference" href="farstream-plugins-1.0/FsMsnConference.html">
80 <ANCHOR id="FsMsnConference.synopsis" href="farstream-plugins-1.0/FsMsnConference.html#FsMsnConference.synopsis">
81 <ANCHOR id="FsMsnConference.object-hierarchy" href="farstream-plugins-1.0/FsMsnConference.html#FsMsnConference.object-hierarchy">
82 <ANCHOR id="FsMsnConference.implemented-interfaces" href="farstream-plugins-1.0/FsMsnConference.html#FsMsnConference.implemented-interfaces">
83 <ANCHOR id="FsMsnConference.description" href="farstream-plugins-1.0/FsMsnConference.html#FsMsnConference.description">
84 <ANCHOR id="FsMsnConference.details" href="farstream-plugins-1.0/FsMsnConference.html#FsMsnConference.details">
85 <ANCHOR id="FsMsnConference-struct" href="farstream-plugins-1.0/FsMsnConference.html#FsMsnConference-struct">
86 <ANCHOR id="FsMsnParticipant" href="farstream-plugins-1.0/FsMsnParticipant.html">
87 <ANCHOR id="FsMsnParticipant.synopsis" href="farstream-plugins-1.0/FsMsnParticipant.html#FsMsnParticipant.synopsis">
88 <ANCHOR id="FsMsnParticipant.object-hierarchy" href="farstream-plugins-1.0/FsMsnParticipant.html#FsMsnParticipant.object-hierarchy">
89 <ANCHOR id="FsMsnParticipant.description" href="farstream-plugins-1.0/FsMsnParticipant.html#FsMsnParticipant.description">
90 <ANCHOR id="FsMsnParticipant.details" href="farstream-plugins-1.0/FsMsnParticipant.html#FsMsnParticipant.details">
91 <ANCHOR id="FsMsnParticipant-struct" href="farstream-plugins-1.0/FsMsnParticipant.html#FsMsnParticipant-struct">
92 <ANCHOR id="farstream-plugins-FsMsnSession" href="farstream-plugins-1.0/farstream-plugins-FsMsnSession.html">
93 <ANCHOR id="farstream-plugins-FsMsnSession.synopsis" href="farstream-plugins-1.0/farstream-plugins-FsMsnSession.html#farstream-plugins-FsMsnSession.synopsis">
94 <ANCHOR id="farstream-plugins-FsMsnSession.description" href="farstream-plugins-1.0/farstream-plugins-FsMsnSession.html#farstream-plugins-FsMsnSession.description">
95 <ANCHOR id="farstream-plugins-FsMsnSession.details" href="farstream-plugins-1.0/farstream-plugins-FsMsnSession.html#farstream-plugins-FsMsnSession.details">
96 <ANCHOR id="FsMsnSession" href="farstream-plugins-1.0/farstream-plugins-FsMsnSession.html#FsMsnSession">
97 <ANCHOR id="farstream-plugins-FsMsnStream" href="farstream-plugins-1.0/farstream-plugins-FsMsnStream.html">
98 <ANCHOR id="farstream-plugins-FsMsnStream.synopsis" href="farstream-plugins-1.0/farstream-plugins-FsMsnStream.html#farstream-plugins-FsMsnStream.synopsis">
99 <ANCHOR id="farstream-plugins-FsMsnStream.description" href="farstream-plugins-1.0/farstream-plugins-FsMsnStream.html#farstream-plugins-FsMsnStream.description">
100 <ANCHOR id="farstream-plugins-FsMsnStream.details" href="farstream-plugins-1.0/farstream-plugins-FsMsnStream.html#farstream-plugins-FsMsnStream.details">
101 <ANCHOR id="FsMsnStream" href="farstream-plugins-1.0/farstream-plugins-FsMsnStream.html#FsMsnStream">
102 <ANCHOR id="farstream-plugins-FsRawUdpStreamTransmitter" href="farstream-plugins-1.0/farstream-plugins-FsRawUdpStreamTransmitter.html">
103 <ANCHOR id="farstream-plugins-FsRawUdpStreamTransmitter.synopsis" href="farstream-plugins-1.0/farstream-plugins-FsRawUdpStreamTransmitter.html#farstream-plugins-FsRawUdpStreamTransmitter.synopsis">
104 <ANCHOR id="farstream-plugins-FsRawUdpStreamTransmitter.description" href="farstream-plugins-1.0/farstream-plugins-FsRawUdpStreamTransmitter.html#farstream-plugins-FsRawUdpStreamTransmitter.description">
105 <ANCHOR id="farstream-plugins-FsRawUdpStreamTransmitter.details" href="farstream-plugins-1.0/farstream-plugins-FsRawUdpStreamTransmitter.html#farstream-plugins-FsRawUdpStreamTransmitter.details">
106 <ANCHOR id="FsRawUdpStreamTransmitter" href="farstream-plugins-1.0/farstream-plugins-FsRawUdpStreamTransmitter.html#FsRawUdpStreamTransmitter">
107 <ANCHOR id="farstream-plugins-FsRawUdpStreamTransmitter.see-also" href="farstream-plugins-1.0/farstream-plugins-FsRawUdpStreamTransmitter.html#farstream-plugins-FsRawUdpStreamTransmitter.see-also">
108 <ANCHOR id="farstream-plugins-FsMulticastStreamTransmitter" href="farstream-plugins-1.0/farstream-plugins-FsMulticastStreamTransmitter.html">
109 <ANCHOR id="farstream-plugins-FsMulticastStreamTransmitter.synopsis" href="farstream-plugins-1.0/farstream-plugins-FsMulticastStreamTransmitter.html#farstream-plugins-FsMulticastStreamTransmitter.synopsis">
110 <ANCHOR id="farstream-plugins-FsMulticastStreamTransmitter.description" href="farstream-plugins-1.0/farstream-plugins-FsMulticastStreamTransmitter.html#farstream-plugins-FsMulticastStreamTransmitter.description">
111 <ANCHOR id="farstream-plugins-FsMulticastStreamTransmitter.details" href="farstream-plugins-1.0/farstream-plugins-FsMulticastStreamTransmitter.html#farstream-plugins-FsMulticastStreamTransmitter.details">
112 <ANCHOR id="FsMulticastStreamTransmitter" href="farstream-plugins-1.0/farstream-plugins-FsMulticastStreamTransmitter.html#FsMulticastStreamTransmitter">
113 <ANCHOR id="farstream-plugins-FsMulticastStreamTransmitter.see-also" href="farstream-plugins-1.0/farstream-plugins-FsMulticastStreamTransmitter.html#farstream-plugins-FsMulticastStreamTransmitter.see-also">
114 <ANCHOR id="farstream-plugins-FsNiceStreamTransmitter" href="farstream-plugins-1.0/farstream-plugins-FsNiceStreamTransmitter.html">
115 <ANCHOR id="farstream-plugins-FsNiceStreamTransmitter.synopsis" href="farstream-plugins-1.0/farstream-plugins-FsNiceStreamTransmitter.html#farstream-plugins-FsNiceStreamTransmitter.synopsis">
116 <ANCHOR id="farstream-plugins-FsNiceStreamTransmitter.description" href="farstream-plugins-1.0/farstream-plugins-FsNiceStreamTransmitter.html#farstream-plugins-FsNiceStreamTransmitter.description">
117 <ANCHOR id="farstream-plugins-FsNiceStreamTransmitter.details" href="farstream-plugins-1.0/farstream-plugins-FsNiceStreamTransmitter.html#farstream-plugins-FsNiceStreamTransmitter.details">
118 <ANCHOR id="FsNiceStreamTransmitter" href="farstream-plugins-1.0/farstream-plugins-FsNiceStreamTransmitter.html#FsNiceStreamTransmitter">
119 <ANCHOR id="farstream-plugins-FsNiceStreamTransmitter.see-also" href="farstream-plugins-1.0/farstream-plugins-FsNiceStreamTransmitter.html#farstream-plugins-FsNiceStreamTransmitter.see-also">
120 <ANCHOR id="farstream-plugins-FsShmStreamTransmitter" href="farstream-plugins-1.0/farstream-plugins-FsShmStreamTransmitter.html">
121 <ANCHOR id="farstream-plugins-FsShmStreamTransmitter.synopsis" href="farstream-plugins-1.0/farstream-plugins-FsShmStreamTransmitter.html#farstream-plugins-FsShmStreamTransmitter.synopsis">
122 <ANCHOR id="farstream-plugins-FsShmStreamTransmitter.description" href="farstream-plugins-1.0/farstream-plugins-FsShmStreamTransmitter.html#farstream-plugins-FsShmStreamTransmitter.description">
123 <ANCHOR id="farstream-plugins-FsShmStreamTransmitter.details" href="farstream-plugins-1.0/farstream-plugins-FsShmStreamTransmitter.html#farstream-plugins-FsShmStreamTransmitter.details">
124 <ANCHOR id="FsShmStreamTransmitter" href="farstream-plugins-1.0/farstream-plugins-FsShmStreamTransmitter.html#FsShmStreamTransmitter">
125 <ANCHOR id="GstVideoanyrate" href="farstream-plugins-1.0/GstVideoanyrate.html">
126 <ANCHOR id="GstVideoanyrate.synopsis" href="farstream-plugins-1.0/GstVideoanyrate.html#GstVideoanyrate.synopsis">
127 <ANCHOR id="GstVideoanyrate.object-hierarchy" href="farstream-plugins-1.0/GstVideoanyrate.html#GstVideoanyrate.object-hierarchy">
128 <ANCHOR id="GstVideoanyrate.description" href="farstream-plugins-1.0/GstVideoanyrate.html#GstVideoanyrate.description">
129 <ANCHOR id="GstVideoanyrate.details" href="farstream-plugins-1.0/GstVideoanyrate.html#GstVideoanyrate.details">
130 <ANCHOR id="GstVideoanyrate-struct" href="farstream-plugins-1.0/GstVideoanyrate.html#GstVideoanyrate-struct">
77 <link rel="up" href="index.html" title="Farstream Plugins Manual">
88 <link rel="prev" href="index.html" title="Farstream Plugins Manual">
99 <link rel="next" href="ch01.html" title="RTP Plugin">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
2020 </tr></table>
2121 <div class="part">
2222 <div class="titlepage"><div><div><h1 class="title">
23 <a name="id538577"></a>Part I. Plugins implementing FsConference</h1></div></div></div>
23 <a name="id341397"></a>Part I. Plugins implementing FsConference</h1></div></div></div>
2424 <div class="toc">
2525 <p><b>Table of Contents</b></p>
2626 <dl>
2727 <dt><span class="chapter"><a href="ch01.html">RTP Plugin</a></span></dt>
2828 <dd><dl>
2929 <dt>
30 <span class="refentrytitle"><a href="farstream-plugins-FsRtpConference.html">FsRtpConference</a></span><span class="refpurpose"> — Farstream RTP Conference Gstreamer Elements</span>
30 <span class="refentrytitle"><a href="FsRtpConference.html">FsRtpConference</a></span><span class="refpurpose"> — Farstream RTP Conference Gstreamer Elements</span>
3131 </dt>
3232 <dt>
33 <span class="refentrytitle"><a href="farstream-plugins-FsRtpParticipant.html">FsRtpParticipant</a></span><span class="refpurpose"> — A RTP participant in a <a class="link" href="farstream-plugins-FsRtpConference.html#FsRtpConference" title="struct FsRtpConference"><span class="type">FsRtpConference</span></a></span>
33 <span class="refentrytitle"><a href="FsRtpParticipant.html">FsRtpParticipant</a></span><span class="refpurpose"> — A RTP participant in a <a class="link" href="FsRtpConference.html" title="FsRtpConference"><span class="type">FsRtpConference</span></a></span>
3434 </dt>
3535 <dt>
36 <span class="refentrytitle"><a href="farstream-plugins-FsRtpSession.html">FsRtpSession</a></span><span class="refpurpose"> — A RTP session in a <a class="link" href="farstream-plugins-FsRtpConference.html#FsRtpConference" title="struct FsRtpConference"><span class="type">FsRtpConference</span></a></span>
36 <span class="refentrytitle"><a href="FsRtpSession.html">FsRtpSession</a></span><span class="refpurpose"> — A RTP session in a <a class="link" href="FsRtpConference.html" title="FsRtpConference"><span class="type">FsRtpConference</span></a></span>
3737 </dt>
3838 <dt>
39 <span class="refentrytitle"><a href="farstream-plugins-FsRtpStream.html">FsRtpStream</a></span><span class="refpurpose"> — A RTP stream in a <a class="link" href="farstream-plugins-FsRtpSession.html#FsRtpSession" title="FsRtpSession"><span class="type">FsRtpSession</span></a> in a <a class="link" href="farstream-plugins-FsRtpConference.html#FsRtpConference" title="struct FsRtpConference"><span class="type">FsRtpConference</span></a></span>
39 <span class="refentrytitle"><a href="FsRtpStream.html">FsRtpStream</a></span><span class="refpurpose"> — A RTP stream in a <a class="link" href="FsRtpSession.html" title="FsRtpSession"><span class="type">FsRtpSession</span></a> in a <a class="link" href="FsRtpConference.html" title="FsRtpConference"><span class="type">FsRtpConference</span></a></span>
4040 </dt>
4141 </dl></dd>
4242 <dt><span class="chapter"><a href="ch02.html">Raw Plugin</a></span></dt>
4343 <dd><dl>
4444 <dt>
45 <span class="refentrytitle"><a href="farstream-plugins-FsRawConference.html">FsRawConference</a></span><span class="refpurpose"> — Farstream Raw Conference Gstreamer Elements Base class</span>
45 <span class="refentrytitle"><a href="FsRawConference.html">FsRawConference</a></span><span class="refpurpose"> — Farstream Raw Conference Gstreamer Elements Base class</span>
4646 </dt>
4747 <dt>
48 <span class="refentrytitle"><a href="farstream-plugins-FsRawParticipant.html">FsRawParticipant</a></span><span class="refpurpose"> — A Raw participant in a <a class="link" href="farstream-plugins-FsRawConference.html#FsRawConference" title="struct FsRawConference"><span class="type">FsRawConference</span></a></span>
48 <span class="refentrytitle"><a href="farstream-plugins-FsRawParticipant.html">FsRawParticipant</a></span><span class="refpurpose"> — A Raw participant in a <a class="link" href="FsRawConference.html" title="FsRawConference"><span class="type">FsRawConference</span></a></span>
4949 </dt>
5050 <dt>
51 <span class="refentrytitle"><a href="farstream-plugins-FsRawSession.html">FsRawSession</a></span><span class="refpurpose"> — A Raw session in a <a class="link" href="farstream-plugins-FsRawConference.html#FsRawConference" title="struct FsRawConference"><span class="type">FsRawConference</span></a></span>
51 <span class="refentrytitle"><a href="farstream-plugins-FsRawSession.html">FsRawSession</a></span><span class="refpurpose"> — A Raw session in a <a class="link" href="FsRawConference.html" title="FsRawConference"><span class="type">FsRawConference</span></a></span>
5252 </dt>
5353 <dt>
54 <span class="refentrytitle"><a href="farstream-plugins-FsRawStream.html">FsRawStream</a></span><span class="refpurpose"> — A raw stream in a <a class="link" href="farstream-plugins-FsRawSession.html#FsRawSession" title="FsRawSession"><span class="type">FsRawSession</span></a> in a <a class="link" href="farstream-plugins-FsRawConference.html#FsRawConference" title="struct FsRawConference"><span class="type">FsRawConference</span></a></span>
54 <span class="refentrytitle"><a href="farstream-plugins-FsRawStream.html">FsRawStream</a></span><span class="refpurpose"> — A raw stream in a <a class="link" href="farstream-plugins-FsRawSession.html#FsRawSession" title="FsRawSession"><span class="type">FsRawSession</span></a> in a <a class="link" href="FsRawConference.html" title="FsRawConference"><span class="type">FsRawConference</span></a></span>
5555 </dt>
5656 </dl></dd>
5757 <dt><span class="chapter"><a href="ch03.html">MSN Webcam plugin</a></span></dt>
5858 <dd><dl>
5959 <dt>
60 <span class="refentrytitle"><a href="farstream-plugins-FsMsnCamSendConference.html">FsMsnCamSendConference</a></span><span class="refpurpose"> — Farstream MSN send Conference Gstreamer Element</span>
60 <span class="refentrytitle"><a href="FsMsnCamSendConference.html">FsMsnCamSendConference</a></span><span class="refpurpose"> — Farstream MSN send Conference Gstreamer Element</span>
6161 </dt>
6262 <dt>
6363 <span class="refentrytitle"><a href="farstream-plugins-FsMsnCamCamRecvConference.html">FsMsnCamCamRecvConference</a></span><span class="refpurpose"> — Farstream MSN Receive Conference Gstreamer Element</span>
6464 </dt>
6565 <dt>
66 <span class="refentrytitle"><a href="farstream-plugins-FsMsnConference.html">FsMsnConference</a></span><span class="refpurpose"> — Farstream MSN Conference Gstreamer Elements Base class</span>
66 <span class="refentrytitle"><a href="FsMsnConference.html">FsMsnConference</a></span><span class="refpurpose"> — Farstream MSN Conference Gstreamer Elements Base class</span>
6767 </dt>
6868 <dt>
69 <span class="refentrytitle"><a href="farstream-plugins-FsMsnParticipant.html">FsMsnParticipant</a></span><span class="refpurpose"> — A MSN participant in a <a class="link" href="farstream-plugins-FsMsnConference.html#FsMsnConference" title="struct FsMsnConference"><span class="type">FsMsnConference</span></a></span>
69 <span class="refentrytitle"><a href="FsMsnParticipant.html">FsMsnParticipant</a></span><span class="refpurpose"> — A MSN participant in a <a class="link" href="FsMsnConference.html" title="FsMsnConference"><span class="type">FsMsnConference</span></a></span>
7070 </dt>
7171 <dt>
72 <span class="refentrytitle"><a href="farstream-plugins-FsMsnSession.html">FsMsnSession</a></span><span class="refpurpose"> — A MSN session in a <a class="link" href="farstream-plugins-FsMsnConference.html#FsMsnConference" title="struct FsMsnConference"><span class="type">FsMsnConference</span></a></span>
72 <span class="refentrytitle"><a href="farstream-plugins-FsMsnSession.html">FsMsnSession</a></span><span class="refpurpose"> — A MSN session in a <a class="link" href="FsMsnConference.html" title="FsMsnConference"><span class="type">FsMsnConference</span></a></span>
7373 </dt>
7474 <dt>
75 <span class="refentrytitle"><a href="farstream-plugins-FsMsnStream.html">FsMsnStream</a></span><span class="refpurpose"> — A MSN stream in a <a class="link" href="farstream-plugins-FsMsnSession.html#FsMsnSession" title="FsMsnSession"><span class="type">FsMsnSession</span></a> in a <a class="link" href="farstream-plugins-FsMsnConference.html#FsMsnConference" title="struct FsMsnConference"><span class="type">FsMsnConference</span></a></span>
75 <span class="refentrytitle"><a href="farstream-plugins-FsMsnStream.html">FsMsnStream</a></span><span class="refpurpose"> — A MSN stream in a <a class="link" href="farstream-plugins-FsMsnSession.html#FsMsnSession" title="FsMsnSession"><span class="type">FsMsnSession</span></a> in a <a class="link" href="FsMsnConference.html" title="FsMsnConference"><span class="type">FsMsnConference</span></a></span>
7676 </dt>
7777 </dl></dd>
7878 </dl>
8080 </div>
8181 <div class="footer">
8282 <hr>
83 Generated by GTK-Doc V1.18.1</div>
83 Generated by GTK-Doc V1.18</div>
8484 </body>
8585 </html>
77 <link rel="up" href="index.html" title="Farstream Plugins Manual">
88 <link rel="prev" href="farstream-plugins-FsMsnStream.html" title="FsMsnStream">
99 <link rel="next" href="farstream-plugins-FsRawUdpStreamTransmitter.html" title="FsRawUdpStreamTransmitter">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
2020 </tr></table>
2121 <div class="part">
2222 <div class="titlepage"><div><div><h1 class="title">
23 <a name="id543861"></a>Part II. Transmitters</h1></div></div></div>
23 <a name="id371142"></a>Part II. Transmitters</h1></div></div></div>
2424 <div class="toc">
2525 <p><b>Table of Contents</b></p>
2626 <dl>
4141 </div>
4242 <div class="footer">
4343 <hr>
44 Generated by GTK-Doc V1.18.1</div>
44 Generated by GTK-Doc V1.18</div>
4545 </body>
4646 </html>
66 <link rel="home" href="index.html" title="Farstream Plugins Manual">
77 <link rel="up" href="index.html" title="Farstream Plugins Manual">
88 <link rel="prev" href="farstream-plugins-FsShmStreamTransmitter.html" title="FsShmStreamTransmitter">
9 <link rel="next" href="farstream-plugins-FsFunnel.html" title="FsFunnel">
10 <meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
9 <link rel="next" href="GstVideoanyrate.html" title="GstVideoanyrate">
10 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
1111 <link rel="stylesheet" href="style.css" type="text/css">
1212 </head>
1313 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
1616 <td> </td>
1717 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
1818 <th width="100%" align="center">Farstream Plugins Manual</th>
19 <td><a accesskey="n" href="farstream-plugins-FsFunnel.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
19 <td><a accesskey="n" href="GstVideoanyrate.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
2020 </tr></table>
2121 <div class="part">
2222 <div class="titlepage"><div><div><h1 class="title">
23 <a name="id539552"></a>Part III. Utility elements</h1></div></div></div>
23 <a name="id371166"></a>Part III. Utility elements</h1></div></div></div>
2424 <div class="toc">
2525 <p><b>Table of Contents</b></p>
26 <dl>
27 <dt>
28 <span class="refentrytitle"><a href="farstream-plugins-FsFunnel.html">FsFunnel</a></span><span class="refpurpose"> — N-to-1 simple funnel</span>
29 </dt>
30 <dt>
31 <span class="refentrytitle"><a href="farstream-plugins-GstVideoanyrate.html">GstVideoanyrate</a></span><span class="refpurpose"> — Removes the framerate from video caps</span>
32 </dt>
33 </dl>
26 <dl><dt>
27 <span class="refentrytitle"><a href="GstVideoanyrate.html">GstVideoanyrate</a></span><span class="refpurpose"> — Removes the framerate from video caps</span>
28 </dt></dl>
3429 </div>
3530 </div>
3631 <div class="footer">
3732 <hr>
38 Generated by GTK-Doc V1.18.1</div>
33 Generated by GTK-Doc V1.18</div>
3934 </body>
4035 </html>
+0
-34
docs/plugins/inspect/plugin-fsfunnel.xml less more
0 <plugin>
1 <name>fsfunnel</name>
2 <description>Farstream Funnel plugin</description>
3 <filename>../../gst/fsfunnel/.libs/libfsfunnel.so</filename>
4 <basename>libfsfunnel.so</basename>
5 <version>0.1.2</version>
6 <license>LGPL</license>
7 <source>farstream</source>
8 <package>Farstream</package>
9 <origin>http://farstream.freedesktop.org/</origin>
10 <elements>
11 <element>
12 <name>fsfunnel</name>
13 <longname>Farstream Funnel pipe fitting</longname>
14 <class>Generic</class>
15 <description>N-to-1 pipe fitting</description>
16 <author>Olivier Crete &lt;olivier.crete@collabora.co.uk&gt;</author>
17 <pads>
18 <caps>
19 <name>sink%d</name>
20 <direction>sink</direction>
21 <presence>request</presence>
22 <details>ANY</details>
23 </caps>
24 <caps>
25 <name>src</name>
26 <direction>source</direction>
27 <presence>always</presence>
28 <details>ANY</details>
29 </caps>
30 </pads>
31 </element>
32 </elements>
33 </plugin>
22 <description>Farstream MSN Conference plugin</description>
33 <filename>../../gst/fsmsnconference/.libs/libfsmsnconference.so</filename>
44 <basename>libfsmsnconference.so</basename>
5 <version>0.1.2</version>
5 <version>0.1.0.1</version>
66 <license>LGPL</license>
77 <source>farstream</source>
88 <package>Farstream</package>
1313 <longname>Farstream MSN Reception Conference</longname>
1414 <class>Generic/Bin/MSN</class>
1515 <description>A Farstream MSN Reception Conference</description>
16 <author>Richard Spiers &lt;richard.spiers@gmail.com&gt;, Youness Alaoui &lt;youness.alaoui@collabora.co.uk&gt;, Olivier Crete &lt;olivier.crete@collabora.co.uk&gt;</author>
16 <author>Richard Spiers &lt;richard.spiers@gmail.com&gt;, Youness Alaoui &lt;youness.alaoui@collabora.com&gt;, Olivier Crete &lt;olivier.crete@collabora.com&gt;</author>
1717 <pads>
1818 <caps>
1919 <name>sink_%d</name>
22 <description>Farstream Raw Conference plugin</description>
33 <filename>../../gst/fsrawconference/.libs/libfsrawconference.so</filename>
44 <basename>libfsrawconference.so</basename>
5 <version>0.1.2</version>
5 <version>0.1.0.1</version>
66 <license>LGPL</license>
77 <source>farstream</source>
88 <package>Farstream</package>
22 <description>RtcpFilter</description>
33 <filename>../../gst/fsrtcpfilter/.libs/libfsrtcpfilter.so</filename>
44 <basename>libfsrtcpfilter.so</basename>
5 <version>0.1.2</version>
5 <version>0.1.0.1</version>
66 <license>LGPL</license>
77 <source>farstream</source>
88 <package>Farstream</package>
1313 <longname>RTCP Filter element</longname>
1414 <class>Filter</class>
1515 <description>This element removes unneeded parts of rtcp buffers</description>
16 <author>Olivier Crete &lt;olivier.crete@collabora.co.uk&gt;</author>
16 <author>Olivier Crete &lt;olivier.crete@collabora.com&gt;</author>
1717 <pads>
1818 <caps>
1919 <name>sink</name>
22 <description>Farstream RTP Conference plugin</description>
33 <filename>../../gst/fsrtpconference/.libs/libfsrtpconference.so</filename>
44 <basename>libfsrtpconference.so</basename>
5 <version>0.1.2</version>
5 <version>0.1.0.1</version>
66 <license>LGPL</license>
77 <source>farstream</source>
88 <package>Farstream</package>
1616 <author>Olivier Crete &lt;olivier.crete@collabora.co.uk&gt;</author>
1717 <pads>
1818 <caps>
19 <name>sink_%d</name>
19 <name>sink_%u</name>
2020 <direction>sink</direction>
2121 <presence>sometimes</presence>
2222 <details>ANY</details>
2323 </caps>
2424 <caps>
25 <name>src_%d_%d_%d</name>
25 <name>src_%u_%u_%u</name>
2626 <direction>source</direction>
2727 <presence>sometimes</presence>
2828 <details>ANY</details>
22 <description>Videoanyrate</description>
33 <filename>../../gst/fsvideoanyrate/.libs/libfsvideoanyrate.so</filename>
44 <basename>libfsvideoanyrate.so</basename>
5 <version>0.1.2</version>
5 <version>0.1.0.1</version>
66 <license>LGPL</license>
77 <source>farstream</source>
88 <package>Farstream</package>
1313 <longname>Videoanyrate element</longname>
1414 <class>Filter</class>
1515 <description>This element removes the framerate from caps</description>
16 <author>Olivier Crete &lt;olivier.crete@collabora.co.uk&gt;</author>
16 <author>Olivier Crete &lt;olivier.crete@collabora.com&gt;</author>
1717 <pads>
1818 <caps>
1919 <name>sink</name>
0 <!ENTITY GST_MAJORMINOR "@GST_MAJORMINOR@">
0 <!ENTITY GST_API_VERSION "@GST_API_VERSION@">
11 <!ENTITY FS_VERSION "@VERSION@">
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3232 POST_UNINSTALL = :
3333 build_triplet = @build@
3434 host_triplet = @host@
35 target_triplet = @target@
3536 subdir = examples
3637 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
3738 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
3940 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4041 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4142 $(top_srcdir)/common/m4/as-libtool.m4 \
43 $(top_srcdir)/common/m4/as-python.m4 \
4244 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4345 $(top_srcdir)/common/m4/as-version.m4 \
4446 $(top_srcdir)/common/m4/gst-arch.m4 \
5153 $(top_srcdir)/common/m4/gst.m4 \
5254 $(top_srcdir)/common/m4/gtk-doc.m4 \
5355 $(top_srcdir)/common/m4/pkg.m4 \
54 $(top_srcdir)/m4/as-check-python-headers.m4 \
5556 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
5657 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
5758 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
6263 CONFIG_HEADER = $(top_builddir)/config.h
6364 CONFIG_CLEAN_FILES =
6465 CONFIG_CLEAN_VPATH_FILES =
65 AM_V_GEN = $(am__v_GEN_$(V))
66 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
66 AM_V_GEN = $(am__v_GEN_@AM_V@)
67 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
6768 am__v_GEN_0 = @echo " GEN " $@;
68 AM_V_at = $(am__v_at_$(V))
69 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
69 AM_V_at = $(am__v_at_@AM_V@)
70 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
7071 am__v_at_0 = @
7172 SOURCES =
7273 DIST_SOURCES =
116117 AMTAR = @AMTAR@
117118 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
118119 AR = @AR@
120 AS = @AS@
119121 AUTOCONF = @AUTOCONF@
120122 AUTOHEADER = @AUTOHEADER@
121123 AUTOMAKE = @AUTOMAKE@
143145 FGREP = @FGREP@
144146 FS_AGE = @FS_AGE@
145147 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
148 FS_APIVERSION = @FS_APIVERSION@
149 FS_API_VERSION = @FS_API_VERSION@
146150 FS_CFLAGS = @FS_CFLAGS@
147151 FS_CURRENT = @FS_CURRENT@
148152 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
151155 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
152156 FS_LICENSE = @FS_LICENSE@
153157 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
154 FS_MAJORMINOR = @FS_MAJORMINOR@
155 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
156158 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
157159 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
158160 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
165167 GCOV = @GCOV@
166168 GCOV_CFLAGS = @GCOV_CFLAGS@
167169 GCOV_LIBS = @GCOV_LIBS@
170 GIO_CFLAGS = @GIO_CFLAGS@
171 GIO_LDFLAGS = @GIO_LDFLAGS@
172 GIO_LIBS = @GIO_LIBS@
168173 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
169174 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
170175 GLIB_CFLAGS = @GLIB_CFLAGS@
174179 GLIB_REQ = @GLIB_REQ@
175180 GREP = @GREP@
176181 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
182 GST_API_VERSION = @GST_API_VERSION@
177183 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
178184 GST_BASE_LIBS = @GST_BASE_LIBS@
179185 GST_CFLAGS = @GST_CFLAGS@
182188 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
183189 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
184190 GST_LIBS = @GST_LIBS@
185 GST_MAJORMINOR = @GST_MAJORMINOR@
186191 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
187192 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
188193 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
192197 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
193198 GST_TOOLS_DIR = @GST_TOOLS_DIR@
194199 GTKDOC_CHECK = @GTKDOC_CHECK@
200 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
201 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
202 GTKDOC_MKPDF = @GTKDOC_MKPDF@
203 GTKDOC_REBASE = @GTKDOC_REBASE@
195204 GUPNP_CFLAGS = @GUPNP_CFLAGS@
196205 GUPNP_LIBS = @GUPNP_LIBS@
197206 HTML_DIR = @HTML_DIR@
243252 PKG_CONFIG = @PKG_CONFIG@
244253 PLUGINDIR = @PLUGINDIR@
245254 PROFILE_CFLAGS = @PROFILE_CFLAGS@
246 PYCODEGEN = @PYCODEGEN@
247 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
248 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
249 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
250 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
251255 PYTHON = @PYTHON@
252256 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
253 PYTHON_INCLUDES = @PYTHON_INCLUDES@
254257 PYTHON_PLATFORM = @PYTHON_PLATFORM@
255258 PYTHON_PREFIX = @PYTHON_PREFIX@
256259 PYTHON_VERSION = @PYTHON_VERSION@
317320 sharedstatedir = @sharedstatedir@
318321 srcdir = @srcdir@
319322 sysconfdir = @sysconfdir@
323 target = @target@
320324 target_alias = @target_alias@
325 target_cpu = @target_cpu@
326 target_os = @target_os@
327 target_vendor = @target_vendor@
321328 top_build_prefix = @top_build_prefix@
322329 top_builddir = @top_builddir@
323330 top_srcdir = @top_srcdir@
570577
571578 installcheck: installcheck-recursive
572579 install-strip:
573 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
574 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
575 `test -z '$(STRIP)' || \
576 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
580 if test -z '$(STRIP)'; then \
581 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
582 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
583 install; \
584 else \
585 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
586 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
587 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
588 fi
577589 mostlyclean-generic:
578590
579591 clean-generic:
99 $(CFLAGS)
1010
1111 LDADD = \
12 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
12 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
1313 $(GST_LIBS)
1414
1515
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3333 POST_UNINSTALL = :
3434 build_triplet = @build@
3535 host_triplet = @host@
36 target_triplet = @target@
3637 noinst_PROGRAMS = simple-call$(EXEEXT) simple-call-shm$(EXEEXT)
3738 subdir = examples/commandline
3839 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
4142 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4243 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4344 $(top_srcdir)/common/m4/as-libtool.m4 \
45 $(top_srcdir)/common/m4/as-python.m4 \
4446 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4547 $(top_srcdir)/common/m4/as-version.m4 \
4648 $(top_srcdir)/common/m4/gst-arch.m4 \
5355 $(top_srcdir)/common/m4/gst.m4 \
5456 $(top_srcdir)/common/m4/gtk-doc.m4 \
5557 $(top_srcdir)/common/m4/pkg.m4 \
56 $(top_srcdir)/m4/as-check-python-headers.m4 \
5758 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
5859 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
5960 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
7071 simple_call_LDADD = $(LDADD)
7172 am__DEPENDENCIES_1 =
7273 simple_call_DEPENDENCIES = \
73 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
74 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
7475 $(am__DEPENDENCIES_1)
75 AM_V_lt = $(am__v_lt_$(V))
76 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
76 AM_V_lt = $(am__v_lt_@AM_V@)
77 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
7778 am__v_lt_0 = --silent
7879 simple_call_shm_SOURCES = simple-call-shm.c
7980 simple_call_shm_OBJECTS = simple_call_shm-simple-call-shm.$(OBJEXT)
8081 am__DEPENDENCIES_2 = \
81 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
82 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
8283 $(am__DEPENDENCIES_1)
8384 simple_call_shm_DEPENDENCIES = $(am__DEPENDENCIES_2) \
8485 $(am__DEPENDENCIES_1)
9697 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
9798 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
9899 $(AM_CFLAGS) $(CFLAGS)
99 AM_V_CC = $(am__v_CC_$(V))
100 am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
100 AM_V_CC = $(am__v_CC_@AM_V@)
101 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
101102 am__v_CC_0 = @echo " CC " $@;
102 AM_V_at = $(am__v_at_$(V))
103 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
103 AM_V_at = $(am__v_at_@AM_V@)
104 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
104105 am__v_at_0 = @
105106 CCLD = $(CC)
106107 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
107108 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
108109 $(AM_LDFLAGS) $(LDFLAGS) -o $@
109 AM_V_CCLD = $(am__v_CCLD_$(V))
110 am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
110 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
111 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
111112 am__v_CCLD_0 = @echo " CCLD " $@;
112 AM_V_GEN = $(am__v_GEN_$(V))
113 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
113 AM_V_GEN = $(am__v_GEN_@AM_V@)
114 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
114115 am__v_GEN_0 = @echo " GEN " $@;
115116 SOURCES = simple-call.c simple-call-shm.c
116117 DIST_SOURCES = simple-call.c simple-call-shm.c
122123 AMTAR = @AMTAR@
123124 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
124125 AR = @AR@
126 AS = @AS@
125127 AUTOCONF = @AUTOCONF@
126128 AUTOHEADER = @AUTOHEADER@
127129 AUTOMAKE = @AUTOMAKE@
149151 FGREP = @FGREP@
150152 FS_AGE = @FS_AGE@
151153 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
154 FS_APIVERSION = @FS_APIVERSION@
155 FS_API_VERSION = @FS_API_VERSION@
152156 FS_CFLAGS = @FS_CFLAGS@
153157 FS_CURRENT = @FS_CURRENT@
154158 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
157161 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
158162 FS_LICENSE = @FS_LICENSE@
159163 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
160 FS_MAJORMINOR = @FS_MAJORMINOR@
161 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
162164 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
163165 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
164166 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
171173 GCOV = @GCOV@
172174 GCOV_CFLAGS = @GCOV_CFLAGS@
173175 GCOV_LIBS = @GCOV_LIBS@
176 GIO_CFLAGS = @GIO_CFLAGS@
177 GIO_LDFLAGS = @GIO_LDFLAGS@
178 GIO_LIBS = @GIO_LIBS@
174179 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
175180 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
176181 GLIB_CFLAGS = @GLIB_CFLAGS@
180185 GLIB_REQ = @GLIB_REQ@
181186 GREP = @GREP@
182187 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
188 GST_API_VERSION = @GST_API_VERSION@
183189 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
184190 GST_BASE_LIBS = @GST_BASE_LIBS@
185191 GST_CFLAGS = @GST_CFLAGS@
188194 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
189195 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
190196 GST_LIBS = @GST_LIBS@
191 GST_MAJORMINOR = @GST_MAJORMINOR@
192197 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
193198 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
194199 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
198203 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
199204 GST_TOOLS_DIR = @GST_TOOLS_DIR@
200205 GTKDOC_CHECK = @GTKDOC_CHECK@
206 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
207 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
208 GTKDOC_MKPDF = @GTKDOC_MKPDF@
209 GTKDOC_REBASE = @GTKDOC_REBASE@
201210 GUPNP_CFLAGS = @GUPNP_CFLAGS@
202211 GUPNP_LIBS = @GUPNP_LIBS@
203212 HTML_DIR = @HTML_DIR@
249258 PKG_CONFIG = @PKG_CONFIG@
250259 PLUGINDIR = @PLUGINDIR@
251260 PROFILE_CFLAGS = @PROFILE_CFLAGS@
252 PYCODEGEN = @PYCODEGEN@
253 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
254 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
255 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
256 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
257261 PYTHON = @PYTHON@
258262 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
259 PYTHON_INCLUDES = @PYTHON_INCLUDES@
260263 PYTHON_PLATFORM = @PYTHON_PLATFORM@
261264 PYTHON_PREFIX = @PYTHON_PREFIX@
262265 PYTHON_VERSION = @PYTHON_VERSION@
323326 sharedstatedir = @sharedstatedir@
324327 srcdir = @srcdir@
325328 sysconfdir = @sysconfdir@
329 target = @target@
326330 target_alias = @target_alias@
331 target_cpu = @target_cpu@
332 target_os = @target_os@
333 target_vendor = @target_vendor@
327334 top_build_prefix = @top_build_prefix@
328335 top_builddir = @top_builddir@
329336 top_srcdir = @top_srcdir@
335342 $(CFLAGS)
336343
337344 LDADD = \
338 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
345 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
339346 $(GST_LIBS)
340347
341348 simple_call_shm_CFLAGS = \
389396 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
390397 echo " rm -f" $$list; \
391398 rm -f $$list
392 simple-call$(EXEEXT): $(simple_call_OBJECTS) $(simple_call_DEPENDENCIES)
399 simple-call$(EXEEXT): $(simple_call_OBJECTS) $(simple_call_DEPENDENCIES) $(EXTRA_simple_call_DEPENDENCIES)
393400 @rm -f simple-call$(EXEEXT)
394401 $(AM_V_CCLD)$(LINK) $(simple_call_OBJECTS) $(simple_call_LDADD) $(LIBS)
395 simple-call-shm$(EXEEXT): $(simple_call_shm_OBJECTS) $(simple_call_shm_DEPENDENCIES)
402 simple-call-shm$(EXEEXT): $(simple_call_shm_OBJECTS) $(simple_call_shm_DEPENDENCIES) $(EXTRA_simple_call_shm_DEPENDENCIES)
396403 @rm -f simple-call-shm$(EXEEXT)
397404 $(AM_V_CCLD)$(simple_call_shm_LINK) $(simple_call_shm_OBJECTS) $(simple_call_shm_LDADD) $(LIBS)
398405
408415 .c.o:
409416 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
410417 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
411 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
412 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
418 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
413419 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
414 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
420 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
415421
416422 .c.obj:
417423 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
418424 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
419 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
420 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
425 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
421426 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
422 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
427 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
423428
424429 .c.lo:
425430 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
426431 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
427 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
428 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
432 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
429433 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
430 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
434 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
431435
432436 simple_call_shm-simple-call-shm.o: simple-call-shm.c
433437 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_call_shm_CFLAGS) $(CFLAGS) -MT simple_call_shm-simple-call-shm.o -MD -MP -MF $(DEPDIR)/simple_call_shm-simple-call-shm.Tpo -c -o simple_call_shm-simple-call-shm.o `test -f 'simple-call-shm.c' || echo '$(srcdir)/'`simple-call-shm.c
434438 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/simple_call_shm-simple-call-shm.Tpo $(DEPDIR)/simple_call_shm-simple-call-shm.Po
435 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
436 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='simple-call-shm.c' object='simple_call_shm-simple-call-shm.o' libtool=no @AMDEPBACKSLASH@
439 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='simple-call-shm.c' object='simple_call_shm-simple-call-shm.o' libtool=no @AMDEPBACKSLASH@
437440 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
438 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_call_shm_CFLAGS) $(CFLAGS) -c -o simple_call_shm-simple-call-shm.o `test -f 'simple-call-shm.c' || echo '$(srcdir)/'`simple-call-shm.c
441 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_call_shm_CFLAGS) $(CFLAGS) -c -o simple_call_shm-simple-call-shm.o `test -f 'simple-call-shm.c' || echo '$(srcdir)/'`simple-call-shm.c
439442
440443 simple_call_shm-simple-call-shm.obj: simple-call-shm.c
441444 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_call_shm_CFLAGS) $(CFLAGS) -MT simple_call_shm-simple-call-shm.obj -MD -MP -MF $(DEPDIR)/simple_call_shm-simple-call-shm.Tpo -c -o simple_call_shm-simple-call-shm.obj `if test -f 'simple-call-shm.c'; then $(CYGPATH_W) 'simple-call-shm.c'; else $(CYGPATH_W) '$(srcdir)/simple-call-shm.c'; fi`
442445 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/simple_call_shm-simple-call-shm.Tpo $(DEPDIR)/simple_call_shm-simple-call-shm.Po
443 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
444 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='simple-call-shm.c' object='simple_call_shm-simple-call-shm.obj' libtool=no @AMDEPBACKSLASH@
446 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='simple-call-shm.c' object='simple_call_shm-simple-call-shm.obj' libtool=no @AMDEPBACKSLASH@
445447 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
446 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_call_shm_CFLAGS) $(CFLAGS) -c -o simple_call_shm-simple-call-shm.obj `if test -f 'simple-call-shm.c'; then $(CYGPATH_W) 'simple-call-shm.c'; else $(CYGPATH_W) '$(srcdir)/simple-call-shm.c'; fi`
448 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(simple_call_shm_CFLAGS) $(CFLAGS) -c -o simple_call_shm-simple-call-shm.obj `if test -f 'simple-call-shm.c'; then $(CYGPATH_W) 'simple-call-shm.c'; else $(CYGPATH_W) '$(srcdir)/simple-call-shm.c'; fi`
447449
448450 mostlyclean-libtool:
449451 -rm -f *.lo
547549
548550 installcheck: installcheck-am
549551 install-strip:
550 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
551 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
552 `test -z '$(STRIP)' || \
553 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
552 if test -z '$(STRIP)'; then \
553 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
554 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
555 install; \
556 else \
557 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
558 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
559 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
560 fi
554561 mostlyclean-generic:
555562
556563 clean-generic:
3535
3636 #include <farstream/fs-conference.h>
3737
38 #define DEFAULT_AUDIOSRC "audiotestsrc is-live=1 ! audio/x-raw-int, rate=8000 ! identity"
38 #define DEFAULT_AUDIOSRC "audiotestsrc is-live=1 ! audio/x-raw, rate=8000 ! identity"
3939 #define DEFAULT_AUDIOSINK "alsasink sync=false async=false"
4040
4141 typedef struct _TestSession
204204 {
205205 gint error;
206206 const gchar *error_msg = gst_structure_get_string (s, "error-msg");
207 const gchar *debug_msg = gst_structure_get_string (s, "debug-msg");
208207
209208 g_assert (gst_structure_get_enum (s, "error-no", FS_TYPE_ERROR,
210209 &error));
211210
212211 if (FS_ERROR_IS_FATAL (error))
213 g_error ("Farstream fatal error: %d %s %s", error, error_msg,
214 debug_msg);
212 g_error ("Farstream fatal error: %d %s", error, error_msg);
215213 else
216 g_warning ("Farstream non-fatal error: %d %s %s", error, error_msg,
217 debug_msg);
214 g_warning ("Farstream non-fatal error: %d %s", error, error_msg);
218215 }
219216 else if (gst_structure_has_name (s, "farstream-new-local-candidate"))
220217 {
3131 #include <gst/gst.h>
3232 #include <farstream/fs-conference.h>
3333
34 #define DEFAULT_AUDIOSRC "alsasrc"
34 #define DEFAULT_AUDIOSRC "audiotestsrc"
3535 #define DEFAULT_AUDIOSINK "audioconvert ! audioresample ! audioconvert ! alsasink"
3636
3737 typedef struct _TestSession
150150 FS_CANDIDATE_TYPE_HOST, FS_NETWORK_PROTOCOL_UDP, remoteip,
151151 remoteport));
152152
153 res = fs_stream_add_remote_candidates (ses->stream, cands, &error);
153 res = fs_stream_force_remote_candidates (ses->stream, cands, &error);
154154 print_error (error);
155155 g_assert (res);
156156
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3232 POST_UNINSTALL = :
3333 build_triplet = @build@
3434 host_triplet = @host@
35 target_triplet = @target@
3536 subdir = examples/gui
3637 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
3738 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
3940 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4041 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4142 $(top_srcdir)/common/m4/as-libtool.m4 \
43 $(top_srcdir)/common/m4/as-python.m4 \
4244 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4345 $(top_srcdir)/common/m4/as-version.m4 \
4446 $(top_srcdir)/common/m4/gst-arch.m4 \
5153 $(top_srcdir)/common/m4/gst.m4 \
5254 $(top_srcdir)/common/m4/gtk-doc.m4 \
5355 $(top_srcdir)/common/m4/pkg.m4 \
54 $(top_srcdir)/m4/as-check-python-headers.m4 \
5556 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
5657 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
5758 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
6263 CONFIG_HEADER = $(top_builddir)/config.h
6364 CONFIG_CLEAN_FILES =
6465 CONFIG_CLEAN_VPATH_FILES =
65 AM_V_GEN = $(am__v_GEN_$(V))
66 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
66 AM_V_GEN = $(am__v_GEN_@AM_V@)
67 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
6768 am__v_GEN_0 = @echo " GEN " $@;
68 AM_V_at = $(am__v_at_$(V))
69 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
69 AM_V_at = $(am__v_at_@AM_V@)
70 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
7071 am__v_at_0 = @
7172 SOURCES =
7273 DIST_SOURCES =
7677 AMTAR = @AMTAR@
7778 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
7879 AR = @AR@
80 AS = @AS@
7981 AUTOCONF = @AUTOCONF@
8082 AUTOHEADER = @AUTOHEADER@
8183 AUTOMAKE = @AUTOMAKE@
103105 FGREP = @FGREP@
104106 FS_AGE = @FS_AGE@
105107 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
108 FS_APIVERSION = @FS_APIVERSION@
109 FS_API_VERSION = @FS_API_VERSION@
106110 FS_CFLAGS = @FS_CFLAGS@
107111 FS_CURRENT = @FS_CURRENT@
108112 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
111115 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
112116 FS_LICENSE = @FS_LICENSE@
113117 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
114 FS_MAJORMINOR = @FS_MAJORMINOR@
115 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
116118 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
117119 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
118120 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
125127 GCOV = @GCOV@
126128 GCOV_CFLAGS = @GCOV_CFLAGS@
127129 GCOV_LIBS = @GCOV_LIBS@
130 GIO_CFLAGS = @GIO_CFLAGS@
131 GIO_LDFLAGS = @GIO_LDFLAGS@
132 GIO_LIBS = @GIO_LIBS@
128133 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
129134 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
130135 GLIB_CFLAGS = @GLIB_CFLAGS@
134139 GLIB_REQ = @GLIB_REQ@
135140 GREP = @GREP@
136141 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
142 GST_API_VERSION = @GST_API_VERSION@
137143 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
138144 GST_BASE_LIBS = @GST_BASE_LIBS@
139145 GST_CFLAGS = @GST_CFLAGS@
142148 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
143149 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
144150 GST_LIBS = @GST_LIBS@
145 GST_MAJORMINOR = @GST_MAJORMINOR@
146151 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
147152 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
148153 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
152157 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
153158 GST_TOOLS_DIR = @GST_TOOLS_DIR@
154159 GTKDOC_CHECK = @GTKDOC_CHECK@
160 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
161 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
162 GTKDOC_MKPDF = @GTKDOC_MKPDF@
163 GTKDOC_REBASE = @GTKDOC_REBASE@
155164 GUPNP_CFLAGS = @GUPNP_CFLAGS@
156165 GUPNP_LIBS = @GUPNP_LIBS@
157166 HTML_DIR = @HTML_DIR@
203212 PKG_CONFIG = @PKG_CONFIG@
204213 PLUGINDIR = @PLUGINDIR@
205214 PROFILE_CFLAGS = @PROFILE_CFLAGS@
206 PYCODEGEN = @PYCODEGEN@
207 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
208 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
209 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
210 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
211215 PYTHON = @PYTHON@
212216 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
213 PYTHON_INCLUDES = @PYTHON_INCLUDES@
214217 PYTHON_PLATFORM = @PYTHON_PLATFORM@
215218 PYTHON_PREFIX = @PYTHON_PREFIX@
216219 PYTHON_VERSION = @PYTHON_VERSION@
277280 sharedstatedir = @sharedstatedir@
278281 srcdir = @srcdir@
279282 sysconfdir = @sysconfdir@
283 target = @target@
280284 target_alias = @target_alias@
285 target_cpu = @target_cpu@
286 target_os = @target_os@
287 target_vendor = @target_vendor@
281288 top_build_prefix = @top_build_prefix@
282289 top_builddir = @top_builddir@
283290 top_srcdir = @top_srcdir@
379386
380387 installcheck: installcheck-am
381388 install-strip:
382 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
383 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
384 `test -z '$(STRIP)' || \
385 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
389 if test -z '$(STRIP)'; then \
390 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
391 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
392 install; \
393 else \
394 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
395 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
396 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
397 fi
386398 mostlyclean-generic:
387399
388400 clean-generic:
244244 element.set_property("speed-preset", 2)
245245 element.set_property("profile", "baseline")
246246 element.set_property("tune", "zerolatency")
247 elif element.get_factory().get_name() == "gstrtpbin":
247 elif element.get_factory().get_name() == "rtpbin":
248248 element.set_property("latency", 100)
249249
250250
637637 widget.window.xid,
638638 "uservideosink")
639639 self.pipeline.pipeline.add(self.videosink)
640 self.funnel = gst.element_factory_make("fsfunnel")
640 self.funnel = gst.element_factory_make("funnel")
641641 self.pipeline.pipeline.add(self.funnel)
642642 self.funnel.link(self.videosink)
643643 self.havesize = self.videosink.get_pad("sink").add_buffer_probe(self.have_size)
+0
-3754
farstream/Farstream-0.1.gir less more
0 <?xml version="1.0"?>
1 <!-- This file was automatically generated from C sources - DO NOT EDIT!
2 To affect the contents of this file, edit the original C definitions,
3 and/or use gtk-doc annotations. -->
4 <repository version="1.2"
5 xmlns="http://www.gtk.org/introspection/core/1.0"
6 xmlns:c="http://www.gtk.org/introspection/c/1.0"
7 xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
8 <include name="GLib" version="2.0"/>
9 <include name="GModule" version="2.0"/>
10 <include name="GObject" version="2.0"/>
11 <include name="Gst" version="0.10"/>
12 <include name="libxml2" version="2.0"/>
13 <namespace name="Farstream"
14 version="0.1"
15 shared-library="libfarstream-0.1.so.0"
16 c:identifier-prefixes="fs_,Fs"
17 c:symbol-prefixes="fs_,fs">
18 <constant name="CODEC_FORMAT"
19 value="%d: %s %s clock:%d channels:%d params:%p"
20 c:type="FS_CODEC_FORMAT">
21 <type name="utf8" c:type="gchar*"/>
22 </constant>
23 <constant name="CODEC_ID_ANY" value="-1" c:type="FS_CODEC_ID_ANY">
24 <type name="gint" c:type="gint"/>
25 </constant>
26 <constant name="CODEC_ID_DISABLE" value="-2" c:type="FS_CODEC_ID_DISABLE">
27 <type name="gint" c:type="gint"/>
28 </constant>
29 <record name="Candidate"
30 c:type="FsCandidate"
31 glib:type-name="FsCandidate"
32 glib:get-type="fs_candidate_get_type"
33 c:symbol-prefix="candidate">
34 <doc xml:whitespace="preserve">Struct to hold information about ICE-19 compliant candidates</doc>
35 <field name="foundation" writable="1">
36 <type name="utf8" c:type="gchar*"/>
37 </field>
38 <field name="component_id" writable="1">
39 <type name="guint" c:type="guint"/>
40 </field>
41 <field name="ip" writable="1">
42 <type name="utf8" c:type="gchar*"/>
43 </field>
44 <field name="port" writable="1">
45 <type name="guint16" c:type="guint16"/>
46 </field>
47 <field name="base_ip" writable="1">
48 <type name="utf8" c:type="gchar*"/>
49 </field>
50 <field name="base_port" writable="1">
51 <type name="guint16" c:type="guint16"/>
52 </field>
53 <field name="proto" writable="1">
54 <type name="NetworkProtocol" c:type="FsNetworkProtocol"/>
55 </field>
56 <field name="priority" writable="1">
57 <type name="guint32" c:type="guint32"/>
58 </field>
59 <field name="type" writable="1">
60 <type name="CandidateType" c:type="FsCandidateType"/>
61 </field>
62 <field name="username" writable="1">
63 <type name="utf8" c:type="gchar*"/>
64 </field>
65 <field name="password" writable="1">
66 <type name="utf8" c:type="gchar*"/>
67 </field>
68 <field name="ttl" writable="1">
69 <type name="guint" c:type="guint"/>
70 </field>
71 <constructor name="new" c:identifier="fs_candidate_new">
72 <doc xml:whitespace="preserve">Allocates a new #FsCandidate, the rest of the fields can be optionally
73 filled manually.</doc>
74 <return-value transfer-ownership="full">
75 <doc xml:whitespace="preserve">a newly-allocated #FsCandidate</doc>
76 <type name="Candidate" c:type="FsCandidate*"/>
77 </return-value>
78 <parameters>
79 <parameter name="foundation" transfer-ownership="none">
80 <doc xml:whitespace="preserve">The foundation of the candidate</doc>
81 <type name="utf8" c:type="gchar*"/>
82 </parameter>
83 <parameter name="component_id" transfer-ownership="none">
84 <doc xml:whitespace="preserve">The component this candidate is for</doc>
85 <type name="guint" c:type="guint"/>
86 </parameter>
87 <parameter name="type" transfer-ownership="none">
88 <doc xml:whitespace="preserve">The type of candidate</doc>
89 <type name="CandidateType" c:type="FsCandidateType"/>
90 </parameter>
91 <parameter name="proto" transfer-ownership="none">
92 <doc xml:whitespace="preserve">The protocol this component is for</doc>
93 <type name="NetworkProtocol" c:type="FsNetworkProtocol"/>
94 </parameter>
95 <parameter name="ip" transfer-ownership="none">
96 <doc xml:whitespace="preserve">The IP address of this component (can be NULL for local candidate to mean any address)</doc>
97 <type name="utf8" c:type="gchar*"/>
98 </parameter>
99 <parameter name="port" transfer-ownership="none">
100 <doc xml:whitespace="preserve">the UDP/TCP port</doc>
101 <type name="guint" c:type="guint"/>
102 </parameter>
103 </parameters>
104 </constructor>
105 <method name="copy" c:identifier="fs_candidate_copy">
106 <doc xml:whitespace="preserve">Copies a #FsCandidate and its contents.</doc>
107 <return-value transfer-ownership="full">
108 <doc xml:whitespace="preserve">a new #FsCandidate</doc>
109 <type name="Candidate" c:type="FsCandidate*"/>
110 </return-value>
111 </method>
112 <method name="destroy"
113 c:identifier="fs_candidate_destroy"
114 introspectable="0">
115 <doc xml:whitespace="preserve">Frees a #FsCandidate and all its contents</doc>
116 <return-value transfer-ownership="none">
117 <type name="none" c:type="void"/>
118 </return-value>
119 </method>
120 </record>
121 <glib:boxed glib:name="CandidateList"
122 c:symbol-prefix="candidate_list"
123 glib:type-name="FsCandidateList"
124 glib:get-type="fs_candidate_list_get_type">
125 <function name="copy" c:identifier="fs_candidate_list_copy">
126 <doc xml:whitespace="preserve">Copies a GList of #FsCandidate and its contents</doc>
127 <return-value transfer-ownership="full">
128 <doc xml:whitespace="preserve">a new GList of #FsCandidate</doc>
129 <type name="GLib.List" c:type="GList*">
130 <type name="Codec"/>
131 </type>
132 </return-value>
133 <parameters>
134 <parameter name="candidate_list" transfer-ownership="none">
135 <doc xml:whitespace="preserve">A GList of #FsCandidate</doc>
136 <type name="GLib.List" c:type="GList*">
137 <type name="Codec"/>
138 </type>
139 </parameter>
140 </parameters>
141 </function>
142 <function name="destroy"
143 c:identifier="fs_candidate_list_destroy"
144 introspectable="0">
145 <doc xml:whitespace="preserve">Deletes a GList of #FsCandidate and its contents</doc>
146 <return-value transfer-ownership="none">
147 <type name="none" c:type="void"/>
148 </return-value>
149 <parameters>
150 <parameter name="candidate_list" transfer-ownership="none">
151 <doc xml:whitespace="preserve">A GList of #FsCandidate</doc>
152 <type name="GLib.List" c:type="GList*">
153 <type name="gpointer" c:type="gpointer"/>
154 </type>
155 </parameter>
156 </parameters>
157 </function>
158 </glib:boxed>
159 <enumeration name="CandidateType"
160 glib:type-name="FsCandidateType"
161 glib:get-type="fs_candidate_type_get_type"
162 c:type="FsCandidateType">
163 <doc xml:whitespace="preserve">An enum for the type of candidate used/reported</doc>
164 <member name="host"
165 value="0"
166 c:identifier="FS_CANDIDATE_TYPE_HOST"
167 glib:nick="host"/>
168 <member name="srflx"
169 value="1"
170 c:identifier="FS_CANDIDATE_TYPE_SRFLX"
171 glib:nick="srflx"/>
172 <member name="prflx"
173 value="2"
174 c:identifier="FS_CANDIDATE_TYPE_PRFLX"
175 glib:nick="prflx"/>
176 <member name="relay"
177 value="3"
178 c:identifier="FS_CANDIDATE_TYPE_RELAY"
179 glib:nick="relay"/>
180 <member name="multicast"
181 value="4"
182 c:identifier="FS_CANDIDATE_TYPE_MULTICAST"
183 glib:nick="multicast"/>
184 </enumeration>
185 <record name="Codec"
186 c:type="FsCodec"
187 glib:type-name="FsCodec"
188 glib:get-type="fs_codec_get_type"
189 c:symbol-prefix="codec">
190 <doc xml:whitespace="preserve">This structure reprensents one codec that can be offered or received</doc>
191 <field name="id" writable="1">
192 <type name="gint" c:type="gint"/>
193 </field>
194 <field name="encoding_name" writable="1">
195 <type name="utf8" c:type="char*"/>
196 </field>
197 <field name="media_type" writable="1">
198 <type name="MediaType" c:type="FsMediaType"/>
199 </field>
200 <field name="clock_rate" writable="1">
201 <type name="guint" c:type="guint"/>
202 </field>
203 <field name="channels" writable="1">
204 <type name="guint" c:type="guint"/>
205 </field>
206 <field name="minimum_reporting_interval" writable="1">
207 <type name="guint" c:type="guint"/>
208 </field>
209 <field name="optional_params" writable="1">
210 <type name="GLib.List" c:type="GList*">
211 <type name="CodecParameter"/>
212 </type>
213 </field>
214 <field name="feedback_params" writable="1">
215 <type name="GLib.List" c:type="GList*">
216 <type name="FeedbackParameter"/>
217 </type>
218 </field>
219 <constructor name="new" c:identifier="fs_codec_new">
220 <doc xml:whitespace="preserve">Allocates and initializes a #FsCodec structure</doc>
221 <return-value transfer-ownership="full">
222 <doc xml:whitespace="preserve">A newly allocated #FsCodec</doc>
223 <type name="Codec" c:type="FsCodec*"/>
224 </return-value>
225 <parameters>
226 <parameter name="id" transfer-ownership="none">
227 <doc xml:whitespace="preserve">codec identifier, if RTP this should be based on IETF RTP payload types</doc>
228 <type name="gint" c:type="int"/>
229 </parameter>
230 <parameter name="encoding_name" transfer-ownership="none">
231 <doc xml:whitespace="preserve">Name of media type this encodes</doc>
232 <type name="utf8" c:type="char*"/>
233 </parameter>
234 <parameter name="media_type" transfer-ownership="none">
235 <doc xml:whitespace="preserve">#FsMediaType for type of codec</doc>
236 <type name="MediaType" c:type="FsMediaType"/>
237 </parameter>
238 <parameter name="clock_rate" transfer-ownership="none">
239 <doc xml:whitespace="preserve">The clock rate this codec encodes at, if applicable</doc>
240 <type name="guint" c:type="guint"/>
241 </parameter>
242 </parameters>
243 </constructor>
244 <method name="add_feedback_parameter"
245 c:identifier="fs_codec_add_feedback_parameter">
246 <doc xml:whitespace="preserve">This function adds an new feedback parameter to a #FsCodec</doc>
247 <return-value transfer-ownership="none">
248 <type name="none" c:type="void"/>
249 </return-value>
250 <parameters>
251 <parameter name="type" transfer-ownership="none">
252 <doc xml:whitespace="preserve">The type of the feedback parameter</doc>
253 <type name="utf8" c:type="gchar*"/>
254 </parameter>
255 <parameter name="subtype" transfer-ownership="none">
256 <doc xml:whitespace="preserve">The subtype of the feedback parameter</doc>
257 <type name="utf8" c:type="gchar*"/>
258 </parameter>
259 <parameter name="extra_params" transfer-ownership="none">
260 <doc xml:whitespace="preserve">The extra_params of the feeback parameter</doc>
261 <type name="utf8" c:type="gchar*"/>
262 </parameter>
263 </parameters>
264 </method>
265 <method name="add_optional_parameter"
266 c:identifier="fs_codec_add_optional_parameter">
267 <doc xml:whitespace="preserve">This function adds an new optional parameter to a #FsCodec</doc>
268 <return-value transfer-ownership="none">
269 <type name="none" c:type="void"/>
270 </return-value>
271 <parameters>
272 <parameter name="name" transfer-ownership="none">
273 <doc xml:whitespace="preserve">The name of the optional parameter</doc>
274 <type name="utf8" c:type="gchar*"/>
275 </parameter>
276 <parameter name="value" transfer-ownership="none">
277 <doc xml:whitespace="preserve">The extra_params of the optional parameter</doc>
278 <type name="utf8" c:type="gchar*"/>
279 </parameter>
280 </parameters>
281 </method>
282 <method name="are_equal" c:identifier="fs_codec_are_equal">
283 <doc xml:whitespace="preserve">Compare two codecs, it will declare two codecs to be identical even
284 if their optional parameters are in a different order. %NULL encoding names
285 are ignored.</doc>
286 <return-value transfer-ownership="none">
287 <doc xml:whitespace="preserve">%TRUE of the codecs are identical, %FALSE otherwise</doc>
288 <type name="gboolean" c:type="gboolean"/>
289 </return-value>
290 <parameters>
291 <parameter name="codec2" transfer-ownership="none">
292 <doc xml:whitespace="preserve">Second codec</doc>
293 <type name="Codec" c:type="FsCodec*"/>
294 </parameter>
295 </parameters>
296 </method>
297 <method name="copy" c:identifier="fs_codec_copy">
298 <doc xml:whitespace="preserve">Copies a #FsCodec structure.</doc>
299 <return-value transfer-ownership="full">
300 <doc xml:whitespace="preserve">a copy of the codec</doc>
301 <type name="Codec" c:type="FsCodec*"/>
302 </return-value>
303 </method>
304 <method name="destroy"
305 c:identifier="fs_codec_destroy"
306 introspectable="0">
307 <doc xml:whitespace="preserve">Deletes a #FsCodec structure and all its data. Is a no-op on %NULL codec</doc>
308 <return-value transfer-ownership="none">
309 <type name="none" c:type="void"/>
310 </return-value>
311 </method>
312 <method name="get_feedback_parameter"
313 c:identifier="fs_codec_get_feedback_parameter">
314 <doc xml:whitespace="preserve">Finds the #FsFeedbackParameter in the #FsCodec that has the requested
315 subtype, type and extra_params. One of which must be non-NULL;</doc>
316 <return-value transfer-ownership="full">
317 <doc xml:whitespace="preserve">the #FsFeedbackParameter from the #FsCodec or %NULL</doc>
318 <type name="FeedbackParameter" c:type="FsFeedbackParameter*"/>
319 </return-value>
320 <parameters>
321 <parameter name="type" transfer-ownership="none">
322 <doc xml:whitespace="preserve">The subtype of the parameter to search for or %NULL for any type</doc>
323 <type name="utf8" c:type="gchar*"/>
324 </parameter>
325 <parameter name="subtype" transfer-ownership="none">
326 <doc xml:whitespace="preserve">The subtype of the parameter to search for or %NULL for any subtype</doc>
327 <type name="utf8" c:type="gchar*"/>
328 </parameter>
329 <parameter name="extra_params" transfer-ownership="none">
330 <doc xml:whitespace="preserve">The extra_params of the parameter to search for or %NULL for any extra_params</doc>
331 <type name="utf8" c:type="gchar*"/>
332 </parameter>
333 </parameters>
334 </method>
335 <method name="get_optional_parameter"
336 c:identifier="fs_codec_get_optional_parameter">
337 <doc xml:whitespace="preserve">Finds the #FsCodecParameter in the #FsCodec that has the requested name
338 and, if not %NULL, the requested value</doc>
339 <return-value transfer-ownership="full">
340 <doc xml:whitespace="preserve">(transfer none) the #FsCodecParameter from the #FsCodec or %NULL</doc>
341 <type name="CodecParameter" c:type="FsCodecParameter*"/>
342 </return-value>
343 <parameters>
344 <parameter name="name" transfer-ownership="none">
345 <doc xml:whitespace="preserve">The name of the parameter to search for</doc>
346 <type name="utf8" c:type="gchar*"/>
347 </parameter>
348 <parameter name="value" transfer-ownership="none">
349 <doc xml:whitespace="preserve">The value of the parameter to search for or %NULL for any value</doc>
350 <type name="utf8" c:type="gchar*"/>
351 </parameter>
352 </parameters>
353 </method>
354 <method name="remove_feedback_parameter"
355 c:identifier="fs_codec_remove_feedback_parameter">
356 <doc xml:whitespace="preserve">Removes an optional parameter from a codec.
357
358 NULL param will do nothing.</doc>
359 <return-value transfer-ownership="none">
360 <type name="none" c:type="void"/>
361 </return-value>
362 <parameters>
363 <parameter name="item" transfer-ownership="none">
364 <doc xml:whitespace="preserve"> a pointer to the #GList element to remove that contains a #FsFeedbackParameter</doc>
365 <type name="GLib.List" c:type="GList*">
366 <type name="FeedbackParameter"/>
367 </type>
368 </parameter>
369 </parameters>
370 </method>
371 <method name="remove_optional_parameter"
372 c:identifier="fs_codec_remove_optional_parameter">
373 <doc xml:whitespace="preserve">Removes an optional parameter from a codec.
374
375 NULL param will do nothing.</doc>
376 <return-value transfer-ownership="none">
377 <type name="none" c:type="void"/>
378 </return-value>
379 <parameters>
380 <parameter name="param" transfer-ownership="none">
381 <doc xml:whitespace="preserve">a pointer to the #FsCodecParameter to remove</doc>
382 <type name="CodecParameter" c:type="FsCodecParameter*"/>
383 </parameter>
384 </parameters>
385 </method>
386 <method name="to_string" c:identifier="fs_codec_to_string">
387 <doc xml:whitespace="preserve">Returns a newly-allocated string representing the codec</doc>
388 <return-value transfer-ownership="full">
389 <doc xml:whitespace="preserve">the newly-allocated string</doc>
390 <type name="utf8" c:type="gchar*"/>
391 </return-value>
392 </method>
393 </record>
394 <glib:boxed glib:name="CodecGList"
395 c:symbol-prefix="codec_list"
396 glib:type-name="FsCodecGList"
397 glib:get-type="fs_codec_list_get_type">
398 <function name="are_equal" c:identifier="fs_codec_list_are_equal">
399 <doc xml:whitespace="preserve">Verifies if two glist of fscodecs are identical</doc>
400 <return-value transfer-ownership="none">
401 <doc xml:whitespace="preserve">%TRUE if they are identical, %FALSE otherwise</doc>
402 <type name="gboolean" c:type="gboolean"/>
403 </return-value>
404 <parameters>
405 <parameter name="list1" transfer-ownership="none">
406 <doc xml:whitespace="preserve">a #GList of #FsCodec</doc>
407 <type name="GLib.List" c:type="GList*">
408 <type name="Codec"/>
409 </type>
410 </parameter>
411 <parameter name="list2" transfer-ownership="none">
412 <doc xml:whitespace="preserve">a #GList of #FsCodec</doc>
413 <type name="GLib.List" c:type="GList*">
414 <type name="Codec"/>
415 </type>
416 </parameter>
417 </parameters>
418 </function>
419 <function name="copy" c:identifier="fs_codec_list_copy">
420 <doc xml:whitespace="preserve">Copies a list of #FsCodec structures.</doc>
421 <return-value transfer-ownership="full">
422 <doc xml:whitespace="preserve">The new list.</doc>
423 <type name="GLib.List" c:type="GList*">
424 <type name="Codec"/>
425 </type>
426 </return-value>
427 <parameters>
428 <parameter name="codec_list" transfer-ownership="none">
429 <doc xml:whitespace="preserve"> a GList of #FsCodec to copy</doc>
430 <type name="GLib.List" c:type="GList*">
431 <type name="Codec"/>
432 </type>
433 </parameter>
434 </parameters>
435 </function>
436 <function name="destroy"
437 c:identifier="fs_codec_list_destroy"
438 introspectable="0">
439 <doc xml:whitespace="preserve">Deletes a list of #FsCodec structures and the list itself.
440 Does nothing on %NULL lists.</doc>
441 <return-value transfer-ownership="none">
442 <type name="none" c:type="void"/>
443 </return-value>
444 <parameters>
445 <parameter name="codec_list" transfer-ownership="none">
446 <doc xml:whitespace="preserve">a GList of #FsCodec to delete</doc>
447 <type name="GLib.List" c:type="GList*">
448 <type name="gpointer" c:type="gpointer"/>
449 </type>
450 </parameter>
451 </parameters>
452 </function>
453 <function name="from_keyfile"
454 c:identifier="fs_codec_list_from_keyfile"
455 throws="1">
456 <doc xml:whitespace="preserve">Reads the content of a #GKeyFile of the following format into
457 a #GList of #FsCodec structures.
458
459
460 Example:
461 |[
462 [audio/codec1]
463 clock-rate=8000
464
465 [audio/codec1:1]
466 clock-rate=16000
467
468 [audio/codec2]
469 one_param=QCIF
470 another_param=WOW
471
472 [video/codec3]
473 wierd_param=42
474 feedback:nack/pli=1
475 feedback:tfrc=
476 ]|
477
478 The #GList of #FsCodec or %NULL if the keyfile was empty or an error occured.</doc>
479 <return-value transfer-ownership="full">
480 <type name="GLib.List" c:type="GList*">
481 <type name="Codec"/>
482 </type>
483 </return-value>
484 <parameters>
485 <parameter name="filename" transfer-ownership="none">
486 <doc xml:whitespace="preserve">Name of the #GKeyFile to read the codecs parameters from</doc>
487 <type name="utf8" c:type="gchar*"/>
488 </parameter>
489 </parameters>
490 </function>
491 </glib:boxed>
492 <record name="CodecParameter"
493 c:type="FsCodecParameter"
494 glib:type-name="FsCodecParameter"
495 glib:get-type="fs_codec_parameter_get_type"
496 c:symbol-prefix="codec_parameter">
497 <doc xml:whitespace="preserve">Used to store arbitary parameters for a codec</doc>
498 <field name="name" writable="1">
499 <type name="utf8" c:type="gchar*"/>
500 </field>
501 <field name="value" writable="1">
502 <type name="utf8" c:type="gchar*"/>
503 </field>
504 <method name="copy" c:identifier="fs_codec_parameter_copy">
505 <return-value transfer-ownership="full">
506 <type name="CodecParameter" c:type="FsCodecParameter*"/>
507 </return-value>
508 </method>
509 <method name="free" c:identifier="fs_codec_parameter_free">
510 <return-value transfer-ownership="none">
511 <type name="none" c:type="void"/>
512 </return-value>
513 </method>
514 </record>
515 <enumeration name="ComponentType"
516 glib:type-name="FsComponentType"
517 glib:get-type="fs_component_type_get_type"
518 c:type="FsComponentType">
519 <doc xml:whitespace="preserve">This enum contains the component IDs defined in ICE-19</doc>
520 <member name="none"
521 value="0"
522 c:identifier="FS_COMPONENT_NONE"
523 glib:nick="none"/>
524 <member name="rtp"
525 value="1"
526 c:identifier="FS_COMPONENT_RTP"
527 glib:nick="rtp"/>
528 <member name="rtcp"
529 value="2"
530 c:identifier="FS_COMPONENT_RTCP"
531 glib:nick="rtcp"/>
532 </enumeration>
533 <class name="Conference"
534 c:symbol-prefix="conference"
535 c:type="FsConference"
536 parent="Gst.Bin"
537 glib:type-name="FsConference"
538 glib:get-type="fs_conference_get_type"
539 glib:type-struct="ConferenceClass">
540 <doc xml:whitespace="preserve">The #FsConference structure, all the members are private</doc>
541 <implements name="Gst.ChildProxy"/>
542 <virtual-method name="new_participant"
543 invoker="new_participant"
544 throws="1">
545 <doc xml:whitespace="preserve">Create a new Farstream Participant for the type of the given conference.
546
547 The #FsParticipant is owned by the user and he must unref it when he is
548 done with it.</doc>
549 <return-value transfer-ownership="full">
550 <doc xml:whitespace="preserve">the new #FsParticipant that has been created.</doc>
551 <type name="Participant" c:type="FsParticipant*"/>
552 </return-value>
553 </virtual-method>
554 <virtual-method name="new_session" invoker="new_session" throws="1">
555 <doc xml:whitespace="preserve">Create a new Farstream session for the given conference.
556
557 The #FsSession must be unref'd by the user when closing the session.</doc>
558 <return-value transfer-ownership="full">
559 <doc xml:whitespace="preserve">the new #FsSession that has been created.</doc>
560 <type name="Session" c:type="FsSession*"/>
561 </return-value>
562 <parameters>
563 <parameter name="media_type" transfer-ownership="none">
564 <doc xml:whitespace="preserve">#FsMediaType of the new session</doc>
565 <type name="MediaType" c:type="FsMediaType"/>
566 </parameter>
567 </parameters>
568 </virtual-method>
569 <method name="new_participant"
570 c:identifier="fs_conference_new_participant"
571 throws="1">
572 <doc xml:whitespace="preserve">Create a new Farstream Participant for the type of the given conference.
573
574 The #FsParticipant is owned by the user and he must unref it when he is
575 done with it.</doc>
576 <return-value transfer-ownership="full">
577 <doc xml:whitespace="preserve">the new #FsParticipant that has been created.</doc>
578 <type name="Participant" c:type="FsParticipant*"/>
579 </return-value>
580 </method>
581 <method name="new_session"
582 c:identifier="fs_conference_new_session"
583 throws="1">
584 <doc xml:whitespace="preserve">Create a new Farstream session for the given conference.
585
586 The #FsSession must be unref'd by the user when closing the session.</doc>
587 <return-value transfer-ownership="full">
588 <doc xml:whitespace="preserve">the new #FsSession that has been created.</doc>
589 <type name="Session" c:type="FsSession*"/>
590 </return-value>
591 <parameters>
592 <parameter name="media_type" transfer-ownership="none">
593 <doc xml:whitespace="preserve">#FsMediaType of the new session</doc>
594 <type name="MediaType" c:type="FsMediaType"/>
595 </parameter>
596 </parameters>
597 </method>
598 <field name="parent">
599 <type name="Gst.Bin" c:type="GstBin"/>
600 </field>
601 <field name="_padding" readable="0" private="1">
602 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
603 <type name="gpointer" c:type="gpointer"/>
604 </array>
605 </field>
606 </class>
607 <record name="ConferenceClass"
608 c:type="FsConferenceClass"
609 glib:is-gtype-struct-for="Conference">
610 <doc xml:whitespace="preserve">#FsConferenceClass class structure.</doc>
611 <field name="parent">
612 <type name="Gst.BinClass" c:type="GstBinClass"/>
613 </field>
614 <field name="new_session">
615 <callback name="new_session" throws="1">
616 <return-value transfer-ownership="full">
617 <doc xml:whitespace="preserve">the new #FsSession that has been created.</doc>
618 <type name="Session" c:type="FsSession*"/>
619 </return-value>
620 <parameters>
621 <parameter name="conference" transfer-ownership="none">
622 <type name="Conference" c:type="FsConference*"/>
623 </parameter>
624 <parameter name="media_type" transfer-ownership="none">
625 <doc xml:whitespace="preserve">#FsMediaType of the new session</doc>
626 <type name="MediaType" c:type="FsMediaType"/>
627 </parameter>
628 </parameters>
629 </callback>
630 </field>
631 <field name="new_participant">
632 <callback name="new_participant" throws="1">
633 <return-value transfer-ownership="full">
634 <doc xml:whitespace="preserve">the new #FsParticipant that has been created.</doc>
635 <type name="Participant" c:type="FsParticipant*"/>
636 </return-value>
637 <parameters>
638 <parameter name="conference" transfer-ownership="none">
639 <type name="Conference" c:type="FsConference*"/>
640 </parameter>
641 </parameters>
642 </callback>
643 </field>
644 <field name="_gst_reserved" readable="0" private="1">
645 <array zero-terminated="0" c:type="gpointer" fixed-size="4">
646 <type name="gpointer" c:type="gpointer"/>
647 </array>
648 </field>
649 </record>
650 <enumeration name="DTMFEvent"
651 glib:type-name="FsDTMFEvent"
652 glib:get-type="fs_dtmf_event_get_type"
653 c:type="FsDTMFEvent">
654 <doc xml:whitespace="preserve">An enum that represents the different DTMF event that can be sent to a
655 #FsSession. The values corresponds those those defined in RFC 4733
656 The rest of the possibles values are in the IANA registry at:
657 http://www.iana.org/assignments/audio-telephone-event-registry</doc>
658 <member name="0" value="0" c:identifier="FS_DTMF_EVENT_0" glib:nick="0"/>
659 <member name="1" value="1" c:identifier="FS_DTMF_EVENT_1" glib:nick="1"/>
660 <member name="2" value="2" c:identifier="FS_DTMF_EVENT_2" glib:nick="2"/>
661 <member name="3" value="3" c:identifier="FS_DTMF_EVENT_3" glib:nick="3"/>
662 <member name="4" value="4" c:identifier="FS_DTMF_EVENT_4" glib:nick="4"/>
663 <member name="5" value="5" c:identifier="FS_DTMF_EVENT_5" glib:nick="5"/>
664 <member name="6" value="6" c:identifier="FS_DTMF_EVENT_6" glib:nick="6"/>
665 <member name="7" value="7" c:identifier="FS_DTMF_EVENT_7" glib:nick="7"/>
666 <member name="8" value="8" c:identifier="FS_DTMF_EVENT_8" glib:nick="8"/>
667 <member name="9" value="9" c:identifier="FS_DTMF_EVENT_9" glib:nick="9"/>
668 <member name="star"
669 value="10"
670 c:identifier="FS_DTMF_EVENT_STAR"
671 glib:nick="star"/>
672 <member name="pound"
673 value="11"
674 c:identifier="FS_DTMF_EVENT_POUND"
675 glib:nick="pound"/>
676 <member name="a"
677 value="12"
678 c:identifier="FS_DTMF_EVENT_A"
679 glib:nick="a"/>
680 <member name="b"
681 value="13"
682 c:identifier="FS_DTMF_EVENT_B"
683 glib:nick="b"/>
684 <member name="c"
685 value="14"
686 c:identifier="FS_DTMF_EVENT_C"
687 glib:nick="c"/>
688 <member name="d"
689 value="15"
690 c:identifier="FS_DTMF_EVENT_D"
691 glib:nick="d"/>
692 </enumeration>
693 <enumeration name="DTMFMethod"
694 glib:type-name="FsDTMFMethod"
695 glib:get-type="fs_dtmf_method_get_type"
696 c:type="FsDTMFMethod">
697 <doc xml:whitespace="preserve">An enum that represents the different ways a DTMF event can be sent</doc>
698 <member name="rtp_rfc4733"
699 value="1"
700 c:identifier="FS_DTMF_METHOD_RTP_RFC4733"
701 glib:nick="rtp-rfc4733"/>
702 <member name="sound"
703 value="2"
704 c:identifier="FS_DTMF_METHOD_SOUND"
705 glib:nick="sound"/>
706 </enumeration>
707 <class name="ElementAddedNotifier"
708 c:symbol-prefix="element_added_notifier"
709 c:type="FsElementAddedNotifier"
710 parent="GObject.Object"
711 glib:type-name="FsElementAddedNotifier"
712 glib:get-type="fs_element_added_notifier_get_type"
713 glib:type-struct="ElementAddedNotifierClass">
714 <doc xml:whitespace="preserve">All members are private</doc>
715 <constructor name="new" c:identifier="fs_element_added_notifier_new">
716 <doc xml:whitespace="preserve">Creates a new #FsElementAddedNotifier object</doc>
717 <return-value transfer-ownership="full">
718 <doc xml:whitespace="preserve">the newly-created #FsElementAddedNotifier</doc>
719 <type name="ElementAddedNotifier" c:type="FsElementAddedNotifier*"/>
720 </return-value>
721 </constructor>
722 <method name="add" c:identifier="fs_element_added_notifier_add">
723 <doc xml:whitespace="preserve">Add a #GstBin to on which the #FsElementAddedNotifier::element-added signal
724 will be called on every element and sub-element present and added in the
725 future.</doc>
726 <return-value transfer-ownership="none">
727 <type name="none" c:type="void"/>
728 </return-value>
729 <parameters>
730 <parameter name="bin" transfer-ownership="none">
731 <doc xml:whitespace="preserve">A #GstBin to watch to added elements</doc>
732 <type name="Gst.Bin" c:type="GstBin*"/>
733 </parameter>
734 </parameters>
735 </method>
736 <method name="remove" c:identifier="fs_element_added_notifier_remove">
737 <doc xml:whitespace="preserve">Stop watching the passed bin and its subbins.</doc>
738 <return-value transfer-ownership="none">
739 <doc xml:whitespace="preserve">%TRUE if the #GstBin was being watched, %FALSE otherwise</doc>
740 <type name="gboolean" c:type="gboolean"/>
741 </return-value>
742 <parameters>
743 <parameter name="bin" transfer-ownership="none">
744 <doc xml:whitespace="preserve">A #GstBin to stop watching</doc>
745 <type name="Gst.Bin" c:type="GstBin*"/>
746 </parameter>
747 </parameters>
748 </method>
749 <method name="set_default_properties"
750 c:identifier="fs_element_added_notifier_set_default_properties">
751 <doc xml:whitespace="preserve">Same as first calling fs_utils_get_default_element_properties() and using
752 the result with
753 fs_element_added_notifier_set_properties_from_keyfile() .
754
755 This is binding friendly (since GKeyFile doesn't have a boxed type).</doc>
756 <return-value transfer-ownership="none">
757 <type name="none" c:type="void"/>
758 </return-value>
759 <parameters>
760 <parameter name="element" transfer-ownership="none">
761 <doc xml:whitespace="preserve">Element for which to set the default codec preferences</doc>
762 <type name="Gst.Element" c:type="GstElement*"/>
763 </parameter>
764 </parameters>
765 </method>
766 <method name="set_properties_from_file"
767 c:identifier="fs_element_added_notifier_set_properties_from_file"
768 throws="1">
769 <doc xml:whitespace="preserve">Same as fs_element_added_notifier_set_properties_from_keyfile() but using
770 the name of the file to load instead of the #GKeyFile directly.</doc>
771 <return-value transfer-ownership="none">
772 <doc xml:whitespace="preserve">%TRUE if the file was successfully loaded, %FALSE otherwise</doc>
773 <type name="gboolean" c:type="gboolean"/>
774 </return-value>
775 <parameters>
776 <parameter name="filename" transfer-ownership="none">
777 <doc xml:whitespace="preserve">The name of the keyfile to use</doc>
778 <type name="utf8" c:type="gchar*"/>
779 </parameter>
780 </parameters>
781 </method>
782 <method name="set_properties_from_keyfile"
783 c:identifier="fs_element_added_notifier_set_properties_from_keyfile">
784 <doc xml:whitespace="preserve">Using a #GKeyFile where the groups are the element's type or name
785 and the key=value are the property and its value, this function
786 will set the properties on the elements added to this object after
787 this function has been called. It will take ownership of the
788 GKeyFile structure. It will first try the group as the element type, if that
789 does not match, it will check its name.</doc>
790 <return-value transfer-ownership="none">
791 <type name="none" c:type="void"/>
792 </return-value>
793 <parameters>
794 <parameter name="keyfile" transfer-ownership="none">
795 <doc xml:whitespace="preserve">a #GKeyFile</doc>
796 <type name="GLib.KeyFile" c:type="GKeyFile*"/>
797 </parameter>
798 </parameters>
799 </method>
800 <field name="parent">
801 <type name="GObject.Object" c:type="GObject"/>
802 </field>
803 <field name="priv" readable="0" private="1">
804 <type name="ElementAddedNotifierPrivate"
805 c:type="FsElementAddedNotifierPrivate*"/>
806 </field>
807 <glib:signal name="element-added" when="last">
808 <doc xml:whitespace="preserve">This signal is emitted when an element is added to a #GstBin that was added
809 to this object or one of its sub-bins.
810 Be careful, there is no guarantee that this will be emitted on your
811 main thread, it will be emitted in the thread that added the element.
812 The bin may be %NULL if this is the top-level bin.</doc>
813 <return-value transfer-ownership="none">
814 <type name="none"/>
815 </return-value>
816 <parameters>
817 <parameter name="bin" transfer-ownership="none">
818 <doc xml:whitespace="preserve">The #GstBin to which this object was added</doc>
819 <type name="Gst.Bin"/>
820 </parameter>
821 <parameter name="element" transfer-ownership="none">
822 <doc xml:whitespace="preserve">The #GstElement that was added</doc>
823 <type name="Gst.Element"/>
824 </parameter>
825 </parameters>
826 </glib:signal>
827 </class>
828 <record name="ElementAddedNotifierClass"
829 c:type="FsElementAddedNotifierClass"
830 glib:is-gtype-struct-for="ElementAddedNotifier">
831 <doc xml:whitespace="preserve">All members are private</doc>
832 <field name="parent_class">
833 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
834 </field>
835 </record>
836 <record name="ElementAddedNotifierPrivate"
837 c:type="FsElementAddedNotifierPrivate"
838 disguised="1">
839 </record>
840 <enumeration name="Error"
841 glib:type-name="FsError"
842 glib:get-type="fs_error_get_type"
843 c:type="FsError"
844 glib:error-domain="fs-error">
845 <doc xml:whitespace="preserve">This is the enum of error numbers that will come either on the "error"
846 signal, from the Gst Bus or for error in the FS_ERROR domain in GErrors</doc>
847 <member name="construction"
848 value="1"
849 c:identifier="FS_ERROR_CONSTRUCTION"
850 glib:nick="construction"/>
851 <member name="internal"
852 value="2"
853 c:identifier="FS_ERROR_INTERNAL"
854 glib:nick="internal"/>
855 <member name="invalid_arguments"
856 value="100"
857 c:identifier="FS_ERROR_INVALID_ARGUMENTS"
858 glib:nick="invalid-arguments"/>
859 <member name="network"
860 value="101"
861 c:identifier="FS_ERROR_NETWORK"
862 glib:nick="network"/>
863 <member name="not_implemented"
864 value="102"
865 c:identifier="FS_ERROR_NOT_IMPLEMENTED"
866 glib:nick="not-implemented"/>
867 <member name="negotiation_failed"
868 value="103"
869 c:identifier="FS_ERROR_NEGOTIATION_FAILED"
870 glib:nick="negotiation-failed"/>
871 <member name="unknown_codec"
872 value="104"
873 c:identifier="FS_ERROR_UNKNOWN_CODEC"
874 glib:nick="unknown-codec"/>
875 <member name="no_codecs"
876 value="105"
877 c:identifier="FS_ERROR_NO_CODECS"
878 glib:nick="no-codecs"/>
879 <member name="no_codecs_left"
880 value="106"
881 c:identifier="FS_ERROR_NO_CODECS_LEFT"
882 glib:nick="no-codecs-left"/>
883 <member name="connection_failed"
884 value="107"
885 c:identifier="FS_ERROR_CONNECTION_FAILED"
886 glib:nick="connection-failed"/>
887 <member name="disposed"
888 value="108"
889 c:identifier="FS_ERROR_DISPOSED"
890 glib:nick="disposed"/>
891 <member name="already_exists"
892 value="109"
893 c:identifier="FS_ERROR_ALREADY_EXISTS"
894 glib:nick="already-exists"/>
895 <function name="quark" c:identifier="fs_error_quark">
896 <return-value transfer-ownership="none">
897 <type name="GLib.Quark" c:type="GQuark"/>
898 </return-value>
899 </function>
900 </enumeration>
901 <record name="FeedbackParameter"
902 c:type="FsFeedbackParameter"
903 glib:type-name="FsFeedbackParameter"
904 glib:get-type="fs_feedback_parameter_get_type"
905 c:symbol-prefix="feedback_parameter">
906 <doc xml:whitespace="preserve">Use to store feedback parameters</doc>
907 <field name="type" writable="1">
908 <type name="utf8" c:type="gchar*"/>
909 </field>
910 <field name="subtype" writable="1">
911 <type name="utf8" c:type="gchar*"/>
912 </field>
913 <field name="extra_params" writable="1">
914 <type name="utf8" c:type="gchar*"/>
915 </field>
916 <method name="copy" c:identifier="fs_feedback_parameter_copy">
917 <return-value transfer-ownership="full">
918 <type name="FeedbackParameter" c:type="FsFeedbackParameter*"/>
919 </return-value>
920 </method>
921 <method name="free" c:identifier="fs_feedback_parameter_free">
922 <return-value transfer-ownership="none">
923 <type name="none" c:type="void"/>
924 </return-value>
925 </method>
926 </record>
927 <enumeration name="MediaType"
928 glib:type-name="FsMediaType"
929 glib:get-type="fs_media_type_get_type"
930 c:type="FsMediaType">
931 <doc xml:whitespace="preserve">Enum used to signify the media type of a codec or stream.</doc>
932 <member name="audio"
933 value="0"
934 c:identifier="FS_MEDIA_TYPE_AUDIO"
935 glib:nick="audio"/>
936 <member name="video"
937 value="1"
938 c:identifier="FS_MEDIA_TYPE_VIDEO"
939 glib:nick="video"/>
940 <member name="last"
941 value="1"
942 c:identifier="FS_MEDIA_TYPE_LAST"
943 glib:nick="last"/>
944 <function name="to_string" c:identifier="fs_media_type_to_string">
945 <doc xml:whitespace="preserve">Gives a user-printable string representing the media type</doc>
946 <return-value transfer-ownership="none">
947 <doc xml:whitespace="preserve">a static string representing the media type</doc>
948 <type name="utf8" c:type="gchar*"/>
949 </return-value>
950 <parameters>
951 <parameter name="media_type" transfer-ownership="none">
952 <doc xml:whitespace="preserve">A media type</doc>
953 <type name="MediaType" c:type="FsMediaType"/>
954 </parameter>
955 </parameters>
956 </function>
957 </enumeration>
958 <enumeration name="NetworkProtocol"
959 glib:type-name="FsNetworkProtocol"
960 glib:get-type="fs_network_protocol_get_type"
961 c:type="FsNetworkProtocol">
962 <doc xml:whitespace="preserve">An enum for the base IP protocol</doc>
963 <member name="udp"
964 value="0"
965 c:identifier="FS_NETWORK_PROTOCOL_UDP"
966 glib:nick="udp"/>
967 <member name="tcp"
968 value="1"
969 c:identifier="FS_NETWORK_PROTOCOL_TCP"
970 glib:nick="tcp"/>
971 </enumeration>
972 <class name="Participant"
973 c:symbol-prefix="participant"
974 c:type="FsParticipant"
975 parent="Gst.Object"
976 abstract="1"
977 glib:type-name="FsParticipant"
978 glib:get-type="fs_participant_get_type"
979 glib:type-struct="ParticipantClass">
980 <doc xml:whitespace="preserve">All members are private (access them using the properties)</doc>
981 <field name="parent">
982 <type name="Gst.Object" c:type="GstObject"/>
983 </field>
984 <field name="mutex" readable="0" private="1">
985 <type name="GLib.Mutex" c:type="GMutex*"/>
986 </field>
987 <field name="priv" readable="0" private="1">
988 <type name="ParticipantPrivate" c:type="FsParticipantPrivate*"/>
989 </field>
990 <field name="_padding" readable="0" private="1">
991 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
992 <type name="gpointer" c:type="gpointer"/>
993 </array>
994 </field>
995 </class>
996 <record name="ParticipantClass"
997 c:type="FsParticipantClass"
998 glib:is-gtype-struct-for="Participant">
999 <doc xml:whitespace="preserve">The FsParticipant class has no virtual methods to implement,
1000 but you may want to override the properties or attach more date to it</doc>
1001 <field name="parent_class">
1002 <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
1003 </field>
1004 <field name="priv" readable="0" private="1">
1005 <type name="ParticipantPrivate" c:type="FsParticipantPrivate*"/>
1006 </field>
1007 <field name="_padding" readable="0" private="1">
1008 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
1009 <type name="gpointer" c:type="gpointer"/>
1010 </array>
1011 </field>
1012 </record>
1013 <record name="ParticipantPrivate"
1014 c:type="FsParticipantPrivate"
1015 disguised="1">
1016 </record>
1017 <class name="Plugin"
1018 c:symbol-prefix="plugin"
1019 c:type="FsPlugin"
1020 parent="GObject.TypeModule"
1021 glib:type-name="FsPlugin"
1022 glib:get-type="fs_plugin_get_type"
1023 glib:type-struct="PluginClass">
1024 <doc xml:whitespace="preserve">This structure represents a plugin, it is opaque.</doc>
1025 <implements name="GObject.TypePlugin"/>
1026 <function name="create"
1027 c:identifier="fs_plugin_create"
1028 introspectable="0">
1029 <doc xml:whitespace="preserve">Loads the appropriate plugin if necessary and creates a GObject of
1030 the requested type</doc>
1031 <return-value transfer-ownership="full">
1032 <doc xml:whitespace="preserve">The object created (or NULL if there is an error)</doc>
1033 <type name="GObject.Object" c:type="GObject*"/>
1034 </return-value>
1035 <parameters>
1036 <parameter name="name" transfer-ownership="none">
1037 <doc xml:whitespace="preserve">The name of the plugin to load</doc>
1038 <type name="utf8" c:type="gchar*"/>
1039 </parameter>
1040 <parameter name="type_suffix" transfer-ownership="none">
1041 <doc xml:whitespace="preserve">The type of plugin to load (normally "transmitter")</doc>
1042 <type name="utf8" c:type="gchar*"/>
1043 </parameter>
1044 <parameter name="error" transfer-ownership="none">
1045 <doc xml:whitespace="preserve">location of a #GError, or NULL if no error occured</doc>
1046 <type name="GLib.Error" c:type="GError**"/>
1047 </parameter>
1048 <parameter name="first_property_name" transfer-ownership="none">
1049 <doc xml:whitespace="preserve">The name of the first property to be set on the object</doc>
1050 <type name="utf8" c:type="gchar*"/>
1051 </parameter>
1052 <parameter transfer-ownership="none">
1053 <varargs>
1054 </varargs>
1055 </parameter>
1056 </parameters>
1057 </function>
1058 <function name="create_valist"
1059 c:identifier="fs_plugin_create_valist"
1060 introspectable="0">
1061 <doc xml:whitespace="preserve">Loads the appropriate plugin if necessary and creates a GObject of
1062 the requested type</doc>
1063 <return-value transfer-ownership="full">
1064 <doc xml:whitespace="preserve">The object created (or NULL if there is an error)</doc>
1065 <type name="GObject.Object" c:type="GObject*"/>
1066 </return-value>
1067 <parameters>
1068 <parameter name="name" transfer-ownership="none">
1069 <doc xml:whitespace="preserve">The name of the plugin to load</doc>
1070 <type name="utf8" c:type="gchar*"/>
1071 </parameter>
1072 <parameter name="type_suffix" transfer-ownership="none">
1073 <doc xml:whitespace="preserve">The type of plugin to load (normally "transmitter")</doc>
1074 <type name="utf8" c:type="gchar*"/>
1075 </parameter>
1076 <parameter name="error" transfer-ownership="none">
1077 <doc xml:whitespace="preserve">location of a #GError, or NULL if no error occured</doc>
1078 <type name="GLib.Error" c:type="GError**"/>
1079 </parameter>
1080 <parameter name="first_property_name" transfer-ownership="none">
1081 <doc xml:whitespace="preserve">The name of the first property to be set on the object</doc>
1082 <type name="utf8" c:type="gchar*"/>
1083 </parameter>
1084 <parameter name="var_args" transfer-ownership="none">
1085 <doc xml:whitespace="preserve">The rest of the arguments</doc>
1086 <type name="va_list" c:type="va_list"/>
1087 </parameter>
1088 </parameters>
1089 </function>
1090 <function name="list_available" c:identifier="fs_plugin_list_available">
1091 <doc xml:whitespace="preserve">Gets the list of all available plugins of a certain type
1092
1093 strings or %NULL if no strings were found.
1094 It should be freed with g_strfreev().</doc>
1095 <return-value transfer-ownership="full">
1096 <doc xml:whitespace="preserve">a newly allocated NULL terminated array of</doc>
1097 <array c:type="gchar**">
1098 <type name="utf8"/>
1099 </array>
1100 </return-value>
1101 <parameters>
1102 <parameter name="type_suffix" transfer-ownership="none">
1103 <doc xml:whitespace="preserve">Get list of plugins with this type suffix</doc>
1104 <type name="utf8" c:type="gchar*"/>
1105 </parameter>
1106 </parameters>
1107 </function>
1108 <field name="parent">
1109 <type name="GObject.TypeModule" c:type="GTypeModule"/>
1110 </field>
1111 <field name="type" readable="0" private="1">
1112 <type name="GType" c:type="GType"/>
1113 </field>
1114 <field name="name" readable="0" private="1">
1115 <type name="utf8" c:type="gchar*"/>
1116 </field>
1117 <field name="priv" readable="0" private="1">
1118 <type name="PluginPrivate" c:type="FsPluginPrivate*"/>
1119 </field>
1120 <field name="unused" readable="0" private="1">
1121 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
1122 <type name="gpointer" c:type="gpointer"/>
1123 </array>
1124 </field>
1125 </class>
1126 <record name="PluginClass"
1127 c:type="FsPluginClass"
1128 glib:is-gtype-struct-for="Plugin">
1129 <field name="parent_class">
1130 <type name="GObject.TypeModuleClass" c:type="GTypeModuleClass"/>
1131 </field>
1132 <field name="unused" readable="0" private="1">
1133 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
1134 <type name="gpointer" c:type="gpointer"/>
1135 </array>
1136 </field>
1137 </record>
1138 <record name="PluginPrivate" c:type="FsPluginPrivate" disguised="1">
1139 </record>
1140 <constant name="RTP_HEADER_EXTENSION_FORMAT"
1141 value="%d: (%s) %s"
1142 c:type="FS_RTP_HEADER_EXTENSION_FORMAT">
1143 <type name="utf8" c:type="gchar*"/>
1144 </constant>
1145 <glib:boxed glib:name="RtpHeaderExtension"
1146 c:symbol-prefix="rtp_header_extension"
1147 glib:type-name="FsRtpHeaderExtension"
1148 glib:get-type="fs_rtp_header_extension_get_type">
1149 <constructor name="new" c:identifier="fs_rtp_header_extension_new">
1150 <doc xml:whitespace="preserve">Creates a new #FsRtpHeaderExtension</doc>
1151 <return-value transfer-ownership="full">
1152 <doc xml:whitespace="preserve">a new #FsRtpHeaderExtension</doc>
1153 <type name="RtpHeaderExtension" c:type="FsRtpHeaderExtension*"/>
1154 </return-value>
1155 <parameters>
1156 <parameter name="id" transfer-ownership="none">
1157 <doc xml:whitespace="preserve">The identifier of the RTP header extension</doc>
1158 <type name="guint" c:type="guint"/>
1159 </parameter>
1160 <parameter name="direction" transfer-ownership="none">
1161 <doc xml:whitespace="preserve">the direction in which this extension can be used</doc>
1162 <type name="StreamDirection" c:type="FsStreamDirection"/>
1163 </parameter>
1164 <parameter name="uri" transfer-ownership="none">
1165 <doc xml:whitespace="preserve">The URI that defines this extension</doc>
1166 <type name="utf8" c:type="gchar*"/>
1167 </parameter>
1168 </parameters>
1169 </constructor>
1170 <method name="are_equal"
1171 c:identifier="fs_rtp_header_extension_are_equal">
1172 <doc xml:whitespace="preserve">Compares two #FsRtpHeaderExtension structures</doc>
1173 <return-value transfer-ownership="none">
1174 <doc xml:whitespace="preserve">%TRUE if they are identical, %FALSE otherwise</doc>
1175 <type name="gboolean" c:type="gboolean"/>
1176 </return-value>
1177 <parameters>
1178 <parameter name="extension2" transfer-ownership="none">
1179 <doc xml:whitespace="preserve">The second #FsRtpHeaderExtension</doc>
1180 <type name="RtpHeaderExtension" c:type="FsRtpHeaderExtension*"/>
1181 </parameter>
1182 </parameters>
1183 </method>
1184 <method name="copy"
1185 c:identifier="fs_rtp_header_extension_copy"
1186 introspectable="0">
1187 <doc xml:whitespace="preserve">Copies a #FsRtpHeaderExtension</doc>
1188 <return-value transfer-ownership="full">
1189 <doc xml:whitespace="preserve">a new #FsRtpHeaderExtension</doc>
1190 <type name="RtpHeaderExtension" c:type="FsRtpHeaderExtension*"/>
1191 </return-value>
1192 </method>
1193 <method name="destroy"
1194 c:identifier="fs_rtp_header_extension_destroy"
1195 introspectable="0">
1196 <doc xml:whitespace="preserve">Frees the passed #FsRtpHeaderExtension</doc>
1197 <return-value transfer-ownership="none">
1198 <type name="none" c:type="void"/>
1199 </return-value>
1200 </method>
1201 </glib:boxed>
1202 <glib:boxed glib:name="RtpHeaderExtensionGList"
1203 c:symbol-prefix="rtp_header_extension_list"
1204 glib:type-name="FsRtpHeaderExtensionGList"
1205 glib:get-type="fs_rtp_header_extension_list_get_type">
1206 <function name="copy" c:identifier="fs_rtp_header_extension_list_copy">
1207 <doc xml:whitespace="preserve">Does a deep copy of a #GList of #FsRtpHeaderExtension
1208
1209 #GList of #FsRtpHeaderExtension</doc>
1210 <return-value transfer-ownership="full">
1211 <doc xml:whitespace="preserve">a new</doc>
1212 <type name="GLib.List" c:type="GList*">
1213 <type name="RtpHeaderExtension"/>
1214 </type>
1215 </return-value>
1216 <parameters>
1217 <parameter name="extensions" transfer-ownership="none">
1218 <doc xml:whitespace="preserve"> a #GList of #FsRtpHeaderExtension</doc>
1219 <type name="GLib.List" c:type="GList*">
1220 <type name="RtpHeaderExtension"/>
1221 </type>
1222 </parameter>
1223 </parameters>
1224 </function>
1225 <function name="destroy"
1226 c:identifier="fs_rtp_header_extension_list_destroy"
1227 introspectable="0">
1228 <doc xml:whitespace="preserve">Frees the passed #GList of #FsRtpHeaderExtension</doc>
1229 <return-value transfer-ownership="none">
1230 <type name="none" c:type="void"/>
1231 </return-value>
1232 <parameters>
1233 <parameter name="extensions" transfer-ownership="none">
1234 <doc xml:whitespace="preserve">a #GList of #FsRtpHeaderExtension</doc>
1235 <type name="GLib.List" c:type="GList*">
1236 <type name="gpointer" c:type="gpointer"/>
1237 </type>
1238 </parameter>
1239 </parameters>
1240 </function>
1241 <function name="from_keyfile"
1242 c:identifier="fs_rtp_header_extension_list_from_keyfile"
1243 throws="1">
1244 <doc xml:whitespace="preserve">Reads the content of a #GKeyFile of the following format into a
1245 #GList of #FsRtpHeaderExtension structures.
1246
1247 The groups have a format "rtp-hdrext:audio:XXX" or
1248 "rtp-hdrext:video:XXX" where XXX is a unique string (per media type).
1249
1250 The valid keys are:
1251 &lt;itemizedlist&gt;
1252 &lt;listitem&gt;id: a int between in the 1-255 and 4096-4351 ranges&lt;/listitem&gt;
1253 &lt;listitem&gt;uri: a URI describing the RTP Header Extension&lt;/listitem&gt;
1254 &lt;listitem&gt;direction (optional): To only send or receive a RTP Header
1255 Extension, possible values are "send", "receive", "none" or "both".
1256 Defaults to "both"&lt;/listitem&gt;
1257 &lt;/itemizedlist&gt;
1258
1259 Example:
1260 |[
1261 [rtp-hdrext:audio:a]
1262 id=1
1263 uri=urn:ietf:params:rtp-hdrext:toffset
1264
1265 [rtp-hdrext:audio:abc]
1266 id=3
1267 uri=urn:ietf:params:rtp-hdrext:ntp-64
1268 direction=receive
1269 ]|
1270
1271 #GList of #FsRtpHeaderExtension that must be freed with
1272 fs_rtp_header_extension_list_destroy()</doc>
1273 <return-value transfer-ownership="full">
1274 <doc xml:whitespace="preserve">a</doc>
1275 <type name="GLib.List" c:type="GList*">
1276 <type name="RtpHeaderExtension"/>
1277 </type>
1278 </return-value>
1279 <parameters>
1280 <parameter name="filename" transfer-ownership="none">
1281 <doc xml:whitespace="preserve">Name of the #GKeyFile to read the RTP Header Extensions from</doc>
1282 <type name="utf8" c:type="gchar*"/>
1283 </parameter>
1284 <parameter name="media_type" transfer-ownership="none">
1285 <doc xml:whitespace="preserve">The media type for which to get header extensions</doc>
1286 <type name="MediaType" c:type="FsMediaType"/>
1287 </parameter>
1288 </parameters>
1289 </function>
1290 </glib:boxed>
1291 <class name="Session"
1292 c:symbol-prefix="session"
1293 c:type="FsSession"
1294 parent="Gst.Object"
1295 abstract="1"
1296 glib:type-name="FsSession"
1297 glib:get-type="fs_session_get_type"
1298 glib:type-struct="SessionClass">
1299 <doc xml:whitespace="preserve">All members are private, access them using methods and properties</doc>
1300 <virtual-method name="codecs_need_resend" invoker="codecs_need_resend">
1301 <doc xml:whitespace="preserve">Some codec updates need to be reliably transmitted to the other side
1302 because they contain important parameters required to decode the media.
1303 Other codec updates, caused by user action, don't.
1304
1305 #FsCodec that need to be resent or %NULL if there are none. This
1306 list must be freed with fs_codec_list_destroy().</doc>
1307 <return-value transfer-ownership="full">
1308 <doc xml:whitespace="preserve">A new #GList of</doc>
1309 <type name="GLib.List" c:type="GList*">
1310 <type name="Codec"/>
1311 </type>
1312 </return-value>
1313 <parameters>
1314 <parameter name="old_codecs" transfer-ownership="none">
1315 <doc xml:whitespace="preserve"> Codecs previously retrieved from the #FsSession:codecs property</doc>
1316 <type name="GLib.List" c:type="GList*">
1317 <type name="Codec"/>
1318 </type>
1319 </parameter>
1320 <parameter name="new_codecs" transfer-ownership="none">
1321 <doc xml:whitespace="preserve"> Codecs recently retrieved from the #FsSession:codecs property</doc>
1322 <type name="GLib.List" c:type="GList*">
1323 <type name="Codec"/>
1324 </type>
1325 </parameter>
1326 </parameters>
1327 </virtual-method>
1328 <virtual-method name="get_stream_transmitter_type"
1329 invoker="get_stream_transmitter_type">
1330 <doc xml:whitespace="preserve">Returns the GType of the stream transmitter, bindings can use it
1331 to validate/convert the parameters passed to fs_session_new_stream().</doc>
1332 <return-value transfer-ownership="none">
1333 <doc xml:whitespace="preserve">The #GType of the stream transmitter</doc>
1334 <type name="GType" c:type="GType"/>
1335 </return-value>
1336 <parameters>
1337 <parameter name="transmitter" transfer-ownership="none">
1338 <doc xml:whitespace="preserve">The name of the transmitter</doc>
1339 <type name="utf8" c:type="gchar*"/>
1340 </parameter>
1341 </parameters>
1342 </virtual-method>
1343 <virtual-method name="list_transmitters" invoker="list_transmitters">
1344 <doc xml:whitespace="preserve">Get the list of all available transmitters for this session.
1345
1346 named of transmitters or %NULL if no transmitter is needed for this type of
1347 session. It should be freed with g_strfreev().</doc>
1348 <return-value transfer-ownership="full">
1349 <doc xml:whitespace="preserve">a newly-allocagted %NULL terminated array of</doc>
1350 <array c:type="gchar**">
1351 <type name="utf8"/>
1352 </array>
1353 </return-value>
1354 </virtual-method>
1355 <virtual-method name="new_stream" invoker="new_stream" throws="1">
1356 <doc xml:whitespace="preserve">This function creates a stream for the given participant into the active session.
1357
1358 User must unref the #FsStream when the stream is ended. If an error occured,
1359 returns NULL.</doc>
1360 <return-value transfer-ownership="full">
1361 <doc xml:whitespace="preserve">the new #FsStream that has been created.</doc>
1362 <type name="Stream" c:type="FsStream*"/>
1363 </return-value>
1364 <parameters>
1365 <parameter name="participant" transfer-ownership="none">
1366 <doc xml:whitespace="preserve">#FsParticipant of a participant for the new stream</doc>
1367 <type name="Participant" c:type="FsParticipant*"/>
1368 </parameter>
1369 <parameter name="direction" transfer-ownership="none">
1370 <doc xml:whitespace="preserve">#FsStreamDirection describing the direction of the new stream that will be created for this participant</doc>
1371 <type name="StreamDirection" c:type="FsStreamDirection"/>
1372 </parameter>
1373 </parameters>
1374 </virtual-method>
1375 <virtual-method name="set_codec_preferences"
1376 invoker="set_codec_preferences"
1377 throws="1">
1378 <doc xml:whitespace="preserve">Set the list of desired codec preferences. The user may
1379 change this value during an ongoing session. Note that doing this can cause
1380 the codecs to change. Therefore this requires the user to fetch
1381 the new codecs and renegotiate them with the peers. It is a #GList
1382 of #FsCodec. The changes are immediately effective.
1383 The function does not take ownership of the list.
1384
1385 The payload type may be a valid dynamic PT (96-127), %FS_CODEC_ID_DISABLE
1386 or %FS_CODEC_ID_ANY. If the encoding name is "reserve-pt", then the
1387 payload type of the codec will be "reserved" and not be used by any
1388 dynamically assigned payload type.
1389
1390 If the list of specifications would invalidate all codecs, an error will
1391 be returned.</doc>
1392 <return-value transfer-ownership="none">
1393 <doc xml:whitespace="preserve">%TRUE on success, %FALSE on error.</doc>
1394 <type name="gboolean" c:type="gboolean"/>
1395 </return-value>
1396 <parameters>
1397 <parameter name="codec_preferences" transfer-ownership="none">
1398 <doc xml:whitespace="preserve">a #GList of #FsCodec with the desired configuration</doc>
1399 <type name="GLib.List" c:type="GList*">
1400 <type name="Codec"/>
1401 </type>
1402 </parameter>
1403 </parameters>
1404 </virtual-method>
1405 <virtual-method name="set_send_codec"
1406 invoker="set_send_codec"
1407 throws="1">
1408 <doc xml:whitespace="preserve">This function will set the currently being sent codec for all streams in this
1409 session. The given #FsCodec must be taken directly from the #codecs
1410 property of the session. If the given codec is not in the codecs
1411 list, @error will be set and %FALSE will be returned. The @send_codec will be
1412 copied so it must be free'd using fs_codec_destroy() when done.</doc>
1413 <return-value transfer-ownership="none">
1414 <doc xml:whitespace="preserve">%FALSE if the send codec couldn't be set.</doc>
1415 <type name="gboolean" c:type="gboolean"/>
1416 </return-value>
1417 <parameters>
1418 <parameter name="send_codec" transfer-ownership="none">
1419 <doc xml:whitespace="preserve">a #FsCodec representing the codec to send</doc>
1420 <type name="Codec" c:type="FsCodec*"/>
1421 </parameter>
1422 </parameters>
1423 </virtual-method>
1424 <virtual-method name="start_telephony_event"
1425 invoker="start_telephony_event">
1426 <doc xml:whitespace="preserve">This function will start sending a telephony event (such as a DTMF
1427 tone) on the #FsSession. You have to call the function
1428 fs_session_stop_telephony_event() to stop it.
1429
1430 If this function returns %TRUE, a "farstream-telephony-event-started" will
1431 always be emitted when the event is actually played out.
1432
1433 does not support this telephony event.</doc>
1434 <return-value transfer-ownership="none">
1435 <doc xml:whitespace="preserve">%TRUE if sucessful, it can return %FALSE if the #FsStream</doc>
1436 <type name="gboolean" c:type="gboolean"/>
1437 </return-value>
1438 <parameters>
1439 <parameter name="event" transfer-ownership="none">
1440 <doc xml:whitespace="preserve">A #FsStreamDTMFEvent or another number defined at http://www.iana.org/assignments/audio-telephone-event-registry</doc>
1441 <type name="guint8" c:type="guint8"/>
1442 </parameter>
1443 <parameter name="volume" transfer-ownership="none">
1444 <doc xml:whitespace="preserve">The volume in dBm0 without the negative sign. Should be between 0 and 36. Higher values mean lower volume</doc>
1445 <type name="guint8" c:type="guint8"/>
1446 </parameter>
1447 </parameters>
1448 </virtual-method>
1449 <virtual-method name="stop_telephony_event"
1450 invoker="stop_telephony_event">
1451 <doc xml:whitespace="preserve">This function will stop sending a telephony event started by
1452 fs_session_start_telephony_event(). If the event was being sent
1453 for less than 50ms, it will be sent for 50ms minimum. If the
1454 duration was a positive and the event is not over, it will cut it
1455 short.
1456
1457 If this function returns %TRUE, a "farstream-telephony-event-stopped" will
1458 always be emitted when the event is actually stopped.
1459 does not support telephony events or if no telephony event is being sent</doc>
1460 <return-value transfer-ownership="none">
1461 <doc xml:whitespace="preserve">%TRUE if sucessful, it can return %FALSE if the #FsSession</doc>
1462 <type name="gboolean" c:type="gboolean"/>
1463 </return-value>
1464 </virtual-method>
1465 <method name="codecs_need_resend"
1466 c:identifier="fs_session_codecs_need_resend">
1467 <doc xml:whitespace="preserve">Some codec updates need to be reliably transmitted to the other side
1468 because they contain important parameters required to decode the media.
1469 Other codec updates, caused by user action, don't.
1470
1471 #FsCodec that need to be resent or %NULL if there are none. This
1472 list must be freed with fs_codec_list_destroy().</doc>
1473 <return-value transfer-ownership="full">
1474 <doc xml:whitespace="preserve">A new #GList of</doc>
1475 <type name="GLib.List" c:type="GList*">
1476 <type name="Codec"/>
1477 </type>
1478 </return-value>
1479 <parameters>
1480 <parameter name="old_codecs" transfer-ownership="none">
1481 <doc xml:whitespace="preserve"> Codecs previously retrieved from the #FsSession:codecs property</doc>
1482 <type name="GLib.List" c:type="GList*">
1483 <type name="Codec"/>
1484 </type>
1485 </parameter>
1486 <parameter name="new_codecs" transfer-ownership="none">
1487 <doc xml:whitespace="preserve"> Codecs recently retrieved from the #FsSession:codecs property</doc>
1488 <type name="GLib.List" c:type="GList*">
1489 <type name="Codec"/>
1490 </type>
1491 </parameter>
1492 </parameters>
1493 </method>
1494 <method name="destroy" c:identifier="fs_session_destroy">
1495 <doc xml:whitespace="preserve">This will cause the session to remove all links to other objects and to
1496 remove itself from the #FsConference, it will also destroy all #FsStream
1497 inside this #FsSession Once a #FsSession has been destroyed, it
1498 can not be used anymore.
1499
1500 It is strongly recommended to call this function from the main thread because
1501 releasing the application's reference to a session.</doc>
1502 <return-value transfer-ownership="none">
1503 <type name="none" c:type="void"/>
1504 </return-value>
1505 </method>
1506 <method name="emit_error" c:identifier="fs_session_emit_error">
1507 <doc xml:whitespace="preserve">This function emit the "error" signal on a #FsSession, it should only be
1508 called by subclasses.</doc>
1509 <return-value transfer-ownership="none">
1510 <type name="none" c:type="void"/>
1511 </return-value>
1512 <parameters>
1513 <parameter name="error_no" transfer-ownership="none">
1514 <doc xml:whitespace="preserve">The number of the error of type #FsError</doc>
1515 <type name="gint" c:type="gint"/>
1516 </parameter>
1517 <parameter name="error_msg" transfer-ownership="none">
1518 <doc xml:whitespace="preserve">Error message</doc>
1519 <type name="utf8" c:type="gchar*"/>
1520 </parameter>
1521 </parameters>
1522 </method>
1523 <method name="get_stream_transmitter_type"
1524 c:identifier="fs_session_get_stream_transmitter_type">
1525 <doc xml:whitespace="preserve">Returns the GType of the stream transmitter, bindings can use it
1526 to validate/convert the parameters passed to fs_session_new_stream().</doc>
1527 <return-value transfer-ownership="none">
1528 <doc xml:whitespace="preserve">The #GType of the stream transmitter</doc>
1529 <type name="GType" c:type="GType"/>
1530 </return-value>
1531 <parameters>
1532 <parameter name="transmitter" transfer-ownership="none">
1533 <doc xml:whitespace="preserve">The name of the transmitter</doc>
1534 <type name="utf8" c:type="gchar*"/>
1535 </parameter>
1536 </parameters>
1537 </method>
1538 <method name="list_transmitters"
1539 c:identifier="fs_session_list_transmitters">
1540 <doc xml:whitespace="preserve">Get the list of all available transmitters for this session.
1541
1542 named of transmitters or %NULL if no transmitter is needed for this type of
1543 session. It should be freed with g_strfreev().</doc>
1544 <return-value transfer-ownership="full">
1545 <doc xml:whitespace="preserve">a newly-allocagted %NULL terminated array of</doc>
1546 <array c:type="gchar**">
1547 <type name="utf8"/>
1548 </array>
1549 </return-value>
1550 </method>
1551 <method name="new_stream"
1552 c:identifier="fs_session_new_stream"
1553 throws="1">
1554 <doc xml:whitespace="preserve">This function creates a stream for the given participant into the active session.
1555
1556 User must unref the #FsStream when the stream is ended. If an error occured,
1557 returns NULL.</doc>
1558 <return-value transfer-ownership="full">
1559 <doc xml:whitespace="preserve">the new #FsStream that has been created.</doc>
1560 <type name="Stream" c:type="FsStream*"/>
1561 </return-value>
1562 <parameters>
1563 <parameter name="participant" transfer-ownership="none">
1564 <doc xml:whitespace="preserve">#FsParticipant of a participant for the new stream</doc>
1565 <type name="Participant" c:type="FsParticipant*"/>
1566 </parameter>
1567 <parameter name="direction" transfer-ownership="none">
1568 <doc xml:whitespace="preserve">#FsStreamDirection describing the direction of the new stream that will be created for this participant</doc>
1569 <type name="StreamDirection" c:type="FsStreamDirection"/>
1570 </parameter>
1571 </parameters>
1572 </method>
1573 <method name="parse_codecs_changed"
1574 c:identifier="fs_session_parse_codecs_changed">
1575 <doc xml:whitespace="preserve">Parses a "farstream-codecs-changed" message and checks if it matches
1576 the @session parameters.</doc>
1577 <return-value transfer-ownership="none">
1578 <doc xml:whitespace="preserve">%TRUE if the message matches the session and is valid.</doc>
1579 <type name="gboolean" c:type="gboolean"/>
1580 </return-value>
1581 <parameters>
1582 <parameter name="message" transfer-ownership="none">
1583 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
1584 <type name="Gst.Message" c:type="GstMessage*"/>
1585 </parameter>
1586 </parameters>
1587 </method>
1588 <method name="parse_send_codec_changed"
1589 c:identifier="fs_session_parse_send_codec_changed">
1590 <doc xml:whitespace="preserve">Parses a "farstream-send-codec-changed" message and checks if it matches
1591 the @session parameters.</doc>
1592 <return-value transfer-ownership="none">
1593 <doc xml:whitespace="preserve">%TRUE if the message matches the session and is valid.</doc>
1594 <type name="gboolean" c:type="gboolean"/>
1595 </return-value>
1596 <parameters>
1597 <parameter name="message" transfer-ownership="none">
1598 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
1599 <type name="Gst.Message" c:type="GstMessage*"/>
1600 </parameter>
1601 <parameter name="codec"
1602 direction="out"
1603 caller-allocates="0"
1604 transfer-ownership="none">
1605 <doc xml:whitespace="preserve">Returns the #FsCodec in the message if not %NULL.</doc>
1606 <type name="Codec" c:type="FsCodec**"/>
1607 </parameter>
1608 <parameter name="secondary_codecs"
1609 direction="out"
1610 caller-allocates="0"
1611 transfer-ownership="none">
1612 <doc xml:whitespace="preserve"> Returns a #GList of #FsCodec of the message if not %NULL</doc>
1613 <type name="GLib.List" c:type="GList**">
1614 <type name="Codec"/>
1615 </type>
1616 </parameter>
1617 </parameters>
1618 </method>
1619 <method name="parse_telephony_event_started"
1620 c:identifier="fs_session_parse_telephony_event_started">
1621 <doc xml:whitespace="preserve">Parses a "farstream-telephony-event-started" message and checks if it matches
1622 the @session parameters.</doc>
1623 <return-value transfer-ownership="none">
1624 <doc xml:whitespace="preserve">%TRUE if the message matches the session and is valid.</doc>
1625 <type name="gboolean" c:type="gboolean"/>
1626 </return-value>
1627 <parameters>
1628 <parameter name="message" transfer-ownership="none">
1629 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
1630 <type name="Gst.Message" c:type="GstMessage*"/>
1631 </parameter>
1632 <parameter name="method"
1633 direction="out"
1634 caller-allocates="0"
1635 transfer-ownership="full">
1636 <doc xml:whitespace="preserve">Returns the #FsDTMFMethod in the message if not %NULL.</doc>
1637 <type name="DTMFMethod" c:type="FsDTMFMethod*"/>
1638 </parameter>
1639 <parameter name="event"
1640 direction="out"
1641 caller-allocates="0"
1642 transfer-ownership="full">
1643 <doc xml:whitespace="preserve">Returns the #FsDTMFEvent in the message if not %NULL.</doc>
1644 <type name="DTMFEvent" c:type="FsDTMFEvent*"/>
1645 </parameter>
1646 <parameter name="volume"
1647 direction="out"
1648 caller-allocates="0"
1649 transfer-ownership="full">
1650 <doc xml:whitespace="preserve">Returns the volume in the message if not %NULL.</doc>
1651 <type name="guint8" c:type="guint8*"/>
1652 </parameter>
1653 </parameters>
1654 </method>
1655 <method name="parse_telephony_event_stopped"
1656 c:identifier="fs_session_parse_telephony_event_stopped">
1657 <doc xml:whitespace="preserve">Parses a "farstream-telephony-event-stopped" message and checks if it matches
1658 the @session parameters.</doc>
1659 <return-value transfer-ownership="none">
1660 <doc xml:whitespace="preserve">%TRUE if the message matches the session and is valid.</doc>
1661 <type name="gboolean" c:type="gboolean"/>
1662 </return-value>
1663 <parameters>
1664 <parameter name="message" transfer-ownership="none">
1665 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
1666 <type name="Gst.Message" c:type="GstMessage*"/>
1667 </parameter>
1668 <parameter name="method"
1669 direction="out"
1670 caller-allocates="0"
1671 transfer-ownership="full">
1672 <doc xml:whitespace="preserve">Returns the #FsDTMFMethod in the message if not %NULL.</doc>
1673 <type name="DTMFMethod" c:type="FsDTMFMethod*"/>
1674 </parameter>
1675 </parameters>
1676 </method>
1677 <method name="set_codec_preferences"
1678 c:identifier="fs_session_set_codec_preferences"
1679 throws="1">
1680 <doc xml:whitespace="preserve">Set the list of desired codec preferences. The user may
1681 change this value during an ongoing session. Note that doing this can cause
1682 the codecs to change. Therefore this requires the user to fetch
1683 the new codecs and renegotiate them with the peers. It is a #GList
1684 of #FsCodec. The changes are immediately effective.
1685 The function does not take ownership of the list.
1686
1687 The payload type may be a valid dynamic PT (96-127), %FS_CODEC_ID_DISABLE
1688 or %FS_CODEC_ID_ANY. If the encoding name is "reserve-pt", then the
1689 payload type of the codec will be "reserved" and not be used by any
1690 dynamically assigned payload type.
1691
1692 If the list of specifications would invalidate all codecs, an error will
1693 be returned.</doc>
1694 <return-value transfer-ownership="none">
1695 <doc xml:whitespace="preserve">%TRUE on success, %FALSE on error.</doc>
1696 <type name="gboolean" c:type="gboolean"/>
1697 </return-value>
1698 <parameters>
1699 <parameter name="codec_preferences" transfer-ownership="none">
1700 <doc xml:whitespace="preserve">a #GList of #FsCodec with the desired configuration</doc>
1701 <type name="GLib.List" c:type="GList*">
1702 <type name="Codec"/>
1703 </type>
1704 </parameter>
1705 </parameters>
1706 </method>
1707 <method name="set_send_codec"
1708 c:identifier="fs_session_set_send_codec"
1709 throws="1">
1710 <doc xml:whitespace="preserve">This function will set the currently being sent codec for all streams in this
1711 session. The given #FsCodec must be taken directly from the #codecs
1712 property of the session. If the given codec is not in the codecs
1713 list, @error will be set and %FALSE will be returned. The @send_codec will be
1714 copied so it must be free'd using fs_codec_destroy() when done.</doc>
1715 <return-value transfer-ownership="none">
1716 <doc xml:whitespace="preserve">%FALSE if the send codec couldn't be set.</doc>
1717 <type name="gboolean" c:type="gboolean"/>
1718 </return-value>
1719 <parameters>
1720 <parameter name="send_codec" transfer-ownership="none">
1721 <doc xml:whitespace="preserve">a #FsCodec representing the codec to send</doc>
1722 <type name="Codec" c:type="FsCodec*"/>
1723 </parameter>
1724 </parameters>
1725 </method>
1726 <method name="start_telephony_event"
1727 c:identifier="fs_session_start_telephony_event">
1728 <doc xml:whitespace="preserve">This function will start sending a telephony event (such as a DTMF
1729 tone) on the #FsSession. You have to call the function
1730 fs_session_stop_telephony_event() to stop it.
1731
1732 If this function returns %TRUE, a "farstream-telephony-event-started" will
1733 always be emitted when the event is actually played out.
1734
1735 does not support this telephony event.</doc>
1736 <return-value transfer-ownership="none">
1737 <doc xml:whitespace="preserve">%TRUE if sucessful, it can return %FALSE if the #FsStream</doc>
1738 <type name="gboolean" c:type="gboolean"/>
1739 </return-value>
1740 <parameters>
1741 <parameter name="event" transfer-ownership="none">
1742 <doc xml:whitespace="preserve">A #FsStreamDTMFEvent or another number defined at http://www.iana.org/assignments/audio-telephone-event-registry</doc>
1743 <type name="guint8" c:type="guint8"/>
1744 </parameter>
1745 <parameter name="volume" transfer-ownership="none">
1746 <doc xml:whitespace="preserve">The volume in dBm0 without the negative sign. Should be between 0 and 36. Higher values mean lower volume</doc>
1747 <type name="guint8" c:type="guint8"/>
1748 </parameter>
1749 </parameters>
1750 </method>
1751 <method name="stop_telephony_event"
1752 c:identifier="fs_session_stop_telephony_event">
1753 <doc xml:whitespace="preserve">This function will stop sending a telephony event started by
1754 fs_session_start_telephony_event(). If the event was being sent
1755 for less than 50ms, it will be sent for 50ms minimum. If the
1756 duration was a positive and the event is not over, it will cut it
1757 short.
1758
1759 If this function returns %TRUE, a "farstream-telephony-event-stopped" will
1760 always be emitted when the event is actually stopped.
1761 does not support telephony events or if no telephony event is being sent</doc>
1762 <return-value transfer-ownership="none">
1763 <doc xml:whitespace="preserve">%TRUE if sucessful, it can return %FALSE if the #FsSession</doc>
1764 <type name="gboolean" c:type="gboolean"/>
1765 </return-value>
1766 </method>
1767 <property name="codec-preferences"
1768 introspectable="0"
1769 transfer-ownership="full">
1770 <doc xml:whitespace="preserve">This is the current preferences list for the local codecs. It is
1771 set by the user to specify the codec options and priorities. The user may
1772 change its value with fs_session_set_codec_preferences() at any time
1773 during a session. It is a #GList of #FsCodec.
1774 The user must free this codec list using fs_codec_list_destroy() when done.
1775
1776 The payload type may be a valid dynamic PT (96-127), %FS_CODEC_ID_DISABLE
1777 or %FS_CODEC_ID_ANY. If the encoding name is "reserve-pt", then the
1778 payload type of the codec will be "reserved" and not be used by any
1779 dynamically assigned payload type.</doc>
1780 <type name="GLib.List(FsCodec)"/>
1781 </property>
1782 <property name="codecs" introspectable="0" transfer-ownership="full">
1783 <doc xml:whitespace="preserve">This is the list of codecs used for this session. It will include the
1784 codecs and payload type used to receive media on this session. It will
1785 also include any configuration parameter that must be transmitted reliably
1786 for the other end to decode the content.
1787
1788 It may change when the codec preferences are set, when codecs are set
1789 on a #FsStream in this session, when a #FsStream is destroyed or
1790 asynchronously when new config data is discovered.
1791
1792 If any configuration parameter needs to be discovered, this property
1793 will be %NULL until they have been discovered. One can always get
1794 the codecs from #FsSession:codecs-without-config.
1795 The "farstream-codecs-changed" message will be emitted whenever the value
1796 of this property changes.
1797
1798 It is a #GList of #FsCodec. User must free this codec list using
1799 fs_codec_list_destroy() when done.</doc>
1800 <type name="GLib.List(FsCodec)"/>
1801 </property>
1802 <property name="codecs-without-config"
1803 introspectable="0"
1804 transfer-ownership="full">
1805 <doc xml:whitespace="preserve">This is the same list of codecs as #FsSession:codecs without
1806 the configuration information that describes the data sent. It is suitable
1807 for configurations where a list of codecs is shared by many senders.
1808 If one is using codecs such as Theora, Vorbis or H.264 that require
1809 such information to be transmitted, the configuration data should be
1810 included in the stream and retransmitted regularly.
1811
1812 It may change when the codec preferences are set, when codecs are set
1813 on a #FsStream in this session, when a #FsStream is destroyed or
1814 asynchronously when new config data is discovered.
1815
1816 The "farstream-codecs-changed" message will be emitted whenever the value
1817 of this property changes.
1818
1819 It is a #GList of #FsCodec. User must free this codec list using
1820 fs_codec_list_destroy() when done.</doc>
1821 <type name="GLib.List(FsCodec)"/>
1822 </property>
1823 <property name="conference"
1824 writable="1"
1825 construct-only="1"
1826 transfer-ownership="none">
1827 <doc xml:whitespace="preserve">The #FsConference parent of this session. This property is a
1828 construct param and is read-only.</doc>
1829 <type name="Conference"/>
1830 </property>
1831 <property name="current-send-codec" transfer-ownership="none">
1832 <doc xml:whitespace="preserve">Indicates the currently active send codec. A user can change the active
1833 send codec by calling fs_session_set_send_codec(). The send codec could
1834 also be automatically changed by Farstream. This property is an
1835 #FsCodec. User must free the codec using fs_codec_destroy() when done.
1836 The "farstream-send-codec-changed" message is emitted on the bus when
1837 the value of this property changes.</doc>
1838 <type name="Codec"/>
1839 </property>
1840 <property name="id"
1841 writable="1"
1842 construct-only="1"
1843 transfer-ownership="none">
1844 <doc xml:whitespace="preserve">The ID of the session, the first number of the pads linked to this session
1845 will be this id</doc>
1846 <type name="guint"/>
1847 </property>
1848 <property name="media-type"
1849 writable="1"
1850 construct-only="1"
1851 transfer-ownership="none">
1852 <doc xml:whitespace="preserve">The media-type of the session. This is either Audio, Video or both.
1853 This is a constructor parameter that cannot be changed.</doc>
1854 <type name="MediaType"/>
1855 </property>
1856 <property name="sink-pad" transfer-ownership="none">
1857 <doc xml:whitespace="preserve">The Gstreamer sink pad that must be used to send media data on this
1858 session. User must unref this GstPad when done with it.</doc>
1859 <type name="Gst.Pad"/>
1860 </property>
1861 <property name="tos" writable="1" transfer-ownership="none">
1862 <doc xml:whitespace="preserve">Sets the IP ToS field (and if possible the IPv6 TCLASS field</doc>
1863 <type name="guint"/>
1864 </property>
1865 <field name="parent">
1866 <type name="Gst.Object" c:type="GstObject"/>
1867 </field>
1868 <field name="priv" readable="0" private="1">
1869 <type name="SessionPrivate" c:type="FsSessionPrivate*"/>
1870 </field>
1871 <field name="_padding" readable="0" private="1">
1872 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
1873 <type name="gpointer" c:type="gpointer"/>
1874 </array>
1875 </field>
1876 <glib:signal name="error" when="last">
1877 <doc xml:whitespace="preserve">This signal is emitted in any error condition, it can be emitted on any
1878 thread. Applications should listen to the GstBus for errors.</doc>
1879 <return-value transfer-ownership="none">
1880 <type name="none"/>
1881 </return-value>
1882 <parameters>
1883 <parameter name="object" transfer-ownership="none">
1884 <doc xml:whitespace="preserve">The #Gobject that emitted the signal</doc>
1885 <type name="GObject.Object"/>
1886 </parameter>
1887 <parameter name="error_no" transfer-ownership="none">
1888 <doc xml:whitespace="preserve">The number of the error</doc>
1889 <type name="Error"/>
1890 </parameter>
1891 <parameter name="error_msg" transfer-ownership="none">
1892 <doc xml:whitespace="preserve">Error message</doc>
1893 <type name="utf8"/>
1894 </parameter>
1895 </parameters>
1896 </glib:signal>
1897 </class>
1898 <record name="SessionClass"
1899 c:type="FsSessionClass"
1900 glib:is-gtype-struct-for="Session">
1901 <doc xml:whitespace="preserve">You must override at least new_stream in a subclass.</doc>
1902 <field name="parent_class">
1903 <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
1904 </field>
1905 <field name="new_stream">
1906 <callback name="new_stream" throws="1">
1907 <return-value transfer-ownership="full">
1908 <doc xml:whitespace="preserve">the new #FsStream that has been created.</doc>
1909 <type name="Stream" c:type="FsStream*"/>
1910 </return-value>
1911 <parameters>
1912 <parameter name="session" transfer-ownership="none">
1913 <type name="Session" c:type="FsSession*"/>
1914 </parameter>
1915 <parameter name="participant" transfer-ownership="none">
1916 <doc xml:whitespace="preserve">#FsParticipant of a participant for the new stream</doc>
1917 <type name="Participant" c:type="FsParticipant*"/>
1918 </parameter>
1919 <parameter name="direction" transfer-ownership="none">
1920 <doc xml:whitespace="preserve">#FsStreamDirection describing the direction of the new stream that will be created for this participant</doc>
1921 <type name="StreamDirection" c:type="FsStreamDirection"/>
1922 </parameter>
1923 </parameters>
1924 </callback>
1925 </field>
1926 <field name="start_telephony_event">
1927 <callback name="start_telephony_event">
1928 <return-value transfer-ownership="none">
1929 <doc xml:whitespace="preserve">%TRUE if sucessful, it can return %FALSE if the #FsStream</doc>
1930 <type name="gboolean" c:type="gboolean"/>
1931 </return-value>
1932 <parameters>
1933 <parameter name="session" transfer-ownership="none">
1934 <type name="Session" c:type="FsSession*"/>
1935 </parameter>
1936 <parameter name="event" transfer-ownership="none">
1937 <doc xml:whitespace="preserve">A #FsStreamDTMFEvent or another number defined at http://www.iana.org/assignments/audio-telephone-event-registry</doc>
1938 <type name="guint8" c:type="guint8"/>
1939 </parameter>
1940 <parameter name="volume" transfer-ownership="none">
1941 <doc xml:whitespace="preserve">The volume in dBm0 without the negative sign. Should be between 0 and 36. Higher values mean lower volume</doc>
1942 <type name="guint8" c:type="guint8"/>
1943 </parameter>
1944 </parameters>
1945 </callback>
1946 </field>
1947 <field name="stop_telephony_event">
1948 <callback name="stop_telephony_event">
1949 <return-value transfer-ownership="none">
1950 <doc xml:whitespace="preserve">%TRUE if sucessful, it can return %FALSE if the #FsSession</doc>
1951 <type name="gboolean" c:type="gboolean"/>
1952 </return-value>
1953 <parameters>
1954 <parameter name="session" transfer-ownership="none">
1955 <type name="Session" c:type="FsSession*"/>
1956 </parameter>
1957 </parameters>
1958 </callback>
1959 </field>
1960 <field name="set_send_codec">
1961 <callback name="set_send_codec" throws="1">
1962 <return-value transfer-ownership="none">
1963 <doc xml:whitespace="preserve">%FALSE if the send codec couldn't be set.</doc>
1964 <type name="gboolean" c:type="gboolean"/>
1965 </return-value>
1966 <parameters>
1967 <parameter name="session" transfer-ownership="none">
1968 <type name="Session" c:type="FsSession*"/>
1969 </parameter>
1970 <parameter name="send_codec" transfer-ownership="none">
1971 <doc xml:whitespace="preserve">a #FsCodec representing the codec to send</doc>
1972 <type name="Codec" c:type="FsCodec*"/>
1973 </parameter>
1974 </parameters>
1975 </callback>
1976 </field>
1977 <field name="set_codec_preferences">
1978 <callback name="set_codec_preferences" throws="1">
1979 <return-value transfer-ownership="none">
1980 <doc xml:whitespace="preserve">%TRUE on success, %FALSE on error.</doc>
1981 <type name="gboolean" c:type="gboolean"/>
1982 </return-value>
1983 <parameters>
1984 <parameter name="session" transfer-ownership="none">
1985 <type name="Session" c:type="FsSession*"/>
1986 </parameter>
1987 <parameter name="codec_preferences" transfer-ownership="none">
1988 <doc xml:whitespace="preserve">a #GList of #FsCodec with the desired configuration</doc>
1989 <type name="GLib.List" c:type="GList*">
1990 <type name="Codec"/>
1991 </type>
1992 </parameter>
1993 </parameters>
1994 </callback>
1995 </field>
1996 <field name="list_transmitters">
1997 <callback name="list_transmitters">
1998 <return-value transfer-ownership="full">
1999 <doc xml:whitespace="preserve">a newly-allocagted %NULL terminated array of</doc>
2000 <array c:type="gchar**">
2001 <type name="utf8"/>
2002 </array>
2003 </return-value>
2004 <parameters>
2005 <parameter name="session" transfer-ownership="none">
2006 <type name="Session" c:type="FsSession*"/>
2007 </parameter>
2008 </parameters>
2009 </callback>
2010 </field>
2011 <field name="get_stream_transmitter_type">
2012 <callback name="get_stream_transmitter_type">
2013 <return-value transfer-ownership="none">
2014 <doc xml:whitespace="preserve">The #GType of the stream transmitter</doc>
2015 <type name="GType" c:type="GType"/>
2016 </return-value>
2017 <parameters>
2018 <parameter name="session" transfer-ownership="none">
2019 <type name="Session" c:type="FsSession*"/>
2020 </parameter>
2021 <parameter name="transmitter" transfer-ownership="none">
2022 <doc xml:whitespace="preserve">The name of the transmitter</doc>
2023 <type name="utf8" c:type="gchar*"/>
2024 </parameter>
2025 </parameters>
2026 </callback>
2027 </field>
2028 <field name="codecs_need_resend">
2029 <callback name="codecs_need_resend">
2030 <return-value transfer-ownership="full">
2031 <doc xml:whitespace="preserve">A new #GList of</doc>
2032 <type name="GLib.List" c:type="GList*">
2033 <type name="Codec"/>
2034 </type>
2035 </return-value>
2036 <parameters>
2037 <parameter name="session" transfer-ownership="none">
2038 <type name="Session" c:type="FsSession*"/>
2039 </parameter>
2040 <parameter name="old_codecs" transfer-ownership="none">
2041 <doc xml:whitespace="preserve"> Codecs previously retrieved from the #FsSession:codecs property</doc>
2042 <type name="GLib.List" c:type="GList*">
2043 <type name="Codec"/>
2044 </type>
2045 </parameter>
2046 <parameter name="new_codecs" transfer-ownership="none">
2047 <doc xml:whitespace="preserve"> Codecs recently retrieved from the #FsSession:codecs property</doc>
2048 <type name="GLib.List" c:type="GList*">
2049 <type name="Codec"/>
2050 </type>
2051 </parameter>
2052 </parameters>
2053 </callback>
2054 </field>
2055 <field name="_padding" readable="0" private="1">
2056 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
2057 <type name="gpointer" c:type="gpointer"/>
2058 </array>
2059 </field>
2060 </record>
2061 <record name="SessionPrivate" c:type="FsSessionPrivate" disguised="1">
2062 </record>
2063 <class name="Stream"
2064 c:symbol-prefix="stream"
2065 c:type="FsStream"
2066 parent="Gst.Object"
2067 abstract="1"
2068 glib:type-name="FsStream"
2069 glib:get-type="fs_stream_get_type"
2070 glib:type-struct="StreamClass">
2071 <doc xml:whitespace="preserve">All members are private, access them using methods and properties</doc>
2072 <virtual-method name="add_id" invoker="add_id">
2073 <doc xml:whitespace="preserve">This function is used to add data identifiers that allow the
2074 plugin to recognize packets that are meant for id. For example, in RTP,
2075 one would set the SSRCs that are expected.
2076
2077 Depending on the protocol, one may be able to add more than one ID
2078 to a stream (in RTP you can have multiple SSRCs in a stream).
2079 If a protocol supports only one id, adding a new one will overwrite it.
2080 If an ID was already set on a stream, adding it to another stream will
2081 override the previdous decision.
2082
2083 For most protocols, calling this function is optional as the incoming data
2084 can be matched with a stream by its source IP address. This is mostly useful
2085 if one is using multicast or is behind a muxer server.</doc>
2086 <return-value transfer-ownership="none">
2087 <type name="none" c:type="void"/>
2088 </return-value>
2089 <parameters>
2090 <parameter name="id" transfer-ownership="none">
2091 <doc xml:whitespace="preserve">The id to add to the stream</doc>
2092 <type name="guint" c:type="guint"/>
2093 </parameter>
2094 </parameters>
2095 </virtual-method>
2096 <virtual-method name="add_remote_candidates"
2097 invoker="add_remote_candidates"
2098 throws="1">
2099 <doc xml:whitespace="preserve">This function adds remote candidates. Any new candidates are
2100 added to the list. The candidates will be used to establish a connection
2101 with the peer. A copy will be made so the user must free the
2102 passed candidate using fs_candidate_destroy() when done.</doc>
2103 <return-value transfer-ownership="none">
2104 <doc xml:whitespace="preserve">TRUE if the candidate was valid, FALSE otherwise</doc>
2105 <type name="gboolean" c:type="gboolean"/>
2106 </return-value>
2107 <parameters>
2108 <parameter name="candidates" transfer-ownership="none">
2109 <doc xml:whitespace="preserve">an #GList of #FsCandidate representing the remote candidates</doc>
2110 <type name="GLib.List" c:type="GList*">
2111 <type name="Candidate"/>
2112 </type>
2113 </parameter>
2114 </parameters>
2115 </virtual-method>
2116 <virtual-method name="force_remote_candidates"
2117 invoker="force_remote_candidates"
2118 throws="1">
2119 <doc xml:whitespace="preserve">This function forces data to be sent immediately to the selected remote
2120 candidate, by-passing any connectivity checks. There should be at most
2121 one candidate per component.</doc>
2122 <return-value transfer-ownership="none">
2123 <doc xml:whitespace="preserve">%TRUE if the candidates could be forced, %FALSE otherwise</doc>
2124 <type name="gboolean" c:type="gboolean"/>
2125 </return-value>
2126 <parameters>
2127 <parameter name="remote_candidates" transfer-ownership="none">
2128 <doc xml:whitespace="preserve"> a #GList of #FsCandidate to force</doc>
2129 <type name="GLib.List" c:type="GList*">
2130 <type name="Candidate"/>
2131 </type>
2132 </parameter>
2133 </parameters>
2134 </virtual-method>
2135 <virtual-method name="set_remote_codecs"
2136 invoker="set_remote_codecs"
2137 throws="1">
2138 <doc xml:whitespace="preserve">This function will set the list of remote codecs for this stream. If
2139 the given remote codecs couldn't be negotiated with the list of local
2140 codecs or already negotiated codecs for the corresponding #FsSession, @error
2141 will be set and %FALSE will be returned. The @remote_codecs list will be
2142 copied so it must be free'd using fs_codec_list_destroy() when done.</doc>
2143 <return-value transfer-ownership="none">
2144 <doc xml:whitespace="preserve">%FALSE if the remote codecs couldn't be set.</doc>
2145 <type name="gboolean" c:type="gboolean"/>
2146 </return-value>
2147 <parameters>
2148 <parameter name="remote_codecs" transfer-ownership="none">
2149 <doc xml:whitespace="preserve">a #GList of #FsCodec representing the remote codecs</doc>
2150 <type name="GLib.List" c:type="GList*">
2151 <type name="Codec"/>
2152 </type>
2153 </parameter>
2154 </parameters>
2155 </virtual-method>
2156 <virtual-method name="set_transmitter"
2157 invoker="set_transmitter"
2158 throws="1">
2159 <doc xml:whitespace="preserve">Set the transmitter to use for this stream. This function will only succeed
2160 once.
2161
2162 The parameters correspond to the varios GObject properties of the
2163 selected stream transmitter.</doc>
2164 <return-value transfer-ownership="none">
2165 <doc xml:whitespace="preserve">%TRUE if the transmitter could be set, %FALSE otherwise</doc>
2166 <type name="gboolean" c:type="gboolean"/>
2167 </return-value>
2168 <parameters>
2169 <parameter name="transmitter" transfer-ownership="none">
2170 <doc xml:whitespace="preserve">Name of the type of transmitter to use for this stream</doc>
2171 <type name="utf8" c:type="gchar*"/>
2172 </parameter>
2173 <parameter name="stream_transmitter_parameters"
2174 transfer-ownership="none">
2175 <type name="GObject.Parameter" c:type="GParameter*"/>
2176 </parameter>
2177 <parameter name="stream_transmitter_n_parameters"
2178 transfer-ownership="none">
2179 <doc xml:whitespace="preserve">Number of parametrs passed to the stream transmitter (array length=stream_transmitter_n_parameters) (allow-none): an array of n_parameters #GParameter struct that will be passed to the newly-create #FsStreamTransmitter</doc>
2180 <type name="guint" c:type="guint"/>
2181 </parameter>
2182 </parameters>
2183 </virtual-method>
2184 <method name="add_id" c:identifier="fs_stream_add_id">
2185 <doc xml:whitespace="preserve">This function is used to add data identifiers that allow the
2186 plugin to recognize packets that are meant for id. For example, in RTP,
2187 one would set the SSRCs that are expected.
2188
2189 Depending on the protocol, one may be able to add more than one ID
2190 to a stream (in RTP you can have multiple SSRCs in a stream).
2191 If a protocol supports only one id, adding a new one will overwrite it.
2192 If an ID was already set on a stream, adding it to another stream will
2193 override the previdous decision.
2194
2195 For most protocols, calling this function is optional as the incoming data
2196 can be matched with a stream by its source IP address. This is mostly useful
2197 if one is using multicast or is behind a muxer server.</doc>
2198 <return-value transfer-ownership="none">
2199 <type name="none" c:type="void"/>
2200 </return-value>
2201 <parameters>
2202 <parameter name="id" transfer-ownership="none">
2203 <doc xml:whitespace="preserve">The id to add to the stream</doc>
2204 <type name="guint" c:type="guint"/>
2205 </parameter>
2206 </parameters>
2207 </method>
2208 <method name="add_remote_candidates"
2209 c:identifier="fs_stream_add_remote_candidates"
2210 throws="1">
2211 <doc xml:whitespace="preserve">This function adds remote candidates. Any new candidates are
2212 added to the list. The candidates will be used to establish a connection
2213 with the peer. A copy will be made so the user must free the
2214 passed candidate using fs_candidate_destroy() when done.</doc>
2215 <return-value transfer-ownership="none">
2216 <doc xml:whitespace="preserve">TRUE if the candidate was valid, FALSE otherwise</doc>
2217 <type name="gboolean" c:type="gboolean"/>
2218 </return-value>
2219 <parameters>
2220 <parameter name="candidates" transfer-ownership="none">
2221 <doc xml:whitespace="preserve">an #GList of #FsCandidate representing the remote candidates</doc>
2222 <type name="GLib.List" c:type="GList*">
2223 <type name="Candidate"/>
2224 </type>
2225 </parameter>
2226 </parameters>
2227 </method>
2228 <method name="destroy" c:identifier="fs_stream_destroy">
2229 <doc xml:whitespace="preserve">This will cause the stream to remove all links to other objects and to
2230 remove itself from the #FsSession. Once a #FsStream has been destroyed, it
2231 can not be used anymore.
2232
2233 It is strongly recommended to call this function from the main thread because
2234 releasing the application's reference to a stream.</doc>
2235 <return-value transfer-ownership="none">
2236 <type name="none" c:type="void"/>
2237 </return-value>
2238 </method>
2239 <method name="emit_error" c:identifier="fs_stream_emit_error">
2240 <doc xml:whitespace="preserve">This function emits the #FsStream::error" signal, it should only be
2241 called by subclasses.</doc>
2242 <return-value transfer-ownership="none">
2243 <type name="none" c:type="void"/>
2244 </return-value>
2245 <parameters>
2246 <parameter name="error_no" transfer-ownership="none">
2247 <doc xml:whitespace="preserve">The number of the error</doc>
2248 <type name="gint" c:type="gint"/>
2249 </parameter>
2250 <parameter name="error_msg" transfer-ownership="none">
2251 <doc xml:whitespace="preserve">Error message to be displayed to user</doc>
2252 <type name="utf8" c:type="gchar*"/>
2253 </parameter>
2254 </parameters>
2255 </method>
2256 <method name="emit_src_pad_added"
2257 c:identifier="fs_stream_emit_src_pad_added">
2258 <doc xml:whitespace="preserve">Emits the #FsStream::src-pad-added" signal, it should only be
2259 called by subclasses.</doc>
2260 <return-value transfer-ownership="none">
2261 <type name="none" c:type="void"/>
2262 </return-value>
2263 <parameters>
2264 <parameter name="pad" transfer-ownership="none">
2265 <doc xml:whitespace="preserve">the #GstPad that this #FsStream has created</doc>
2266 <type name="Gst.Pad" c:type="GstPad*"/>
2267 </parameter>
2268 <parameter name="codec" transfer-ownership="none">
2269 <doc xml:whitespace="preserve">The #FsCodec for this pad</doc>
2270 <type name="Codec" c:type="FsCodec*"/>
2271 </parameter>
2272 </parameters>
2273 </method>
2274 <method name="force_remote_candidates"
2275 c:identifier="fs_stream_force_remote_candidates"
2276 throws="1">
2277 <doc xml:whitespace="preserve">This function forces data to be sent immediately to the selected remote
2278 candidate, by-passing any connectivity checks. There should be at most
2279 one candidate per component.</doc>
2280 <return-value transfer-ownership="none">
2281 <doc xml:whitespace="preserve">%TRUE if the candidates could be forced, %FALSE otherwise</doc>
2282 <type name="gboolean" c:type="gboolean"/>
2283 </return-value>
2284 <parameters>
2285 <parameter name="remote_candidates" transfer-ownership="none">
2286 <doc xml:whitespace="preserve"> a #GList of #FsCandidate to force</doc>
2287 <type name="GLib.List" c:type="GList*">
2288 <type name="Candidate"/>
2289 </type>
2290 </parameter>
2291 </parameters>
2292 </method>
2293 <method name="iterate_src_pads"
2294 c:identifier="fs_stream_iterate_src_pads"
2295 introspectable="0">
2296 <doc xml:whitespace="preserve">Creates a #GstIterator that can be used to iterate the src pads of this
2297 stream. These are the pads that were announced by #FsStream:src-pad-added
2298 and are still valid.</doc>
2299 <return-value transfer-ownership="full">
2300 <doc xml:whitespace="preserve">The #GstIterator</doc>
2301 <type name="Gst.Iterator" c:type="GstIterator*"/>
2302 </return-value>
2303 </method>
2304 <method name="parse_component_state_changed"
2305 c:identifier="fs_stream_parse_component_state_changed">
2306 <doc xml:whitespace="preserve">Parses a "farstream-component-state-changed" message and checks if it matches
2307 the @stream parameters.</doc>
2308 <return-value transfer-ownership="none">
2309 <doc xml:whitespace="preserve">%TRUE if the message matches the stream and is valid.</doc>
2310 <type name="gboolean" c:type="gboolean"/>
2311 </return-value>
2312 <parameters>
2313 <parameter name="message" transfer-ownership="none">
2314 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
2315 <type name="Gst.Message" c:type="GstMessage*"/>
2316 </parameter>
2317 <parameter name="component"
2318 direction="out"
2319 caller-allocates="0"
2320 transfer-ownership="full">
2321 <doc xml:whitespace="preserve">Returns the component from the #GstMessage if not %NULL</doc>
2322 <type name="guint" c:type="guint*"/>
2323 </parameter>
2324 <parameter name="state"
2325 direction="out"
2326 caller-allocates="0"
2327 transfer-ownership="full">
2328 <doc xml:whitespace="preserve">Returns the #FsStreamState from the #GstMessage if not %NULL</doc>
2329 <type name="StreamState" c:type="FsStreamState*"/>
2330 </parameter>
2331 </parameters>
2332 </method>
2333 <method name="parse_local_candidates_prepared"
2334 c:identifier="fs_stream_parse_local_candidates_prepared">
2335 <doc xml:whitespace="preserve">Parses a "farstream-local-candidates-prepared" message and checks if it matches
2336 the @stream parameters.</doc>
2337 <return-value transfer-ownership="none">
2338 <doc xml:whitespace="preserve">%TRUE if the message matches the stream and is valid.</doc>
2339 <type name="gboolean" c:type="gboolean"/>
2340 </return-value>
2341 <parameters>
2342 <parameter name="message" transfer-ownership="none">
2343 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
2344 <type name="Gst.Message" c:type="GstMessage*"/>
2345 </parameter>
2346 </parameters>
2347 </method>
2348 <method name="parse_new_active_candidate_pair"
2349 c:identifier="fs_stream_parse_new_active_candidate_pair">
2350 <doc xml:whitespace="preserve">Parses a "farstream-new-active-candidate-pair" message and checks
2351 if it matches the @stream parameters.</doc>
2352 <return-value transfer-ownership="none">
2353 <doc xml:whitespace="preserve">%TRUE if the message matches the stream and is valid.</doc>
2354 <type name="gboolean" c:type="gboolean"/>
2355 </return-value>
2356 <parameters>
2357 <parameter name="message" transfer-ownership="none">
2358 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
2359 <type name="Gst.Message" c:type="GstMessage*"/>
2360 </parameter>
2361 <parameter name="local_candidate"
2362 direction="out"
2363 caller-allocates="0"
2364 transfer-ownership="none">
2365 <doc xml:whitespace="preserve">Returns the local #FsCandidate in the message if not %NULL.</doc>
2366 <type name="Candidate" c:type="FsCandidate**"/>
2367 </parameter>
2368 <parameter name="remote_candidate"
2369 direction="out"
2370 caller-allocates="0"
2371 transfer-ownership="none">
2372 <doc xml:whitespace="preserve">Returns the remote #FsCandidate in the message if not %NULL.</doc>
2373 <type name="Candidate" c:type="FsCandidate**"/>
2374 </parameter>
2375 </parameters>
2376 </method>
2377 <method name="parse_new_local_candidate"
2378 c:identifier="fs_stream_parse_new_local_candidate">
2379 <doc xml:whitespace="preserve">Parses a "farstream-new-local-candidate" message and checks if it matches
2380 the @stream parameters.</doc>
2381 <return-value transfer-ownership="none">
2382 <doc xml:whitespace="preserve">%TRUE if the message matches the stream and is valid.</doc>
2383 <type name="gboolean" c:type="gboolean"/>
2384 </return-value>
2385 <parameters>
2386 <parameter name="message" transfer-ownership="none">
2387 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
2388 <type name="Gst.Message" c:type="GstMessage*"/>
2389 </parameter>
2390 <parameter name="candidate"
2391 direction="out"
2392 caller-allocates="0"
2393 transfer-ownership="none">
2394 <doc xml:whitespace="preserve">Returns the #FsCandidate in the message if not %NULL.</doc>
2395 <type name="Candidate" c:type="FsCandidate**"/>
2396 </parameter>
2397 </parameters>
2398 </method>
2399 <method name="parse_recv_codecs_changed"
2400 c:identifier="fs_stream_parse_recv_codecs_changed">
2401 <doc xml:whitespace="preserve">Parses a "farstream-recv-codecs-changed" message and checks if it matches
2402 the @stream parameters.</doc>
2403 <return-value transfer-ownership="none">
2404 <doc xml:whitespace="preserve">%TRUE if the message matches the stream and is valid.</doc>
2405 <type name="gboolean" c:type="gboolean"/>
2406 </return-value>
2407 <parameters>
2408 <parameter name="message" transfer-ownership="none">
2409 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
2410 <type name="Gst.Message" c:type="GstMessage*"/>
2411 </parameter>
2412 <parameter name="codecs"
2413 direction="out"
2414 caller-allocates="0"
2415 transfer-ownership="none">
2416 <doc xml:whitespace="preserve"> Returns a #GList of #FsCodec of the message if not %NULL</doc>
2417 <type name="GLib.List" c:type="GList**">
2418 <type name="Codec"/>
2419 </type>
2420 </parameter>
2421 </parameters>
2422 </method>
2423 <method name="set_remote_codecs"
2424 c:identifier="fs_stream_set_remote_codecs"
2425 throws="1">
2426 <doc xml:whitespace="preserve">This function will set the list of remote codecs for this stream. If
2427 the given remote codecs couldn't be negotiated with the list of local
2428 codecs or already negotiated codecs for the corresponding #FsSession, @error
2429 will be set and %FALSE will be returned. The @remote_codecs list will be
2430 copied so it must be free'd using fs_codec_list_destroy() when done.</doc>
2431 <return-value transfer-ownership="none">
2432 <doc xml:whitespace="preserve">%FALSE if the remote codecs couldn't be set.</doc>
2433 <type name="gboolean" c:type="gboolean"/>
2434 </return-value>
2435 <parameters>
2436 <parameter name="remote_codecs" transfer-ownership="none">
2437 <doc xml:whitespace="preserve">a #GList of #FsCodec representing the remote codecs</doc>
2438 <type name="GLib.List" c:type="GList*">
2439 <type name="Codec"/>
2440 </type>
2441 </parameter>
2442 </parameters>
2443 </method>
2444 <method name="set_transmitter"
2445 c:identifier="fs_stream_set_transmitter"
2446 throws="1">
2447 <doc xml:whitespace="preserve">Set the transmitter to use for this stream. This function will only succeed
2448 once.
2449
2450 The parameters correspond to the varios GObject properties of the
2451 selected stream transmitter.</doc>
2452 <return-value transfer-ownership="none">
2453 <doc xml:whitespace="preserve">%TRUE if the transmitter could be set, %FALSE otherwise</doc>
2454 <type name="gboolean" c:type="gboolean"/>
2455 </return-value>
2456 <parameters>
2457 <parameter name="transmitter" transfer-ownership="none">
2458 <doc xml:whitespace="preserve">Name of the type of transmitter to use for this stream</doc>
2459 <type name="utf8" c:type="gchar*"/>
2460 </parameter>
2461 <parameter name="stream_transmitter_parameters"
2462 transfer-ownership="none">
2463 <type name="GObject.Parameter" c:type="GParameter*"/>
2464 </parameter>
2465 <parameter name="stream_transmitter_n_parameters"
2466 transfer-ownership="none">
2467 <doc xml:whitespace="preserve">Number of parametrs passed to the stream transmitter (array length=stream_transmitter_n_parameters) (allow-none): an array of n_parameters #GParameter struct that will be passed to the newly-create #FsStreamTransmitter</doc>
2468 <type name="guint" c:type="guint"/>
2469 </parameter>
2470 </parameters>
2471 </method>
2472 <property name="current-recv-codecs"
2473 introspectable="0"
2474 transfer-ownership="full">
2475 <doc xml:whitespace="preserve">This is the list of codecs that have been received by this stream.
2476 The user must free the list if fs_codec_list_destroy().
2477 The "farstream-recv-codecs-changed" message is send on the #GstBus
2478 when the value of this property changes.
2479 It is normally emitted right after #FsStream::src-pad-added
2480 only if that codec was not previously received in this stream, but it can
2481 also be emitted if the pad already exists, but the source material that
2482 will come to it is different.</doc>
2483 <type name="GLib.List(FsCodec)"/>
2484 </property>
2485 <property name="direction"
2486 writable="1"
2487 construct="1"
2488 transfer-ownership="none">
2489 <doc xml:whitespace="preserve">The direction of the stream. This property is set initially as a parameter
2490 to the fs_session_new_stream() function. It can be changed later if
2491 required by setting this property.</doc>
2492 <type name="StreamDirection"/>
2493 </property>
2494 <property name="negotiated-codecs"
2495 introspectable="0"
2496 transfer-ownership="full">
2497 <doc xml:whitespace="preserve">This is the list of negotiatied codecs, it is the same list as the list
2498 of #FsCodec from the parent #FsSession, except that the codec config data
2499 has been replaced with the data from the remote codecs for this stream.
2500 This is the list of #FsCodec used to receive data from this stream.
2501 It is a #GList of #FsCodec.</doc>
2502 <type name="GLib.List(FsCodec)"/>
2503 </property>
2504 <property name="participant"
2505 writable="1"
2506 construct-only="1"
2507 transfer-ownership="none">
2508 <doc xml:whitespace="preserve">The #FsParticipant for this stream. This property is a construct param and
2509 is read-only construction.</doc>
2510 <type name="Participant"/>
2511 </property>
2512 <property name="remote-codecs"
2513 introspectable="0"
2514 transfer-ownership="full">
2515 <doc xml:whitespace="preserve">This is the list of remote codecs for this stream. They must be set by the
2516 user as soon as they are known using fs_stream_set_remote_codecs()
2517 (generally through external signaling). It is a #GList of #FsCodec.</doc>
2518 <type name="GLib.List(FsCodec)"/>
2519 </property>
2520 <property name="session"
2521 writable="1"
2522 construct-only="1"
2523 transfer-ownership="none">
2524 <doc xml:whitespace="preserve">The #FsSession for this stream. This property is a construct param and
2525 is read-only construction.</doc>
2526 <type name="Session"/>
2527 </property>
2528 <field name="parent">
2529 <type name="Gst.Object" c:type="GstObject"/>
2530 </field>
2531 <field name="priv" readable="0" private="1">
2532 <type name="StreamPrivate" c:type="FsStreamPrivate*"/>
2533 </field>
2534 <field name="_padding" readable="0" private="1">
2535 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
2536 <type name="gpointer" c:type="gpointer"/>
2537 </array>
2538 </field>
2539 <glib:signal name="error" when="last">
2540 <doc xml:whitespace="preserve">This signal is emitted in any error condition</doc>
2541 <return-value transfer-ownership="none">
2542 <type name="none"/>
2543 </return-value>
2544 <parameters>
2545 <parameter name="errorno" transfer-ownership="none">
2546 <doc xml:whitespace="preserve">The number of the error</doc>
2547 <type name="Error"/>
2548 </parameter>
2549 <parameter name="error_msg" transfer-ownership="none">
2550 <doc xml:whitespace="preserve">Error message to be displayed to user</doc>
2551 <type name="utf8"/>
2552 </parameter>
2553 </parameters>
2554 </glib:signal>
2555 <glib:signal name="src-pad-added" when="last">
2556 <doc xml:whitespace="preserve">This signal is emitted when a new gst source pad has been created for a
2557 specific codec being received. There will be a different source pad for
2558 each codec that is received. The user must ref the #GstPad if he wants to
2559 keep it. The user should not modify the #FsCodec and must copy it if he
2560 wants to use it outside the callback scope.
2561
2562 This signal is not emitted on the main thread, but on GStreamer's streaming
2563 thread!</doc>
2564 <return-value transfer-ownership="none">
2565 <type name="none"/>
2566 </return-value>
2567 <parameters>
2568 <parameter name="pad" transfer-ownership="none">
2569 <doc xml:whitespace="preserve">#GstPad of the new source pad</doc>
2570 <type name="Gst.Pad"/>
2571 </parameter>
2572 <parameter name="codec" transfer-ownership="none">
2573 <doc xml:whitespace="preserve">#FsCodec of the codec being received on the new source pad</doc>
2574 <type name="Codec"/>
2575 </parameter>
2576 </parameters>
2577 </glib:signal>
2578 </class>
2579 <record name="StreamClass"
2580 c:type="FsStreamClass"
2581 glib:is-gtype-struct-for="Stream">
2582 <doc xml:whitespace="preserve">You must override add_remote_candidate in a subclass.
2583 If you have to negotiate codecs, then you must override set_remote_codecs too</doc>
2584 <field name="parent_class">
2585 <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
2586 </field>
2587 <field name="add_remote_candidates">
2588 <callback name="add_remote_candidates" throws="1">
2589 <return-value transfer-ownership="none">
2590 <doc xml:whitespace="preserve">TRUE if the candidate was valid, FALSE otherwise</doc>
2591 <type name="gboolean" c:type="gboolean"/>
2592 </return-value>
2593 <parameters>
2594 <parameter name="stream" transfer-ownership="none">
2595 <type name="Stream" c:type="FsStream*"/>
2596 </parameter>
2597 <parameter name="candidates" transfer-ownership="none">
2598 <doc xml:whitespace="preserve">an #GList of #FsCandidate representing the remote candidates</doc>
2599 <type name="GLib.List" c:type="GList*">
2600 <type name="Candidate"/>
2601 </type>
2602 </parameter>
2603 </parameters>
2604 </callback>
2605 </field>
2606 <field name="force_remote_candidates">
2607 <callback name="force_remote_candidates" throws="1">
2608 <return-value transfer-ownership="none">
2609 <doc xml:whitespace="preserve">%TRUE if the candidates could be forced, %FALSE otherwise</doc>
2610 <type name="gboolean" c:type="gboolean"/>
2611 </return-value>
2612 <parameters>
2613 <parameter name="stream" transfer-ownership="none">
2614 <type name="Stream" c:type="FsStream*"/>
2615 </parameter>
2616 <parameter name="remote_candidates" transfer-ownership="none">
2617 <doc xml:whitespace="preserve"> a #GList of #FsCandidate to force</doc>
2618 <type name="GLib.List" c:type="GList*">
2619 <type name="Candidate"/>
2620 </type>
2621 </parameter>
2622 </parameters>
2623 </callback>
2624 </field>
2625 <field name="set_remote_codecs">
2626 <callback name="set_remote_codecs" throws="1">
2627 <return-value transfer-ownership="none">
2628 <doc xml:whitespace="preserve">%FALSE if the remote codecs couldn't be set.</doc>
2629 <type name="gboolean" c:type="gboolean"/>
2630 </return-value>
2631 <parameters>
2632 <parameter name="stream" transfer-ownership="none">
2633 <type name="Stream" c:type="FsStream*"/>
2634 </parameter>
2635 <parameter name="remote_codecs" transfer-ownership="none">
2636 <doc xml:whitespace="preserve">a #GList of #FsCodec representing the remote codecs</doc>
2637 <type name="GLib.List" c:type="GList*">
2638 <type name="Codec"/>
2639 </type>
2640 </parameter>
2641 </parameters>
2642 </callback>
2643 </field>
2644 <field name="add_id">
2645 <callback name="add_id">
2646 <return-value transfer-ownership="none">
2647 <type name="none" c:type="void"/>
2648 </return-value>
2649 <parameters>
2650 <parameter name="stream" transfer-ownership="none">
2651 <type name="Stream" c:type="FsStream*"/>
2652 </parameter>
2653 <parameter name="id" transfer-ownership="none">
2654 <doc xml:whitespace="preserve">The id to add to the stream</doc>
2655 <type name="guint" c:type="guint"/>
2656 </parameter>
2657 </parameters>
2658 </callback>
2659 </field>
2660 <field name="set_transmitter">
2661 <callback name="set_transmitter" throws="1">
2662 <return-value transfer-ownership="none">
2663 <doc xml:whitespace="preserve">%TRUE if the transmitter could be set, %FALSE otherwise</doc>
2664 <type name="gboolean" c:type="gboolean"/>
2665 </return-value>
2666 <parameters>
2667 <parameter name="stream" transfer-ownership="none">
2668 <type name="Stream" c:type="FsStream*"/>
2669 </parameter>
2670 <parameter name="transmitter" transfer-ownership="none">
2671 <doc xml:whitespace="preserve">Name of the type of transmitter to use for this stream</doc>
2672 <type name="utf8" c:type="gchar*"/>
2673 </parameter>
2674 <parameter name="stream_transmitter_parameters"
2675 transfer-ownership="none">
2676 <type name="GObject.Parameter" c:type="GParameter*"/>
2677 </parameter>
2678 <parameter name="stream_transmitter_n_parameters"
2679 transfer-ownership="none">
2680 <doc xml:whitespace="preserve">Number of parametrs passed to the stream transmitter (array length=stream_transmitter_n_parameters) (allow-none): an array of n_parameters #GParameter struct that will be passed to the newly-create #FsStreamTransmitter</doc>
2681 <type name="guint" c:type="guint"/>
2682 </parameter>
2683 </parameters>
2684 </callback>
2685 </field>
2686 <field name="_padding" readable="0" private="1">
2687 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
2688 <type name="gpointer" c:type="gpointer"/>
2689 </array>
2690 </field>
2691 </record>
2692 <bitfield name="StreamDirection"
2693 glib:type-name="FsStreamDirection"
2694 glib:get-type="fs_stream_direction_get_type"
2695 c:type="FsStreamDirection">
2696 <doc xml:whitespace="preserve">An enum for specifying the direction of a stream</doc>
2697 <member name="none"
2698 value="0"
2699 c:identifier="FS_DIRECTION_NONE"
2700 glib:nick="none"/>
2701 <member name="send"
2702 value="1"
2703 c:identifier="FS_DIRECTION_SEND"
2704 glib:nick="send"/>
2705 <member name="recv"
2706 value="2"
2707 c:identifier="FS_DIRECTION_RECV"
2708 glib:nick="recv"/>
2709 <member name="both"
2710 value="3"
2711 c:identifier="FS_DIRECTION_BOTH"
2712 glib:nick="both"/>
2713 </bitfield>
2714 <record name="StreamPrivate" c:type="FsStreamPrivate" disguised="1">
2715 </record>
2716 <enumeration name="StreamState"
2717 glib:type-name="FsStreamState"
2718 glib:get-type="fs_stream_state_get_type"
2719 c:type="FsStreamState">
2720 <doc xml:whitespace="preserve">These are the possible states of a stream, a simple multicast stream
2721 could only be in "disconnected" or "ready" state.
2722 An stream using an ICE transmitter would use all of these.</doc>
2723 <member name="failed"
2724 value="0"
2725 c:identifier="FS_STREAM_STATE_FAILED"
2726 glib:nick="failed"/>
2727 <member name="disconnected"
2728 value="1"
2729 c:identifier="FS_STREAM_STATE_DISCONNECTED"
2730 glib:nick="disconnected"/>
2731 <member name="gathering"
2732 value="2"
2733 c:identifier="FS_STREAM_STATE_GATHERING"
2734 glib:nick="gathering"/>
2735 <member name="connecting"
2736 value="3"
2737 c:identifier="FS_STREAM_STATE_CONNECTING"
2738 glib:nick="connecting"/>
2739 <member name="connected"
2740 value="4"
2741 c:identifier="FS_STREAM_STATE_CONNECTED"
2742 glib:nick="connected"/>
2743 <member name="ready"
2744 value="5"
2745 c:identifier="FS_STREAM_STATE_READY"
2746 glib:nick="ready"/>
2747 </enumeration>
2748 <class name="StreamTransmitter"
2749 c:symbol-prefix="stream_transmitter"
2750 c:type="FsStreamTransmitter"
2751 parent="Gst.Object"
2752 abstract="1"
2753 glib:type-name="FsStreamTransmitter"
2754 glib:get-type="fs_stream_transmitter_get_type"
2755 glib:type-struct="StreamTransmitterClass">
2756 <doc xml:whitespace="preserve">All members are private, access them using methods and properties</doc>
2757 <virtual-method name="add_remote_candidates"
2758 invoker="add_remote_candidates"
2759 throws="1">
2760 <doc xml:whitespace="preserve">This function is used to add remote candidates to the transmitter
2761
2762 (and the #GError will be set)</doc>
2763 <return-value transfer-ownership="none">
2764 <doc xml:whitespace="preserve">TRUE of the candidate could be added, FALSE if it couldnt</doc>
2765 <type name="gboolean" c:type="gboolean"/>
2766 </return-value>
2767 <parameters>
2768 <parameter name="candidates" transfer-ownership="none">
2769 <doc xml:whitespace="preserve">a #GList of the remote candidates</doc>
2770 <type name="GLib.List" c:type="GList*">
2771 <type name="Candidate"/>
2772 </type>
2773 </parameter>
2774 </parameters>
2775 </virtual-method>
2776 <virtual-method name="force_remote_candidates"
2777 invoker="force_remote_candidates"
2778 throws="1">
2779 <doc xml:whitespace="preserve">This function forces data to be sent immediately to the selected remote
2780 candidate, by-passing any connectivity checks. There should be at most
2781 one candidate per component.</doc>
2782 <return-value transfer-ownership="none">
2783 <doc xml:whitespace="preserve">%TRUE if the candidates could be forced, %FALSE otherwise</doc>
2784 <type name="gboolean" c:type="gboolean"/>
2785 </return-value>
2786 <parameters>
2787 <parameter name="remote_candidates" transfer-ownership="none">
2788 <doc xml:whitespace="preserve">a #GList of #FsCandidate to force</doc>
2789 <type name="GLib.List" c:type="GList*">
2790 <type name="Candidate"/>
2791 </type>
2792 </parameter>
2793 </parameters>
2794 </virtual-method>
2795 <virtual-method name="gather_local_candidates"
2796 invoker="gather_local_candidates"
2797 throws="1">
2798 <doc xml:whitespace="preserve">This function tells the transmitter to start gathering local candidates,
2799 signals for new candidates and newly active candidates can be emitted
2800 during the call to this function.</doc>
2801 <return-value transfer-ownership="none">
2802 <doc xml:whitespace="preserve">%TRUE if it succeeds (or is not implemented), %FALSE otherwise</doc>
2803 <type name="gboolean" c:type="gboolean"/>
2804 </return-value>
2805 </virtual-method>
2806 <virtual-method name="stop" invoker="stop">
2807 <doc xml:whitespace="preserve">This functions stops the #FsStreamTransmitter, it must be called before
2808 the last reference is dropped.</doc>
2809 <return-value transfer-ownership="none">
2810 <type name="none" c:type="void"/>
2811 </return-value>
2812 </virtual-method>
2813 <method name="add_remote_candidates"
2814 c:identifier="fs_stream_transmitter_add_remote_candidates"
2815 throws="1">
2816 <doc xml:whitespace="preserve">This function is used to add remote candidates to the transmitter
2817
2818 (and the #GError will be set)</doc>
2819 <return-value transfer-ownership="none">
2820 <doc xml:whitespace="preserve">TRUE of the candidate could be added, FALSE if it couldnt</doc>
2821 <type name="gboolean" c:type="gboolean"/>
2822 </return-value>
2823 <parameters>
2824 <parameter name="candidates" transfer-ownership="none">
2825 <doc xml:whitespace="preserve">a #GList of the remote candidates</doc>
2826 <type name="GLib.List" c:type="GList*">
2827 <type name="Candidate"/>
2828 </type>
2829 </parameter>
2830 </parameters>
2831 </method>
2832 <method name="emit_error"
2833 c:identifier="fs_stream_transmitter_emit_error">
2834 <doc xml:whitespace="preserve">This function emit the "error" signal on a #FsStreamTransmitter, it should
2835 only be called by subclasses.</doc>
2836 <return-value transfer-ownership="none">
2837 <type name="none" c:type="void"/>
2838 </return-value>
2839 <parameters>
2840 <parameter name="error_no" transfer-ownership="none">
2841 <doc xml:whitespace="preserve">The number of the error</doc>
2842 <type name="gint" c:type="gint"/>
2843 </parameter>
2844 <parameter name="error_msg" transfer-ownership="none">
2845 <doc xml:whitespace="preserve">Error message (for the programmer)</doc>
2846 <type name="utf8" c:type="gchar*"/>
2847 </parameter>
2848 </parameters>
2849 </method>
2850 <method name="force_remote_candidates"
2851 c:identifier="fs_stream_transmitter_force_remote_candidates"
2852 throws="1">
2853 <doc xml:whitespace="preserve">This function forces data to be sent immediately to the selected remote
2854 candidate, by-passing any connectivity checks. There should be at most
2855 one candidate per component.</doc>
2856 <return-value transfer-ownership="none">
2857 <doc xml:whitespace="preserve">%TRUE if the candidates could be forced, %FALSE otherwise</doc>
2858 <type name="gboolean" c:type="gboolean"/>
2859 </return-value>
2860 <parameters>
2861 <parameter name="remote_candidates" transfer-ownership="none">
2862 <doc xml:whitespace="preserve">a #GList of #FsCandidate to force</doc>
2863 <type name="GLib.List" c:type="GList*">
2864 <type name="Candidate"/>
2865 </type>
2866 </parameter>
2867 </parameters>
2868 </method>
2869 <method name="gather_local_candidates"
2870 c:identifier="fs_stream_transmitter_gather_local_candidates"
2871 throws="1">
2872 <doc xml:whitespace="preserve">This function tells the transmitter to start gathering local candidates,
2873 signals for new candidates and newly active candidates can be emitted
2874 during the call to this function.</doc>
2875 <return-value transfer-ownership="none">
2876 <doc xml:whitespace="preserve">%TRUE if it succeeds (or is not implemented), %FALSE otherwise</doc>
2877 <type name="gboolean" c:type="gboolean"/>
2878 </return-value>
2879 </method>
2880 <method name="stop" c:identifier="fs_stream_transmitter_stop">
2881 <doc xml:whitespace="preserve">This functions stops the #FsStreamTransmitter, it must be called before
2882 the last reference is dropped.</doc>
2883 <return-value transfer-ownership="none">
2884 <type name="none" c:type="void"/>
2885 </return-value>
2886 </method>
2887 <property name="associate-on-source"
2888 writable="1"
2889 construct-only="1"
2890 transfer-ownership="none">
2891 <doc xml:whitespace="preserve">This tells the stream transmitter to associate incoming data with this
2892 based on the source without looking at the content if possible.</doc>
2893 <type name="gboolean"/>
2894 </property>
2895 <property name="preferred-local-candidates"
2896 writable="1"
2897 construct-only="1"
2898 transfer-ownership="none">
2899 <type name="CandidateList"/>
2900 </property>
2901 <property name="sending" writable="1" transfer-ownership="none">
2902 <doc xml:whitespace="preserve">A network source #GstElement to be used by the #FsSession</doc>
2903 <type name="gboolean"/>
2904 </property>
2905 <field name="parent">
2906 <type name="Gst.Object" c:type="GstObject"/>
2907 </field>
2908 <field name="priv" readable="0" private="1">
2909 <type name="StreamTransmitterPrivate"
2910 c:type="FsStreamTransmitterPrivate*"/>
2911 </field>
2912 <field name="_padding" readable="0" private="1">
2913 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
2914 <type name="gpointer" c:type="gpointer"/>
2915 </array>
2916 </field>
2917 <glib:signal name="error" when="last">
2918 <doc xml:whitespace="preserve">This signal is emitted in any error condition</doc>
2919 <return-value transfer-ownership="none">
2920 <type name="none"/>
2921 </return-value>
2922 <parameters>
2923 <parameter name="errorno" transfer-ownership="none">
2924 <doc xml:whitespace="preserve">The number of the error</doc>
2925 <type name="Error"/>
2926 </parameter>
2927 <parameter name="error_msg" transfer-ownership="none">
2928 <doc xml:whitespace="preserve">Error message (for the programmer)</doc>
2929 <type name="utf8"/>
2930 </parameter>
2931 </parameters>
2932 </glib:signal>
2933 <glib:signal name="known-source-packet-received" when="last">
2934 <doc xml:whitespace="preserve">This signal is emitted when a buffer coming from a confirmed known source
2935 is received.</doc>
2936 <return-value transfer-ownership="none">
2937 <type name="none"/>
2938 </return-value>
2939 <parameters>
2940 <parameter name="component" transfer-ownership="none">
2941 <doc xml:whitespace="preserve">The Component on which this buffer was received</doc>
2942 <type name="guint"/>
2943 </parameter>
2944 <parameter name="buffer" transfer-ownership="none">
2945 <doc xml:whitespace="preserve">the #GstBuffer coming from the known source</doc>
2946 <type name="gpointer"/>
2947 </parameter>
2948 </parameters>
2949 </glib:signal>
2950 <glib:signal name="local-candidates-prepared" when="last">
2951 <doc xml:whitespace="preserve">This signal is emitted when all local candidates have been
2952 prepared, an ICE implementation would send its SDP offer or answer.</doc>
2953 <return-value transfer-ownership="none">
2954 <type name="none"/>
2955 </return-value>
2956 </glib:signal>
2957 <glib:signal name="new-active-candidate-pair" when="last">
2958 <doc xml:whitespace="preserve">This signal is emitted when there is a new active chandidate pair that has
2959 been established. This is specially useful for ICE where the active
2960 candidate pair can change automatically due to network conditions. The user
2961 must not modify the candidates and must copy them if he wants to use them
2962 outside the callback scope.</doc>
2963 <return-value transfer-ownership="none">
2964 <type name="none"/>
2965 </return-value>
2966 <parameters>
2967 <parameter name="local_candidate" transfer-ownership="none">
2968 <doc xml:whitespace="preserve">#FsCandidate of the local candidate being used</doc>
2969 <type name="Candidate"/>
2970 </parameter>
2971 <parameter name="remote_candidate" transfer-ownership="none">
2972 <doc xml:whitespace="preserve">#FsCandidate of the remote candidate being used</doc>
2973 <type name="Candidate"/>
2974 </parameter>
2975 </parameters>
2976 </glib:signal>
2977 <glib:signal name="new-local-candidate" when="last">
2978 <doc xml:whitespace="preserve">This signal is emitted when a new local candidate is discovered.</doc>
2979 <return-value transfer-ownership="none">
2980 <type name="none"/>
2981 </return-value>
2982 <parameters>
2983 <parameter name="local_candidate" transfer-ownership="none">
2984 <doc xml:whitespace="preserve">#FsCandidate of the local candidate</doc>
2985 <type name="Candidate"/>
2986 </parameter>
2987 </parameters>
2988 </glib:signal>
2989 <glib:signal name="state-changed" when="last">
2990 <doc xml:whitespace="preserve">This signal is emitted when the ICE state (or equivalent) of the component
2991 changes</doc>
2992 <return-value transfer-ownership="none">
2993 <type name="none"/>
2994 </return-value>
2995 <parameters>
2996 <parameter name="component" transfer-ownership="none">
2997 <doc xml:whitespace="preserve">the id of the component which state has changed</doc>
2998 <type name="guint"/>
2999 </parameter>
3000 <parameter name="state" transfer-ownership="none">
3001 <doc xml:whitespace="preserve">the new state of the component</doc>
3002 <type name="StreamState"/>
3003 </parameter>
3004 </parameters>
3005 </glib:signal>
3006 </class>
3007 <record name="StreamTransmitterClass"
3008 c:type="FsStreamTransmitterClass"
3009 glib:is-gtype-struct-for="StreamTransmitter">
3010 <doc xml:whitespace="preserve">You must override the add_remote_candidate in a subclass</doc>
3011 <field name="parent_class">
3012 <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
3013 </field>
3014 <field name="add_remote_candidates">
3015 <callback name="add_remote_candidates" throws="1">
3016 <return-value transfer-ownership="none">
3017 <doc xml:whitespace="preserve">TRUE of the candidate could be added, FALSE if it couldnt</doc>
3018 <type name="gboolean" c:type="gboolean"/>
3019 </return-value>
3020 <parameters>
3021 <parameter name="streamtransmitter" transfer-ownership="none">
3022 <type name="StreamTransmitter" c:type="FsStreamTransmitter*"/>
3023 </parameter>
3024 <parameter name="candidates" transfer-ownership="none">
3025 <doc xml:whitespace="preserve">a #GList of the remote candidates</doc>
3026 <type name="GLib.List" c:type="GList*">
3027 <type name="Candidate"/>
3028 </type>
3029 </parameter>
3030 </parameters>
3031 </callback>
3032 </field>
3033 <field name="force_remote_candidates">
3034 <callback name="force_remote_candidates" throws="1">
3035 <return-value transfer-ownership="none">
3036 <doc xml:whitespace="preserve">%TRUE if the candidates could be forced, %FALSE otherwise</doc>
3037 <type name="gboolean" c:type="gboolean"/>
3038 </return-value>
3039 <parameters>
3040 <parameter name="streamtransmitter" transfer-ownership="none">
3041 <type name="StreamTransmitter" c:type="FsStreamTransmitter*"/>
3042 </parameter>
3043 <parameter name="remote_candidates" transfer-ownership="none">
3044 <doc xml:whitespace="preserve">a #GList of #FsCandidate to force</doc>
3045 <type name="GLib.List" c:type="GList*">
3046 <type name="Candidate"/>
3047 </type>
3048 </parameter>
3049 </parameters>
3050 </callback>
3051 </field>
3052 <field name="gather_local_candidates">
3053 <callback name="gather_local_candidates" throws="1">
3054 <return-value transfer-ownership="none">
3055 <doc xml:whitespace="preserve">%TRUE if it succeeds (or is not implemented), %FALSE otherwise</doc>
3056 <type name="gboolean" c:type="gboolean"/>
3057 </return-value>
3058 <parameters>
3059 <parameter name="streamtransmitter" transfer-ownership="none">
3060 <type name="StreamTransmitter" c:type="FsStreamTransmitter*"/>
3061 </parameter>
3062 </parameters>
3063 </callback>
3064 </field>
3065 <field name="stop">
3066 <callback name="stop">
3067 <return-value transfer-ownership="none">
3068 <type name="none" c:type="void"/>
3069 </return-value>
3070 <parameters>
3071 <parameter name="streamtransmitter" transfer-ownership="none">
3072 <type name="StreamTransmitter" c:type="FsStreamTransmitter*"/>
3073 </parameter>
3074 </parameters>
3075 </callback>
3076 </field>
3077 <field name="_padding" readable="0" private="1">
3078 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
3079 <type name="gpointer" c:type="gpointer"/>
3080 </array>
3081 </field>
3082 </record>
3083 <record name="StreamTransmitterPrivate"
3084 c:type="FsStreamTransmitterPrivate"
3085 disguised="1">
3086 </record>
3087 <class name="Transmitter"
3088 c:symbol-prefix="transmitter"
3089 c:type="FsTransmitter"
3090 parent="Gst.Object"
3091 abstract="1"
3092 glib:type-name="FsTransmitter"
3093 glib:get-type="fs_transmitter_get_type"
3094 glib:type-struct="TransmitterClass">
3095 <doc xml:whitespace="preserve">All members are private, access them using methods and properties</doc>
3096 <constructor name="new" c:identifier="fs_transmitter_new" throws="1">
3097 <doc xml:whitespace="preserve">This function creates a new transmitter of the requested type.
3098 It will load the appropriate plugin as required.
3099
3100 (or NULL if there is an error)</doc>
3101 <return-value transfer-ownership="full">
3102 <doc xml:whitespace="preserve">a newly-created #FsTransmitter of the requested type</doc>
3103 <type name="Transmitter" c:type="FsTransmitter*"/>
3104 </return-value>
3105 <parameters>
3106 <parameter name="type" transfer-ownership="none">
3107 <doc xml:whitespace="preserve">The type of transmitter to create</doc>
3108 <type name="utf8" c:type="gchar*"/>
3109 </parameter>
3110 <parameter name="components" transfer-ownership="none">
3111 <doc xml:whitespace="preserve">The number of components to create</doc>
3112 <type name="guint" c:type="guint"/>
3113 </parameter>
3114 <parameter name="tos" transfer-ownership="none">
3115 <doc xml:whitespace="preserve">The Type of Service of the socket, max is 255</doc>
3116 <type name="guint" c:type="guint"/>
3117 </parameter>
3118 </parameters>
3119 </constructor>
3120 <function name="list_available"
3121 c:identifier="fs_transmitter_list_available">
3122 <doc xml:whitespace="preserve">Get the list of all available transmitters
3123
3124 list of all available transmitters or %NULL if there are none. It should
3125 be freed with g_strfreev().</doc>
3126 <return-value transfer-ownership="full">
3127 <doc xml:whitespace="preserve">a newly allocated array of strings containing the</doc>
3128 <array c:type="char**">
3129 <type name="utf8"/>
3130 </array>
3131 </return-value>
3132 </function>
3133 <virtual-method name="get_stream_transmitter_type"
3134 invoker="get_stream_transmitter_type">
3135 <doc xml:whitespace="preserve">This function returns the GObject type for the stream transmitter.
3136 This is meant for bindings that need to introspect the type of arguments
3137 that can be passed to the _new_stream_transmitter.</doc>
3138 <return-value transfer-ownership="none">
3139 <doc xml:whitespace="preserve">the #GType</doc>
3140 <type name="GType" c:type="GType"/>
3141 </return-value>
3142 </virtual-method>
3143 <virtual-method name="new_stream_transmitter"
3144 invoker="new_stream_transmitter"
3145 throws="1">
3146 <doc xml:whitespace="preserve">This function will create a new #FsStreamTransmitter element for a
3147 specific participant for this #FsTransmitter
3148
3149 error</doc>
3150 <return-value transfer-ownership="full">
3151 <doc xml:whitespace="preserve">a new #FsStreamTransmitter, or NULL if there is an</doc>
3152 <type name="StreamTransmitter" c:type="FsStreamTransmitter*"/>
3153 </return-value>
3154 <parameters>
3155 <parameter name="participant" transfer-ownership="none">
3156 <doc xml:whitespace="preserve">the #FsParticipant for which the #FsStream using this new #FsStreamTransmitter is created</doc>
3157 <type name="Participant" c:type="FsParticipant*"/>
3158 </parameter>
3159 <parameter name="n_parameters" transfer-ownership="none">
3160 <doc xml:whitespace="preserve">The number of parameters to pass to the newly created #FsStreamTransmitter</doc>
3161 <type name="guint" c:type="guint"/>
3162 </parameter>
3163 <parameter name="parameters" transfer-ownership="none">
3164 <doc xml:whitespace="preserve">an array of #GParameter</doc>
3165 <type name="GObject.Parameter" c:type="GParameter*"/>
3166 </parameter>
3167 </parameters>
3168 </virtual-method>
3169 <method name="emit_error" c:identifier="fs_transmitter_emit_error">
3170 <doc xml:whitespace="preserve">This function emit the "error" signal on a #FsTransmitter, it should
3171 only be called by subclasses.</doc>
3172 <return-value transfer-ownership="none">
3173 <type name="none" c:type="void"/>
3174 </return-value>
3175 <parameters>
3176 <parameter name="error_no" transfer-ownership="none">
3177 <doc xml:whitespace="preserve">The number of the error</doc>
3178 <type name="gint" c:type="gint"/>
3179 </parameter>
3180 <parameter name="error_msg" transfer-ownership="none">
3181 <doc xml:whitespace="preserve">Error message to be displayed to user</doc>
3182 <type name="utf8" c:type="gchar*"/>
3183 </parameter>
3184 </parameters>
3185 </method>
3186 <method name="get_recvonly_filter"
3187 c:identifier="fs_transmitter_get_recvonly_filter">
3188 <doc xml:whitespace="preserve">Get the filter to add on the send pipeline if sending is disabled.
3189
3190 Only for use by subclasses.
3191
3192 %NULL</doc>
3193 <return-value transfer-ownership="full">
3194 <doc xml:whitespace="preserve">a #GstElement to use as the filter or</doc>
3195 <type name="Gst.Element" c:type="GstElement*"/>
3196 </return-value>
3197 <parameters>
3198 <parameter name="component" transfer-ownership="none">
3199 <doc xml:whitespace="preserve">The component to get the filter for</doc>
3200 <type name="guint" c:type="guint"/>
3201 </parameter>
3202 </parameters>
3203 </method>
3204 <method name="get_stream_transmitter_type"
3205 c:identifier="fs_transmitter_get_stream_transmitter_type">
3206 <doc xml:whitespace="preserve">This function returns the GObject type for the stream transmitter.
3207 This is meant for bindings that need to introspect the type of arguments
3208 that can be passed to the _new_stream_transmitter.</doc>
3209 <return-value transfer-ownership="none">
3210 <doc xml:whitespace="preserve">the #GType</doc>
3211 <type name="GType" c:type="GType"/>
3212 </return-value>
3213 </method>
3214 <method name="new_stream_transmitter"
3215 c:identifier="fs_transmitter_new_stream_transmitter"
3216 throws="1">
3217 <doc xml:whitespace="preserve">This function will create a new #FsStreamTransmitter element for a
3218 specific participant for this #FsTransmitter
3219
3220 error</doc>
3221 <return-value transfer-ownership="full">
3222 <doc xml:whitespace="preserve">a new #FsStreamTransmitter, or NULL if there is an</doc>
3223 <type name="StreamTransmitter" c:type="FsStreamTransmitter*"/>
3224 </return-value>
3225 <parameters>
3226 <parameter name="participant" transfer-ownership="none">
3227 <doc xml:whitespace="preserve">the #FsParticipant for which the #FsStream using this new #FsStreamTransmitter is created</doc>
3228 <type name="Participant" c:type="FsParticipant*"/>
3229 </parameter>
3230 <parameter name="n_parameters" transfer-ownership="none">
3231 <doc xml:whitespace="preserve">The number of parameters to pass to the newly created #FsStreamTransmitter</doc>
3232 <type name="guint" c:type="guint"/>
3233 </parameter>
3234 <parameter name="parameters" transfer-ownership="none">
3235 <doc xml:whitespace="preserve">an array of #GParameter</doc>
3236 <type name="GObject.Parameter" c:type="GParameter*"/>
3237 </parameter>
3238 </parameters>
3239 </method>
3240 <property name="components"
3241 writable="1"
3242 construct-only="1"
3243 transfer-ownership="none">
3244 <doc xml:whitespace="preserve">The number of components to create</doc>
3245 <type name="guint"/>
3246 </property>
3247 <property name="do-timestamp" writable="1" transfer-ownership="none">
3248 <doc xml:whitespace="preserve">Apply current stream time to buffers or provide buffers without
3249 timestamps. Must be set before creating a stream transmitter.</doc>
3250 <type name="gboolean"/>
3251 </property>
3252 <property name="gst-sink" transfer-ownership="none">
3253 <doc xml:whitespace="preserve">A network source #GstElement to be used by the #FsSession
3254 These element's sink must have async=FALSE
3255 This element MUST provide a pad named "sink\%d" per component.
3256 These pads number must start at 1 (the \%d corresponds to the component
3257 number).
3258 These pads MUST be static pads.</doc>
3259 <type name="Gst.Element"/>
3260 </property>
3261 <property name="gst-src" transfer-ownership="none">
3262 <doc xml:whitespace="preserve">A network source #GstElement to be used by the #FsSession
3263 This element MUST provide a source pad named "src%d" per component.
3264 These pads number must start at 1 (the %d corresponds to the component
3265 number).
3266 These pads MUST be static pads.</doc>
3267 <type name="Gst.Element"/>
3268 </property>
3269 <property name="tos" writable="1" transfer-ownership="none">
3270 <doc xml:whitespace="preserve">Sets the IP ToS field (and if possible the IPv6 TCLASS field</doc>
3271 <type name="guint"/>
3272 </property>
3273 <field name="parent">
3274 <type name="Gst.Object" c:type="GstObject"/>
3275 </field>
3276 <field name="priv" readable="0" private="1">
3277 <type name="TransmitterPrivate" c:type="FsTransmitterPrivate*"/>
3278 </field>
3279 <field name="construction_error" readable="0" private="1">
3280 <type name="GLib.Error" c:type="GError*"/>
3281 </field>
3282 <field name="_padding" readable="0" private="1">
3283 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
3284 <type name="gpointer" c:type="gpointer"/>
3285 </array>
3286 </field>
3287 <glib:signal name="error" when="last">
3288 <doc xml:whitespace="preserve">This signal is emitted in any error condition</doc>
3289 <return-value transfer-ownership="none">
3290 <type name="none"/>
3291 </return-value>
3292 <parameters>
3293 <parameter name="errorno" transfer-ownership="none">
3294 <doc xml:whitespace="preserve">The number of the error</doc>
3295 <type name="Error"/>
3296 </parameter>
3297 <parameter name="error_msg" transfer-ownership="none">
3298 <doc xml:whitespace="preserve">Error message to be displayed to user</doc>
3299 <type name="utf8"/>
3300 </parameter>
3301 </parameters>
3302 </glib:signal>
3303 <glib:signal name="get-recvonly-filter" when="last">
3304 <doc xml:whitespace="preserve">This signal is emitted when the transmitter wants to get a filter for
3305 to use if sending is disabled. If you want to drop all buffers, just
3306 don't listen to the signal.
3307
3308 This element should have a "sending" property that can be changed with the
3309 sending state of the stream. It should default to %TRUE.
3310
3311 filter, or %NULL to drop everything</doc>
3312 <return-value transfer-ownership="full">
3313 <doc xml:whitespace="preserve">the #GstElement to use as the</doc>
3314 <type name="Gst.Element"/>
3315 </return-value>
3316 <parameters>
3317 <parameter name="component" transfer-ownership="none">
3318 <doc xml:whitespace="preserve">The component that the filter will be used for</doc>
3319 <type name="guint"/>
3320 </parameter>
3321 </parameters>
3322 </glib:signal>
3323 </class>
3324 <record name="TransmitterClass"
3325 c:type="FsTransmitterClass"
3326 glib:is-gtype-struct-for="Transmitter">
3327 <doc xml:whitespace="preserve">You must override both methods in a subclass.</doc>
3328 <field name="parent_class">
3329 <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
3330 </field>
3331 <field name="new_stream_transmitter">
3332 <callback name="new_stream_transmitter" throws="1">
3333 <return-value transfer-ownership="full">
3334 <doc xml:whitespace="preserve">a new #FsStreamTransmitter, or NULL if there is an</doc>
3335 <type name="StreamTransmitter" c:type="FsStreamTransmitter*"/>
3336 </return-value>
3337 <parameters>
3338 <parameter name="transmitter" transfer-ownership="none">
3339 <type name="Transmitter" c:type="FsTransmitter*"/>
3340 </parameter>
3341 <parameter name="participant" transfer-ownership="none">
3342 <doc xml:whitespace="preserve">the #FsParticipant for which the #FsStream using this new #FsStreamTransmitter is created</doc>
3343 <type name="Participant" c:type="FsParticipant*"/>
3344 </parameter>
3345 <parameter name="n_parameters" transfer-ownership="none">
3346 <doc xml:whitespace="preserve">The number of parameters to pass to the newly created #FsStreamTransmitter</doc>
3347 <type name="guint" c:type="guint"/>
3348 </parameter>
3349 <parameter name="parameters" transfer-ownership="none">
3350 <doc xml:whitespace="preserve">an array of #GParameter</doc>
3351 <type name="GObject.Parameter" c:type="GParameter*"/>
3352 </parameter>
3353 </parameters>
3354 </callback>
3355 </field>
3356 <field name="get_stream_transmitter_type">
3357 <callback name="get_stream_transmitter_type">
3358 <return-value transfer-ownership="none">
3359 <doc xml:whitespace="preserve">the #GType</doc>
3360 <type name="GType" c:type="GType"/>
3361 </return-value>
3362 <parameters>
3363 <parameter name="transmitter" transfer-ownership="none">
3364 <type name="Transmitter" c:type="FsTransmitter*"/>
3365 </parameter>
3366 </parameters>
3367 </callback>
3368 </field>
3369 <field name="_padding" readable="0" private="1">
3370 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
3371 <type name="gpointer" c:type="gpointer"/>
3372 </array>
3373 </field>
3374 </record>
3375 <record name="TransmitterPrivate"
3376 c:type="FsTransmitterPrivate"
3377 disguised="1">
3378 </record>
3379 <record name="_RtpHeaderExtension" c:type="_FsRtpHeaderExtension">
3380 <field name="id" writable="1">
3381 <type name="guint" c:type="guint"/>
3382 </field>
3383 <field name="direction" writable="1">
3384 <type name="StreamDirection" c:type="FsStreamDirection"/>
3385 </field>
3386 <field name="uri" writable="1">
3387 <type name="utf8" c:type="gchar*"/>
3388 </field>
3389 </record>
3390 <function name="candidate_list_copy"
3391 c:identifier="fs_candidate_list_copy"
3392 moved-to="CandidateList.copy">
3393 <doc xml:whitespace="preserve">Copies a GList of #FsCandidate and its contents</doc>
3394 <return-value transfer-ownership="full">
3395 <doc xml:whitespace="preserve">a new GList of #FsCandidate</doc>
3396 <type name="GLib.List" c:type="GList*">
3397 <type name="Codec"/>
3398 </type>
3399 </return-value>
3400 <parameters>
3401 <parameter name="candidate_list" transfer-ownership="none">
3402 <doc xml:whitespace="preserve">A GList of #FsCandidate</doc>
3403 <type name="GLib.List" c:type="GList*">
3404 <type name="Codec"/>
3405 </type>
3406 </parameter>
3407 </parameters>
3408 </function>
3409 <function name="candidate_list_destroy"
3410 c:identifier="fs_candidate_list_destroy"
3411 moved-to="CandidateList.destroy"
3412 introspectable="0">
3413 <doc xml:whitespace="preserve">Deletes a GList of #FsCandidate and its contents</doc>
3414 <return-value transfer-ownership="none">
3415 <type name="none" c:type="void"/>
3416 </return-value>
3417 <parameters>
3418 <parameter name="candidate_list" transfer-ownership="none">
3419 <doc xml:whitespace="preserve">A GList of #FsCandidate</doc>
3420 <type name="GLib.List" c:type="GList*">
3421 <type name="gpointer" c:type="gpointer"/>
3422 </type>
3423 </parameter>
3424 </parameters>
3425 </function>
3426 <function name="codec_list_are_equal"
3427 c:identifier="fs_codec_list_are_equal"
3428 moved-to="CodecGList.are_equal">
3429 <doc xml:whitespace="preserve">Verifies if two glist of fscodecs are identical</doc>
3430 <return-value transfer-ownership="none">
3431 <doc xml:whitespace="preserve">%TRUE if they are identical, %FALSE otherwise</doc>
3432 <type name="gboolean" c:type="gboolean"/>
3433 </return-value>
3434 <parameters>
3435 <parameter name="list1" transfer-ownership="none">
3436 <doc xml:whitespace="preserve">a #GList of #FsCodec</doc>
3437 <type name="GLib.List" c:type="GList*">
3438 <type name="Codec"/>
3439 </type>
3440 </parameter>
3441 <parameter name="list2" transfer-ownership="none">
3442 <doc xml:whitespace="preserve">a #GList of #FsCodec</doc>
3443 <type name="GLib.List" c:type="GList*">
3444 <type name="Codec"/>
3445 </type>
3446 </parameter>
3447 </parameters>
3448 </function>
3449 <function name="codec_list_copy"
3450 c:identifier="fs_codec_list_copy"
3451 moved-to="CodecGList.copy">
3452 <doc xml:whitespace="preserve">Copies a list of #FsCodec structures.</doc>
3453 <return-value transfer-ownership="full">
3454 <doc xml:whitespace="preserve">The new list.</doc>
3455 <type name="GLib.List" c:type="GList*">
3456 <type name="Codec"/>
3457 </type>
3458 </return-value>
3459 <parameters>
3460 <parameter name="codec_list" transfer-ownership="none">
3461 <doc xml:whitespace="preserve"> a GList of #FsCodec to copy</doc>
3462 <type name="GLib.List" c:type="GList*">
3463 <type name="Codec"/>
3464 </type>
3465 </parameter>
3466 </parameters>
3467 </function>
3468 <function name="codec_list_destroy"
3469 c:identifier="fs_codec_list_destroy"
3470 moved-to="CodecGList.destroy"
3471 introspectable="0">
3472 <doc xml:whitespace="preserve">Deletes a list of #FsCodec structures and the list itself.
3473 Does nothing on %NULL lists.</doc>
3474 <return-value transfer-ownership="none">
3475 <type name="none" c:type="void"/>
3476 </return-value>
3477 <parameters>
3478 <parameter name="codec_list" transfer-ownership="none">
3479 <doc xml:whitespace="preserve">a GList of #FsCodec to delete</doc>
3480 <type name="GLib.List" c:type="GList*">
3481 <type name="gpointer" c:type="gpointer"/>
3482 </type>
3483 </parameter>
3484 </parameters>
3485 </function>
3486 <function name="codec_list_from_keyfile"
3487 c:identifier="fs_codec_list_from_keyfile"
3488 moved-to="CodecGList.from_keyfile"
3489 throws="1">
3490 <doc xml:whitespace="preserve">Reads the content of a #GKeyFile of the following format into
3491 a #GList of #FsCodec structures.
3492
3493
3494 Example:
3495 |[
3496 [audio/codec1]
3497 clock-rate=8000
3498
3499 [audio/codec1:1]
3500 clock-rate=16000
3501
3502 [audio/codec2]
3503 one_param=QCIF
3504 another_param=WOW
3505
3506 [video/codec3]
3507 wierd_param=42
3508 feedback:nack/pli=1
3509 feedback:tfrc=
3510 ]|
3511
3512 The #GList of #FsCodec or %NULL if the keyfile was empty or an error occured.</doc>
3513 <return-value transfer-ownership="full">
3514 <type name="GLib.List" c:type="GList*">
3515 <type name="Codec"/>
3516 </type>
3517 </return-value>
3518 <parameters>
3519 <parameter name="filename" transfer-ownership="none">
3520 <doc xml:whitespace="preserve">Name of the #GKeyFile to read the codecs parameters from</doc>
3521 <type name="utf8" c:type="gchar*"/>
3522 </parameter>
3523 </parameters>
3524 </function>
3525 <function name="error_quark"
3526 c:identifier="fs_error_quark"
3527 moved-to="Error.quark">
3528 <return-value transfer-ownership="none">
3529 <type name="GLib.Quark" c:type="GQuark"/>
3530 </return-value>
3531 </function>
3532 <function name="media_type_to_string"
3533 c:identifier="fs_media_type_to_string"
3534 moved-to="MediaType.to_string">
3535 <doc xml:whitespace="preserve">Gives a user-printable string representing the media type</doc>
3536 <return-value transfer-ownership="none">
3537 <doc xml:whitespace="preserve">a static string representing the media type</doc>
3538 <type name="utf8" c:type="gchar*"/>
3539 </return-value>
3540 <parameters>
3541 <parameter name="media_type" transfer-ownership="none">
3542 <doc xml:whitespace="preserve">A media type</doc>
3543 <type name="MediaType" c:type="FsMediaType"/>
3544 </parameter>
3545 </parameters>
3546 </function>
3547 <function name="parse_error" c:identifier="fs_parse_error">
3548 <doc xml:whitespace="preserve">Parses a "farstream-farstream" message and checks if it matches
3549 the @object parameters.</doc>
3550 <return-value transfer-ownership="none">
3551 <doc xml:whitespace="preserve">%TRUE if the message matches the object and is valid.</doc>
3552 <type name="gboolean" c:type="gboolean"/>
3553 </return-value>
3554 <parameters>
3555 <parameter name="object" transfer-ownership="none">
3556 <doc xml:whitespace="preserve">a #GObject to match against the message</doc>
3557 <type name="GObject.Object" c:type="GObject*"/>
3558 </parameter>
3559 <parameter name="message" transfer-ownership="none">
3560 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
3561 <type name="Gst.Message" c:type="GstMessage*"/>
3562 </parameter>
3563 <parameter name="error"
3564 direction="out"
3565 caller-allocates="0"
3566 transfer-ownership="full">
3567 <doc xml:whitespace="preserve">Returns the #FsError error number in the message if not %NULL.</doc>
3568 <type name="Error" c:type="FsError*"/>
3569 </parameter>
3570 <parameter name="error_msg"
3571 direction="out"
3572 caller-allocates="0"
3573 transfer-ownership="none">
3574 <doc xml:whitespace="preserve">Returns the error message if not %NULL</doc>
3575 <type name="utf8" c:type="gchar**"/>
3576 </parameter>
3577 </parameters>
3578 </function>
3579 <function name="rtp_header_extension_list_copy"
3580 c:identifier="fs_rtp_header_extension_list_copy"
3581 moved-to="RtpHeaderExtensionGList.copy">
3582 <doc xml:whitespace="preserve">Does a deep copy of a #GList of #FsRtpHeaderExtension
3583
3584 #GList of #FsRtpHeaderExtension</doc>
3585 <return-value transfer-ownership="full">
3586 <doc xml:whitespace="preserve">a new</doc>
3587 <type name="GLib.List" c:type="GList*">
3588 <type name="RtpHeaderExtension"/>
3589 </type>
3590 </return-value>
3591 <parameters>
3592 <parameter name="extensions" transfer-ownership="none">
3593 <doc xml:whitespace="preserve"> a #GList of #FsRtpHeaderExtension</doc>
3594 <type name="GLib.List" c:type="GList*">
3595 <type name="RtpHeaderExtension"/>
3596 </type>
3597 </parameter>
3598 </parameters>
3599 </function>
3600 <function name="rtp_header_extension_list_destroy"
3601 c:identifier="fs_rtp_header_extension_list_destroy"
3602 moved-to="RtpHeaderExtensionGList.destroy"
3603 introspectable="0">
3604 <doc xml:whitespace="preserve">Frees the passed #GList of #FsRtpHeaderExtension</doc>
3605 <return-value transfer-ownership="none">
3606 <type name="none" c:type="void"/>
3607 </return-value>
3608 <parameters>
3609 <parameter name="extensions" transfer-ownership="none">
3610 <doc xml:whitespace="preserve">a #GList of #FsRtpHeaderExtension</doc>
3611 <type name="GLib.List" c:type="GList*">
3612 <type name="gpointer" c:type="gpointer"/>
3613 </type>
3614 </parameter>
3615 </parameters>
3616 </function>
3617 <function name="rtp_header_extension_list_from_keyfile"
3618 c:identifier="fs_rtp_header_extension_list_from_keyfile"
3619 moved-to="RtpHeaderExtensionGList.from_keyfile"
3620 throws="1">
3621 <doc xml:whitespace="preserve">Reads the content of a #GKeyFile of the following format into a
3622 #GList of #FsRtpHeaderExtension structures.
3623
3624 The groups have a format "rtp-hdrext:audio:XXX" or
3625 "rtp-hdrext:video:XXX" where XXX is a unique string (per media type).
3626
3627 The valid keys are:
3628 &lt;itemizedlist&gt;
3629 &lt;listitem&gt;id: a int between in the 1-255 and 4096-4351 ranges&lt;/listitem&gt;
3630 &lt;listitem&gt;uri: a URI describing the RTP Header Extension&lt;/listitem&gt;
3631 &lt;listitem&gt;direction (optional): To only send or receive a RTP Header
3632 Extension, possible values are "send", "receive", "none" or "both".
3633 Defaults to "both"&lt;/listitem&gt;
3634 &lt;/itemizedlist&gt;
3635
3636 Example:
3637 |[
3638 [rtp-hdrext:audio:a]
3639 id=1
3640 uri=urn:ietf:params:rtp-hdrext:toffset
3641
3642 [rtp-hdrext:audio:abc]
3643 id=3
3644 uri=urn:ietf:params:rtp-hdrext:ntp-64
3645 direction=receive
3646 ]|
3647
3648 #GList of #FsRtpHeaderExtension that must be freed with
3649 fs_rtp_header_extension_list_destroy()</doc>
3650 <return-value transfer-ownership="full">
3651 <doc xml:whitespace="preserve">a</doc>
3652 <type name="GLib.List" c:type="GList*">
3653 <type name="RtpHeaderExtension"/>
3654 </type>
3655 </return-value>
3656 <parameters>
3657 <parameter name="filename" transfer-ownership="none">
3658 <doc xml:whitespace="preserve">Name of the #GKeyFile to read the RTP Header Extensions from</doc>
3659 <type name="utf8" c:type="gchar*"/>
3660 </parameter>
3661 <parameter name="media_type" transfer-ownership="none">
3662 <doc xml:whitespace="preserve">The media type for which to get header extensions</doc>
3663 <type name="MediaType" c:type="FsMediaType"/>
3664 </parameter>
3665 </parameters>
3666 </function>
3667 <function name="utils_get_default_codec_preferences"
3668 c:identifier="fs_utils_get_default_codec_preferences">
3669 <doc xml:whitespace="preserve">These default codec preferences should work with the elements that are
3670 available in the main GStreamer element repositories.
3671 They should be suitable for standards based protocols like SIP or XMPP.
3672
3673 The default codec preferences for this plugin.
3674 This #GList should be freed with fs_codec_list_destroy()</doc>
3675 <return-value transfer-ownership="full">
3676 <type name="GLib.List" c:type="GList*">
3677 <type name="Codec"/>
3678 </type>
3679 </return-value>
3680 <parameters>
3681 <parameter name="element" transfer-ownership="none">
3682 <doc xml:whitespace="preserve">Element for which to fetch default codec preferences</doc>
3683 <type name="Gst.Element" c:type="GstElement*"/>
3684 </parameter>
3685 </parameters>
3686 </function>
3687 <function name="utils_get_default_element_properties"
3688 c:identifier="fs_utils_get_default_element_properties"
3689 introspectable="0">
3690 <doc xml:whitespace="preserve">This function produces a #GKeyFile that can be fed to
3691 fs_element_added_notifier_set_properties_from_keyfile(). If no
3692 default properties have been found, it will return %NULL.
3693
3694 properties for this element or %NULL if no properties were found.
3695 Caller must free the #GKeyFile when he is done.</doc>
3696 <return-value>
3697 <doc xml:whitespace="preserve">a #GKeyFile containing the default element</doc>
3698 <type name="GLib.KeyFile" c:type="GKeyFile*"/>
3699 </return-value>
3700 <parameters>
3701 <parameter name="element" transfer-ownership="none">
3702 <doc xml:whitespace="preserve">Element for which to fetch default element properties</doc>
3703 <type name="Gst.Element" c:type="GstElement*"/>
3704 </parameter>
3705 </parameters>
3706 </function>
3707 <function name="utils_get_default_rtp_header_extension_preferences"
3708 c:identifier="fs_utils_get_default_rtp_header_extension_preferences">
3709 <doc xml:whitespace="preserve">These default rtp header extension preferences should work with the elements
3710 that are available in the main GStreamer element repositories.
3711 They should be suitable for standards based protocols like SIP or XMPP.
3712
3713 header extension preferences for this plugin, this #GList should be
3714 freed with fs_codec_list_destroy()</doc>
3715 <return-value transfer-ownership="full">
3716 <doc xml:whitespace="preserve">The default rtp</doc>
3717 <type name="GLib.List" c:type="GList*">
3718 <type name="Codec"/>
3719 </type>
3720 </return-value>
3721 <parameters>
3722 <parameter name="element" transfer-ownership="none">
3723 <doc xml:whitespace="preserve">Element for which to fetch default RTP Header Extension preferences</doc>
3724 <type name="Gst.Element" c:type="GstElement*"/>
3725 </parameter>
3726 <parameter name="media_type" transfer-ownership="none">
3727 <doc xml:whitespace="preserve">The #FsMediaType for which to get default RTP Header Extension preferences</doc>
3728 <type name="MediaType" c:type="FsMediaType"/>
3729 </parameter>
3730 </parameters>
3731 </function>
3732 <function name="utils_set_bitrate" c:identifier="fs_utils_set_bitrate">
3733 <doc xml:whitespace="preserve">This allows setting the bitrate on all elements that have a "bitrate"
3734 property without having to know the type or of the unit used by that element.
3735
3736 This will be obsolete in 0.11 (when all elements use bit/sec for the
3737 "bitrate" property.</doc>
3738 <return-value transfer-ownership="none">
3739 <type name="none" c:type="void"/>
3740 </return-value>
3741 <parameters>
3742 <parameter name="element" transfer-ownership="none">
3743 <doc xml:whitespace="preserve">The #GstElement</doc>
3744 <type name="Gst.Element" c:type="GstElement*"/>
3745 </parameter>
3746 <parameter name="bitrate" transfer-ownership="none">
3747 <doc xml:whitespace="preserve">The bitrate in bits/sec</doc>
3748 <type name="glong" c:type="glong"/>
3749 </parameter>
3750 </parameters>
3751 </function>
3752 </namespace>
3753 </repository>
0 <?xml version="1.0"?>
1 <!-- This file was automatically generated from C sources - DO NOT EDIT!
2 To affect the contents of this file, edit the original C definitions,
3 and/or use gtk-doc annotations. -->
4 <repository version="1.2"
5 xmlns="http://www.gtk.org/introspection/core/1.0"
6 xmlns:c="http://www.gtk.org/introspection/c/1.0"
7 xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
8 <include name="GLib" version="2.0"/>
9 <include name="GModule" version="2.0"/>
10 <include name="GObject" version="2.0"/>
11 <include name="Gst" version="1.0"/>
12 <namespace name="Farstream"
13 version="0.2"
14 shared-library="libfarstream-0.2.so.1"
15 c:identifier-prefixes="fs_,Fs"
16 c:symbol-prefixes="fs_,fs">
17 <constant name="CODEC_FORMAT"
18 value="%d: %s %s clock:%d channels:%d params:%p"
19 c:type="FS_CODEC_FORMAT">
20 <type name="utf8" c:type="gchar*"/>
21 </constant>
22 <constant name="CODEC_ID_ANY" value="-1" c:type="FS_CODEC_ID_ANY">
23 <type name="gint" c:type="gint"/>
24 </constant>
25 <constant name="CODEC_ID_DISABLE" value="-2" c:type="FS_CODEC_ID_DISABLE">
26 <type name="gint" c:type="gint"/>
27 </constant>
28 <record name="Candidate"
29 c:type="FsCandidate"
30 glib:type-name="FsCandidate"
31 glib:get-type="fs_candidate_get_type"
32 c:symbol-prefix="candidate">
33 <doc xml:whitespace="preserve">Struct to hold information about ICE-19 compliant candidates</doc>
34 <field name="foundation" writable="1">
35 <type name="utf8" c:type="gchar*"/>
36 </field>
37 <field name="component_id" writable="1">
38 <type name="guint" c:type="guint"/>
39 </field>
40 <field name="ip" writable="1">
41 <type name="utf8" c:type="gchar*"/>
42 </field>
43 <field name="port" writable="1">
44 <type name="guint16" c:type="guint16"/>
45 </field>
46 <field name="base_ip" writable="1">
47 <type name="utf8" c:type="gchar*"/>
48 </field>
49 <field name="base_port" writable="1">
50 <type name="guint16" c:type="guint16"/>
51 </field>
52 <field name="proto" writable="1">
53 <type name="NetworkProtocol" c:type="FsNetworkProtocol"/>
54 </field>
55 <field name="priority" writable="1">
56 <type name="guint32" c:type="guint32"/>
57 </field>
58 <field name="type" writable="1">
59 <type name="CandidateType" c:type="FsCandidateType"/>
60 </field>
61 <field name="username" writable="1">
62 <type name="utf8" c:type="gchar*"/>
63 </field>
64 <field name="password" writable="1">
65 <type name="utf8" c:type="gchar*"/>
66 </field>
67 <field name="ttl" writable="1">
68 <type name="guint" c:type="guint"/>
69 </field>
70 <constructor name="new" c:identifier="fs_candidate_new">
71 <doc xml:whitespace="preserve">Allocates a new #FsCandidate, the rest of the fields can be optionally
72 filled manually.</doc>
73 <return-value transfer-ownership="full">
74 <doc xml:whitespace="preserve">a newly-allocated #FsCandidate</doc>
75 <type name="Candidate" c:type="FsCandidate*"/>
76 </return-value>
77 <parameters>
78 <parameter name="foundation" transfer-ownership="none">
79 <doc xml:whitespace="preserve">The foundation of the candidate</doc>
80 <type name="utf8" c:type="gchar*"/>
81 </parameter>
82 <parameter name="component_id" transfer-ownership="none">
83 <doc xml:whitespace="preserve">The component this candidate is for</doc>
84 <type name="guint" c:type="guint"/>
85 </parameter>
86 <parameter name="type" transfer-ownership="none">
87 <doc xml:whitespace="preserve">The type of candidate</doc>
88 <type name="CandidateType" c:type="FsCandidateType"/>
89 </parameter>
90 <parameter name="proto" transfer-ownership="none">
91 <doc xml:whitespace="preserve">The protocol this component is for</doc>
92 <type name="NetworkProtocol" c:type="FsNetworkProtocol"/>
93 </parameter>
94 <parameter name="ip" transfer-ownership="none">
95 <doc xml:whitespace="preserve">The IP address of this component (can be NULL for local candidate to mean any address)</doc>
96 <type name="utf8" c:type="gchar*"/>
97 </parameter>
98 <parameter name="port" transfer-ownership="none">
99 <doc xml:whitespace="preserve">the UDP/TCP port</doc>
100 <type name="guint" c:type="guint"/>
101 </parameter>
102 </parameters>
103 </constructor>
104 <method name="copy" c:identifier="fs_candidate_copy">
105 <doc xml:whitespace="preserve">Copies a #FsCandidate and its contents.</doc>
106 <return-value transfer-ownership="full">
107 <doc xml:whitespace="preserve">a new #FsCandidate</doc>
108 <type name="Candidate" c:type="FsCandidate*"/>
109 </return-value>
110 </method>
111 <method name="destroy"
112 c:identifier="fs_candidate_destroy"
113 introspectable="0">
114 <doc xml:whitespace="preserve">Frees a #FsCandidate and all its contents</doc>
115 <return-value transfer-ownership="none">
116 <type name="none" c:type="void"/>
117 </return-value>
118 </method>
119 </record>
120 <glib:boxed glib:name="CandidateList"
121 c:symbol-prefix="candidate_list"
122 glib:type-name="FsCandidateList"
123 glib:get-type="fs_candidate_list_get_type">
124 <function name="copy" c:identifier="fs_candidate_list_copy">
125 <doc xml:whitespace="preserve">Copies a GList of #FsCandidate and its contents</doc>
126 <return-value transfer-ownership="full">
127 <doc xml:whitespace="preserve">a new GList of #FsCandidate</doc>
128 <type name="GLib.List" c:type="GList*">
129 <type name="Codec"/>
130 </type>
131 </return-value>
132 <parameters>
133 <parameter name="candidate_list" transfer-ownership="none">
134 <doc xml:whitespace="preserve">A GList of #FsCandidate</doc>
135 <type name="GLib.List" c:type="GList*">
136 <type name="Codec"/>
137 </type>
138 </parameter>
139 </parameters>
140 </function>
141 <function name="destroy"
142 c:identifier="fs_candidate_list_destroy"
143 introspectable="0">
144 <doc xml:whitespace="preserve">Deletes a GList of #FsCandidate and its contents</doc>
145 <return-value transfer-ownership="none">
146 <type name="none" c:type="void"/>
147 </return-value>
148 <parameters>
149 <parameter name="candidate_list" transfer-ownership="none">
150 <doc xml:whitespace="preserve">A GList of #FsCandidate</doc>
151 <type name="GLib.List" c:type="GList*">
152 <type name="gpointer" c:type="gpointer"/>
153 </type>
154 </parameter>
155 </parameters>
156 </function>
157 </glib:boxed>
158 <enumeration name="CandidateType"
159 glib:type-name="FsCandidateType"
160 glib:get-type="fs_candidate_type_get_type"
161 c:type="FsCandidateType">
162 <doc xml:whitespace="preserve">An enum for the type of candidate used/reported</doc>
163 <member name="host"
164 value="0"
165 c:identifier="FS_CANDIDATE_TYPE_HOST"
166 glib:nick="host"/>
167 <member name="srflx"
168 value="1"
169 c:identifier="FS_CANDIDATE_TYPE_SRFLX"
170 glib:nick="srflx"/>
171 <member name="prflx"
172 value="2"
173 c:identifier="FS_CANDIDATE_TYPE_PRFLX"
174 glib:nick="prflx"/>
175 <member name="relay"
176 value="3"
177 c:identifier="FS_CANDIDATE_TYPE_RELAY"
178 glib:nick="relay"/>
179 <member name="multicast"
180 value="4"
181 c:identifier="FS_CANDIDATE_TYPE_MULTICAST"
182 glib:nick="multicast"/>
183 </enumeration>
184 <record name="Codec"
185 c:type="FsCodec"
186 glib:type-name="FsCodec"
187 glib:get-type="fs_codec_get_type"
188 c:symbol-prefix="codec">
189 <doc xml:whitespace="preserve">This structure reprensents one codec that can be offered or received</doc>
190 <field name="id" writable="1">
191 <type name="gint" c:type="gint"/>
192 </field>
193 <field name="encoding_name" writable="1">
194 <type name="utf8" c:type="char*"/>
195 </field>
196 <field name="media_type" writable="1">
197 <type name="MediaType" c:type="FsMediaType"/>
198 </field>
199 <field name="clock_rate" writable="1">
200 <type name="guint" c:type="guint"/>
201 </field>
202 <field name="channels" writable="1">
203 <type name="guint" c:type="guint"/>
204 </field>
205 <field name="minimum_reporting_interval" writable="1">
206 <type name="guint" c:type="guint"/>
207 </field>
208 <field name="optional_params" writable="1">
209 <type name="GLib.List" c:type="GList*">
210 <type name="CodecParameter"/>
211 </type>
212 </field>
213 <field name="feedback_params" writable="1">
214 <type name="GLib.List" c:type="GList*">
215 <type name="FeedbackParameter"/>
216 </type>
217 </field>
218 <constructor name="new" c:identifier="fs_codec_new">
219 <doc xml:whitespace="preserve">Allocates and initializes a #FsCodec structure</doc>
220 <return-value transfer-ownership="full">
221 <doc xml:whitespace="preserve">A newly allocated #FsCodec</doc>
222 <type name="Codec" c:type="FsCodec*"/>
223 </return-value>
224 <parameters>
225 <parameter name="id" transfer-ownership="none">
226 <doc xml:whitespace="preserve">codec identifier, if RTP this should be based on IETF RTP payload types</doc>
227 <type name="gint" c:type="int"/>
228 </parameter>
229 <parameter name="encoding_name" transfer-ownership="none">
230 <doc xml:whitespace="preserve">Name of media type this encodes</doc>
231 <type name="utf8" c:type="char*"/>
232 </parameter>
233 <parameter name="media_type" transfer-ownership="none">
234 <doc xml:whitespace="preserve">#FsMediaType for type of codec</doc>
235 <type name="MediaType" c:type="FsMediaType"/>
236 </parameter>
237 <parameter name="clock_rate" transfer-ownership="none">
238 <doc xml:whitespace="preserve">The clock rate this codec encodes at, if applicable</doc>
239 <type name="guint" c:type="guint"/>
240 </parameter>
241 </parameters>
242 </constructor>
243 <method name="add_feedback_parameter"
244 c:identifier="fs_codec_add_feedback_parameter">
245 <doc xml:whitespace="preserve">This function adds an new feedback parameter to a #FsCodec</doc>
246 <return-value transfer-ownership="none">
247 <type name="none" c:type="void"/>
248 </return-value>
249 <parameters>
250 <parameter name="type" transfer-ownership="none">
251 <doc xml:whitespace="preserve">The type of the feedback parameter</doc>
252 <type name="utf8" c:type="gchar*"/>
253 </parameter>
254 <parameter name="subtype" transfer-ownership="none">
255 <doc xml:whitespace="preserve">The subtype of the feedback parameter</doc>
256 <type name="utf8" c:type="gchar*"/>
257 </parameter>
258 <parameter name="extra_params" transfer-ownership="none">
259 <doc xml:whitespace="preserve">The extra_params of the feeback parameter</doc>
260 <type name="utf8" c:type="gchar*"/>
261 </parameter>
262 </parameters>
263 </method>
264 <method name="add_optional_parameter"
265 c:identifier="fs_codec_add_optional_parameter">
266 <doc xml:whitespace="preserve">This function adds an new optional parameter to a #FsCodec</doc>
267 <return-value transfer-ownership="none">
268 <type name="none" c:type="void"/>
269 </return-value>
270 <parameters>
271 <parameter name="name" transfer-ownership="none">
272 <doc xml:whitespace="preserve">The name of the optional parameter</doc>
273 <type name="utf8" c:type="gchar*"/>
274 </parameter>
275 <parameter name="value" transfer-ownership="none">
276 <doc xml:whitespace="preserve">The extra_params of the optional parameter</doc>
277 <type name="utf8" c:type="gchar*"/>
278 </parameter>
279 </parameters>
280 </method>
281 <method name="are_equal" c:identifier="fs_codec_are_equal">
282 <doc xml:whitespace="preserve">Compare two codecs, it will declare two codecs to be identical even
283 if their optional parameters are in a different order. %NULL encoding names
284 are ignored.</doc>
285 <return-value transfer-ownership="none">
286 <doc xml:whitespace="preserve">%TRUE of the codecs are identical, %FALSE otherwise</doc>
287 <type name="gboolean" c:type="gboolean"/>
288 </return-value>
289 <parameters>
290 <parameter name="codec2" transfer-ownership="none">
291 <doc xml:whitespace="preserve">Second codec</doc>
292 <type name="Codec" c:type="FsCodec*"/>
293 </parameter>
294 </parameters>
295 </method>
296 <method name="copy" c:identifier="fs_codec_copy">
297 <doc xml:whitespace="preserve">Copies a #FsCodec structure.</doc>
298 <return-value transfer-ownership="full">
299 <doc xml:whitespace="preserve">a copy of the codec</doc>
300 <type name="Codec" c:type="FsCodec*"/>
301 </return-value>
302 </method>
303 <method name="destroy"
304 c:identifier="fs_codec_destroy"
305 introspectable="0">
306 <doc xml:whitespace="preserve">Deletes a #FsCodec structure and all its data. Is a no-op on %NULL codec</doc>
307 <return-value transfer-ownership="none">
308 <type name="none" c:type="void"/>
309 </return-value>
310 </method>
311 <method name="get_feedback_parameter"
312 c:identifier="fs_codec_get_feedback_parameter">
313 <doc xml:whitespace="preserve">Finds the #FsFeedbackParameter in the #FsCodec that has the requested
314 subtype, type and extra_params. One of which must be non-NULL;</doc>
315 <return-value transfer-ownership="full">
316 <doc xml:whitespace="preserve">the #FsFeedbackParameter from the #FsCodec or %NULL</doc>
317 <type name="FeedbackParameter" c:type="FsFeedbackParameter*"/>
318 </return-value>
319 <parameters>
320 <parameter name="type" transfer-ownership="none">
321 <doc xml:whitespace="preserve">The subtype of the parameter to search for or %NULL for any type</doc>
322 <type name="utf8" c:type="gchar*"/>
323 </parameter>
324 <parameter name="subtype" transfer-ownership="none">
325 <doc xml:whitespace="preserve">The subtype of the parameter to search for or %NULL for any subtype</doc>
326 <type name="utf8" c:type="gchar*"/>
327 </parameter>
328 <parameter name="extra_params" transfer-ownership="none">
329 <doc xml:whitespace="preserve">The extra_params of the parameter to search for or %NULL for any extra_params</doc>
330 <type name="utf8" c:type="gchar*"/>
331 </parameter>
332 </parameters>
333 </method>
334 <method name="get_optional_parameter"
335 c:identifier="fs_codec_get_optional_parameter">
336 <doc xml:whitespace="preserve">Finds the #FsCodecParameter in the #FsCodec that has the requested name
337 and, if not %NULL, the requested value</doc>
338 <return-value transfer-ownership="none">
339 <doc xml:whitespace="preserve">the #FsCodecParameter from the #FsCodec or %NULL</doc>
340 <type name="CodecParameter" c:type="FsCodecParameter*"/>
341 </return-value>
342 <parameters>
343 <parameter name="name" transfer-ownership="none">
344 <doc xml:whitespace="preserve">The name of the parameter to search for</doc>
345 <type name="utf8" c:type="gchar*"/>
346 </parameter>
347 <parameter name="value" transfer-ownership="none">
348 <doc xml:whitespace="preserve">The value of the parameter to search for or %NULL for any value</doc>
349 <type name="utf8" c:type="gchar*"/>
350 </parameter>
351 </parameters>
352 </method>
353 <method name="remove_feedback_parameter"
354 c:identifier="fs_codec_remove_feedback_parameter">
355 <doc xml:whitespace="preserve">Removes an optional parameter from a codec.
356
357 NULL param will do nothing.</doc>
358 <return-value transfer-ownership="none">
359 <type name="none" c:type="void"/>
360 </return-value>
361 <parameters>
362 <parameter name="item" transfer-ownership="none">
363 <doc xml:whitespace="preserve">a pointer to the #GList element to remove that contains a #FsFeedbackParameter</doc>
364 <type name="GLib.List" c:type="GList*">
365 <type name="FeedbackParameter"/>
366 </type>
367 </parameter>
368 </parameters>
369 </method>
370 <method name="remove_optional_parameter"
371 c:identifier="fs_codec_remove_optional_parameter">
372 <doc xml:whitespace="preserve">Removes an optional parameter from a codec.
373
374 NULL param will do nothing.</doc>
375 <return-value transfer-ownership="none">
376 <type name="none" c:type="void"/>
377 </return-value>
378 <parameters>
379 <parameter name="param" transfer-ownership="none">
380 <doc xml:whitespace="preserve">a pointer to the #FsCodecParameter to remove</doc>
381 <type name="CodecParameter" c:type="FsCodecParameter*"/>
382 </parameter>
383 </parameters>
384 </method>
385 <method name="to_string" c:identifier="fs_codec_to_string">
386 <doc xml:whitespace="preserve">Returns a newly-allocated string representing the codec</doc>
387 <return-value transfer-ownership="full">
388 <doc xml:whitespace="preserve">the newly-allocated string</doc>
389 <type name="utf8" c:type="gchar*"/>
390 </return-value>
391 </method>
392 </record>
393 <glib:boxed glib:name="CodecGList"
394 c:symbol-prefix="codec_list"
395 glib:type-name="FsCodecGList"
396 glib:get-type="fs_codec_list_get_type">
397 <function name="are_equal" c:identifier="fs_codec_list_are_equal">
398 <doc xml:whitespace="preserve">Verifies if two glist of fscodecs are identical</doc>
399 <return-value transfer-ownership="none">
400 <doc xml:whitespace="preserve">%TRUE if they are identical, %FALSE otherwise</doc>
401 <type name="gboolean" c:type="gboolean"/>
402 </return-value>
403 <parameters>
404 <parameter name="list1" transfer-ownership="none">
405 <doc xml:whitespace="preserve">a #GList of #FsCodec</doc>
406 <type name="GLib.List" c:type="GList*">
407 <type name="Codec"/>
408 </type>
409 </parameter>
410 <parameter name="list2" transfer-ownership="none">
411 <doc xml:whitespace="preserve">a #GList of #FsCodec</doc>
412 <type name="GLib.List" c:type="GList*">
413 <type name="Codec"/>
414 </type>
415 </parameter>
416 </parameters>
417 </function>
418 <function name="copy" c:identifier="fs_codec_list_copy">
419 <doc xml:whitespace="preserve">Copies a list of #FsCodec structures.</doc>
420 <return-value transfer-ownership="full">
421 <doc xml:whitespace="preserve">The new list.</doc>
422 <type name="GLib.List" c:type="GList*">
423 <type name="Codec"/>
424 </type>
425 </return-value>
426 <parameters>
427 <parameter name="codec_list" transfer-ownership="none">
428 <doc xml:whitespace="preserve">a GList of #FsCodec to copy</doc>
429 <type name="GLib.List" c:type="GList*">
430 <type name="Codec"/>
431 </type>
432 </parameter>
433 </parameters>
434 </function>
435 <function name="destroy"
436 c:identifier="fs_codec_list_destroy"
437 introspectable="0">
438 <doc xml:whitespace="preserve">Deletes a list of #FsCodec structures and the list itself.
439 Does nothing on %NULL lists.</doc>
440 <return-value transfer-ownership="none">
441 <type name="none" c:type="void"/>
442 </return-value>
443 <parameters>
444 <parameter name="codec_list" transfer-ownership="none">
445 <doc xml:whitespace="preserve">a GList of #FsCodec to delete</doc>
446 <type name="GLib.List" c:type="GList*">
447 <type name="gpointer" c:type="gpointer"/>
448 </type>
449 </parameter>
450 </parameters>
451 </function>
452 <function name="from_keyfile"
453 c:identifier="fs_codec_list_from_keyfile"
454 throws="1">
455 <doc xml:whitespace="preserve">Reads the content of a #GKeyFile of the following format into
456 a #GList of #FsCodec structures.
457
458
459 Example:
460 |[
461 [audio/codec1]
462 clock-rate=8000
463
464 [audio/codec1:1]
465 clock-rate=16000
466
467 [audio/codec2]
468 one_param=QCIF
469 another_param=WOW
470
471 [video/codec3]
472 wierd_param=42
473 feedback:nack/pli=1
474 feedback:tfrc=
475 ]|</doc>
476 <return-value transfer-ownership="full">
477 <doc xml:whitespace="preserve">The #GList of #FsCodec or %NULL if the keyfile was empty or an error occured.</doc>
478 <type name="GLib.List" c:type="GList*">
479 <type name="Codec"/>
480 </type>
481 </return-value>
482 <parameters>
483 <parameter name="filename" transfer-ownership="none">
484 <doc xml:whitespace="preserve">Name of the #GKeyFile to read the codecs parameters from</doc>
485 <type name="utf8" c:type="gchar*"/>
486 </parameter>
487 </parameters>
488 </function>
489 </glib:boxed>
490 <record name="CodecParameter"
491 c:type="FsCodecParameter"
492 glib:type-name="FsCodecParameter"
493 glib:get-type="fs_codec_parameter_get_type"
494 c:symbol-prefix="codec_parameter">
495 <doc xml:whitespace="preserve">Used to store arbitary parameters for a codec</doc>
496 <field name="name" writable="1">
497 <type name="utf8" c:type="gchar*"/>
498 </field>
499 <field name="value" writable="1">
500 <type name="utf8" c:type="gchar*"/>
501 </field>
502 <method name="copy" c:identifier="fs_codec_parameter_copy">
503 <return-value transfer-ownership="full">
504 <type name="CodecParameter" c:type="FsCodecParameter*"/>
505 </return-value>
506 </method>
507 <method name="free" c:identifier="fs_codec_parameter_free">
508 <return-value transfer-ownership="none">
509 <type name="none" c:type="void"/>
510 </return-value>
511 </method>
512 </record>
513 <enumeration name="ComponentType"
514 glib:type-name="FsComponentType"
515 glib:get-type="fs_component_type_get_type"
516 c:type="FsComponentType">
517 <doc xml:whitespace="preserve">This enum contains the component IDs defined in ICE-19</doc>
518 <member name="none"
519 value="0"
520 c:identifier="FS_COMPONENT_NONE"
521 glib:nick="none"/>
522 <member name="rtp"
523 value="1"
524 c:identifier="FS_COMPONENT_RTP"
525 glib:nick="rtp"/>
526 <member name="rtcp"
527 value="2"
528 c:identifier="FS_COMPONENT_RTCP"
529 glib:nick="rtcp"/>
530 </enumeration>
531 <class name="Conference"
532 c:symbol-prefix="conference"
533 c:type="FsConference"
534 parent="Gst.Bin"
535 abstract="1"
536 glib:type-name="FsConference"
537 glib:get-type="fs_conference_get_type"
538 glib:type-struct="ConferenceClass">
539 <doc xml:whitespace="preserve">The #FsConference structure, all the members are private</doc>
540 <implements name="Gst.ChildProxy"/>
541 <virtual-method name="new_participant"
542 invoker="new_participant"
543 throws="1">
544 <doc xml:whitespace="preserve">Create a new Farstream Participant for the type of the given conference.</doc>
545 <return-value transfer-ownership="full">
546 <doc xml:whitespace="preserve">the new #FsParticipant that has been created. The #FsParticipant is owned by the user and he must unref it when he is done with it.</doc>
547 <type name="Participant" c:type="FsParticipant*"/>
548 </return-value>
549 </virtual-method>
550 <virtual-method name="new_session" invoker="new_session" throws="1">
551 <doc xml:whitespace="preserve">Create a new Farstream session for the given conference.</doc>
552 <return-value transfer-ownership="full">
553 <doc xml:whitespace="preserve">the new #FsSession that has been created. The #FsSession must be unref'd by the user when closing the session.</doc>
554 <type name="Session" c:type="FsSession*"/>
555 </return-value>
556 <parameters>
557 <parameter name="media_type" transfer-ownership="none">
558 <doc xml:whitespace="preserve">#FsMediaType of the new session</doc>
559 <type name="MediaType" c:type="FsMediaType"/>
560 </parameter>
561 </parameters>
562 </virtual-method>
563 <method name="new_participant"
564 c:identifier="fs_conference_new_participant"
565 throws="1">
566 <doc xml:whitespace="preserve">Create a new Farstream Participant for the type of the given conference.</doc>
567 <return-value transfer-ownership="full">
568 <doc xml:whitespace="preserve">the new #FsParticipant that has been created. The #FsParticipant is owned by the user and he must unref it when he is done with it.</doc>
569 <type name="Participant" c:type="FsParticipant*"/>
570 </return-value>
571 </method>
572 <method name="new_session"
573 c:identifier="fs_conference_new_session"
574 throws="1">
575 <doc xml:whitespace="preserve">Create a new Farstream session for the given conference.</doc>
576 <return-value transfer-ownership="full">
577 <doc xml:whitespace="preserve">the new #FsSession that has been created. The #FsSession must be unref'd by the user when closing the session.</doc>
578 <type name="Session" c:type="FsSession*"/>
579 </return-value>
580 <parameters>
581 <parameter name="media_type" transfer-ownership="none">
582 <doc xml:whitespace="preserve">#FsMediaType of the new session</doc>
583 <type name="MediaType" c:type="FsMediaType"/>
584 </parameter>
585 </parameters>
586 </method>
587 <field name="parent">
588 <type name="Gst.Bin" c:type="GstBin"/>
589 </field>
590 <field name="_padding" readable="0" private="1">
591 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
592 <type name="gpointer" c:type="gpointer"/>
593 </array>
594 </field>
595 </class>
596 <record name="ConferenceClass"
597 c:type="FsConferenceClass"
598 glib:is-gtype-struct-for="Conference">
599 <doc xml:whitespace="preserve">#FsConferenceClass class structure.</doc>
600 <field name="parent">
601 <type name="Gst.BinClass" c:type="GstBinClass"/>
602 </field>
603 <field name="new_session">
604 <callback name="new_session" throws="1">
605 <return-value transfer-ownership="full">
606 <doc xml:whitespace="preserve">the new #FsSession that has been created. The #FsSession must be unref'd by the user when closing the session.</doc>
607 <type name="Session" c:type="FsSession*"/>
608 </return-value>
609 <parameters>
610 <parameter name="conference" transfer-ownership="none">
611 <type name="Conference" c:type="FsConference*"/>
612 </parameter>
613 <parameter name="media_type" transfer-ownership="none">
614 <doc xml:whitespace="preserve">#FsMediaType of the new session</doc>
615 <type name="MediaType" c:type="FsMediaType"/>
616 </parameter>
617 </parameters>
618 </callback>
619 </field>
620 <field name="new_participant">
621 <callback name="new_participant" throws="1">
622 <return-value transfer-ownership="full">
623 <doc xml:whitespace="preserve">the new #FsParticipant that has been created. The #FsParticipant is owned by the user and he must unref it when he is done with it.</doc>
624 <type name="Participant" c:type="FsParticipant*"/>
625 </return-value>
626 <parameters>
627 <parameter name="conference" transfer-ownership="none">
628 <type name="Conference" c:type="FsConference*"/>
629 </parameter>
630 </parameters>
631 </callback>
632 </field>
633 <field name="_gst_reserved" readable="0" private="1">
634 <array zero-terminated="0" c:type="gpointer" fixed-size="4">
635 <type name="gpointer" c:type="gpointer"/>
636 </array>
637 </field>
638 </record>
639 <enumeration name="DTMFEvent"
640 glib:type-name="FsDTMFEvent"
641 glib:get-type="fs_dtmf_event_get_type"
642 c:type="FsDTMFEvent">
643 <doc xml:whitespace="preserve">An enum that represents the different DTMF event that can be sent to a
644 #FsSession. The values corresponds those those defined in RFC 4733
645 The rest of the possibles values are in the IANA registry at:
646 http://www.iana.org/assignments/audio-telephone-event-registry</doc>
647 <member name="0" value="0" c:identifier="FS_DTMF_EVENT_0" glib:nick="0"/>
648 <member name="1" value="1" c:identifier="FS_DTMF_EVENT_1" glib:nick="1"/>
649 <member name="2" value="2" c:identifier="FS_DTMF_EVENT_2" glib:nick="2"/>
650 <member name="3" value="3" c:identifier="FS_DTMF_EVENT_3" glib:nick="3"/>
651 <member name="4" value="4" c:identifier="FS_DTMF_EVENT_4" glib:nick="4"/>
652 <member name="5" value="5" c:identifier="FS_DTMF_EVENT_5" glib:nick="5"/>
653 <member name="6" value="6" c:identifier="FS_DTMF_EVENT_6" glib:nick="6"/>
654 <member name="7" value="7" c:identifier="FS_DTMF_EVENT_7" glib:nick="7"/>
655 <member name="8" value="8" c:identifier="FS_DTMF_EVENT_8" glib:nick="8"/>
656 <member name="9" value="9" c:identifier="FS_DTMF_EVENT_9" glib:nick="9"/>
657 <member name="star"
658 value="10"
659 c:identifier="FS_DTMF_EVENT_STAR"
660 glib:nick="star"/>
661 <member name="pound"
662 value="11"
663 c:identifier="FS_DTMF_EVENT_POUND"
664 glib:nick="pound"/>
665 <member name="a"
666 value="12"
667 c:identifier="FS_DTMF_EVENT_A"
668 glib:nick="a"/>
669 <member name="b"
670 value="13"
671 c:identifier="FS_DTMF_EVENT_B"
672 glib:nick="b"/>
673 <member name="c"
674 value="14"
675 c:identifier="FS_DTMF_EVENT_C"
676 glib:nick="c"/>
677 <member name="d"
678 value="15"
679 c:identifier="FS_DTMF_EVENT_D"
680 glib:nick="d"/>
681 </enumeration>
682 <enumeration name="DTMFMethod"
683 glib:type-name="FsDTMFMethod"
684 glib:get-type="fs_dtmf_method_get_type"
685 c:type="FsDTMFMethod">
686 <doc xml:whitespace="preserve">An enum that represents the different ways a DTMF event can be sent</doc>
687 <member name="rtp_rfc4733"
688 value="1"
689 c:identifier="FS_DTMF_METHOD_RTP_RFC4733"
690 glib:nick="rtp-rfc4733"/>
691 <member name="sound"
692 value="2"
693 c:identifier="FS_DTMF_METHOD_SOUND"
694 glib:nick="sound"/>
695 </enumeration>
696 <class name="ElementAddedNotifier"
697 c:symbol-prefix="element_added_notifier"
698 c:type="FsElementAddedNotifier"
699 parent="GObject.Object"
700 glib:type-name="FsElementAddedNotifier"
701 glib:get-type="fs_element_added_notifier_get_type"
702 glib:type-struct="ElementAddedNotifierClass">
703 <doc xml:whitespace="preserve">All members are private</doc>
704 <constructor name="new" c:identifier="fs_element_added_notifier_new">
705 <doc xml:whitespace="preserve">Creates a new #FsElementAddedNotifier object</doc>
706 <return-value transfer-ownership="full">
707 <doc xml:whitespace="preserve">the newly-created #FsElementAddedNotifier</doc>
708 <type name="ElementAddedNotifier" c:type="FsElementAddedNotifier*"/>
709 </return-value>
710 </constructor>
711 <method name="add" c:identifier="fs_element_added_notifier_add">
712 <doc xml:whitespace="preserve">Add a #GstBin to on which the #FsElementAddedNotifier::element-added signal
713 will be called on every element and sub-element present and added in the
714 future.</doc>
715 <return-value transfer-ownership="none">
716 <type name="none" c:type="void"/>
717 </return-value>
718 <parameters>
719 <parameter name="bin" transfer-ownership="none">
720 <doc xml:whitespace="preserve">A #GstBin to watch to added elements</doc>
721 <type name="Gst.Bin" c:type="GstBin*"/>
722 </parameter>
723 </parameters>
724 </method>
725 <method name="remove" c:identifier="fs_element_added_notifier_remove">
726 <doc xml:whitespace="preserve">Stop watching the passed bin and its subbins.</doc>
727 <return-value transfer-ownership="none">
728 <doc xml:whitespace="preserve">%TRUE if the #GstBin was being watched, %FALSE otherwise</doc>
729 <type name="gboolean" c:type="gboolean"/>
730 </return-value>
731 <parameters>
732 <parameter name="bin" transfer-ownership="none">
733 <doc xml:whitespace="preserve">A #GstBin to stop watching</doc>
734 <type name="Gst.Bin" c:type="GstBin*"/>
735 </parameter>
736 </parameters>
737 </method>
738 <method name="set_default_properties"
739 c:identifier="fs_element_added_notifier_set_default_properties">
740 <doc xml:whitespace="preserve">Same as first calling fs_utils_get_default_element_properties() and using
741 the result with
742 fs_element_added_notifier_set_properties_from_keyfile() .
743
744 This is binding friendly (since GKeyFile doesn't have a boxed type).</doc>
745 <return-value transfer-ownership="none">
746 <type name="none" c:type="void"/>
747 </return-value>
748 <parameters>
749 <parameter name="element" transfer-ownership="none">
750 <doc xml:whitespace="preserve">Element for which to set the default codec preferences</doc>
751 <type name="Gst.Element" c:type="GstElement*"/>
752 </parameter>
753 </parameters>
754 </method>
755 <method name="set_properties_from_file"
756 c:identifier="fs_element_added_notifier_set_properties_from_file"
757 throws="1">
758 <doc xml:whitespace="preserve">Same as fs_element_added_notifier_set_properties_from_keyfile() but using
759 the name of the file to load instead of the #GKeyFile directly.</doc>
760 <return-value transfer-ownership="none">
761 <doc xml:whitespace="preserve">%TRUE if the file was successfully loaded, %FALSE otherwise</doc>
762 <type name="gboolean" c:type="gboolean"/>
763 </return-value>
764 <parameters>
765 <parameter name="filename" transfer-ownership="none">
766 <doc xml:whitespace="preserve">The name of the keyfile to use</doc>
767 <type name="utf8" c:type="gchar*"/>
768 </parameter>
769 </parameters>
770 </method>
771 <method name="set_properties_from_keyfile"
772 c:identifier="fs_element_added_notifier_set_properties_from_keyfile">
773 <doc xml:whitespace="preserve">Using a #GKeyFile where the groups are the element's type or name
774 and the key=value are the property and its value, this function
775 will set the properties on the elements added to this object after
776 this function has been called. It will take ownership of the
777 GKeyFile structure. It will first try the group as the element type, if that
778 does not match, it will check its name.</doc>
779 <return-value transfer-ownership="none">
780 <type name="none" c:type="void"/>
781 </return-value>
782 <parameters>
783 <parameter name="keyfile" transfer-ownership="none">
784 <doc xml:whitespace="preserve">a #GKeyFile</doc>
785 <type name="GLib.KeyFile" c:type="GKeyFile*"/>
786 </parameter>
787 </parameters>
788 </method>
789 <field name="parent">
790 <type name="GObject.Object" c:type="GObject"/>
791 </field>
792 <field name="priv" readable="0" private="1">
793 <type name="ElementAddedNotifierPrivate"
794 c:type="FsElementAddedNotifierPrivate*"/>
795 </field>
796 <glib:signal name="element-added" when="last">
797 <doc xml:whitespace="preserve">This signal is emitted when an element is added to a #GstBin that was added
798 to this object or one of its sub-bins.
799 Be careful, there is no guarantee that this will be emitted on your
800 main thread, it will be emitted in the thread that added the element.
801 The bin may be %NULL if this is the top-level bin.</doc>
802 <return-value transfer-ownership="none">
803 <type name="none"/>
804 </return-value>
805 <parameters>
806 <parameter name="bin" transfer-ownership="none">
807 <doc xml:whitespace="preserve">The #GstBin to which this object was added</doc>
808 <type name="Gst.Bin"/>
809 </parameter>
810 <parameter name="element" transfer-ownership="none">
811 <doc xml:whitespace="preserve">The #GstElement that was added</doc>
812 <type name="Gst.Element"/>
813 </parameter>
814 </parameters>
815 </glib:signal>
816 </class>
817 <record name="ElementAddedNotifierClass"
818 c:type="FsElementAddedNotifierClass"
819 glib:is-gtype-struct-for="ElementAddedNotifier">
820 <doc xml:whitespace="preserve">All members are private</doc>
821 <field name="parent_class">
822 <type name="GObject.ObjectClass" c:type="GObjectClass"/>
823 </field>
824 </record>
825 <record name="ElementAddedNotifierPrivate"
826 c:type="FsElementAddedNotifierPrivate"
827 disguised="1">
828 </record>
829 <enumeration name="Error"
830 glib:type-name="FsError"
831 glib:get-type="fs_error_get_type"
832 c:type="FsError"
833 glib:error-domain="fs-error">
834 <doc xml:whitespace="preserve">This is the enum of error numbers that will come either on the "error"
835 signal, from the Gst Bus or for error in the FS_ERROR domain in GErrors</doc>
836 <member name="construction"
837 value="1"
838 c:identifier="FS_ERROR_CONSTRUCTION"
839 glib:nick="construction"/>
840 <member name="internal"
841 value="2"
842 c:identifier="FS_ERROR_INTERNAL"
843 glib:nick="internal"/>
844 <member name="invalid_arguments"
845 value="100"
846 c:identifier="FS_ERROR_INVALID_ARGUMENTS"
847 glib:nick="invalid-arguments"/>
848 <member name="network"
849 value="101"
850 c:identifier="FS_ERROR_NETWORK"
851 glib:nick="network"/>
852 <member name="not_implemented"
853 value="102"
854 c:identifier="FS_ERROR_NOT_IMPLEMENTED"
855 glib:nick="not-implemented"/>
856 <member name="negotiation_failed"
857 value="103"
858 c:identifier="FS_ERROR_NEGOTIATION_FAILED"
859 glib:nick="negotiation-failed"/>
860 <member name="unknown_codec"
861 value="104"
862 c:identifier="FS_ERROR_UNKNOWN_CODEC"
863 glib:nick="unknown-codec"/>
864 <member name="no_codecs"
865 value="105"
866 c:identifier="FS_ERROR_NO_CODECS"
867 glib:nick="no-codecs"/>
868 <member name="no_codecs_left"
869 value="106"
870 c:identifier="FS_ERROR_NO_CODECS_LEFT"
871 glib:nick="no-codecs-left"/>
872 <member name="connection_failed"
873 value="107"
874 c:identifier="FS_ERROR_CONNECTION_FAILED"
875 glib:nick="connection-failed"/>
876 <member name="disposed"
877 value="108"
878 c:identifier="FS_ERROR_DISPOSED"
879 glib:nick="disposed"/>
880 <member name="already_exists"
881 value="109"
882 c:identifier="FS_ERROR_ALREADY_EXISTS"
883 glib:nick="already-exists"/>
884 <function name="quark" c:identifier="fs_error_quark">
885 <return-value transfer-ownership="none">
886 <type name="GLib.Quark" c:type="GQuark"/>
887 </return-value>
888 </function>
889 </enumeration>
890 <record name="FeedbackParameter"
891 c:type="FsFeedbackParameter"
892 glib:type-name="FsFeedbackParameter"
893 glib:get-type="fs_feedback_parameter_get_type"
894 c:symbol-prefix="feedback_parameter">
895 <doc xml:whitespace="preserve">Use to store feedback parameters</doc>
896 <field name="type" writable="1">
897 <type name="utf8" c:type="gchar*"/>
898 </field>
899 <field name="subtype" writable="1">
900 <type name="utf8" c:type="gchar*"/>
901 </field>
902 <field name="extra_params" writable="1">
903 <type name="utf8" c:type="gchar*"/>
904 </field>
905 <method name="copy" c:identifier="fs_feedback_parameter_copy">
906 <return-value transfer-ownership="full">
907 <type name="FeedbackParameter" c:type="FsFeedbackParameter*"/>
908 </return-value>
909 </method>
910 <method name="free" c:identifier="fs_feedback_parameter_free">
911 <return-value transfer-ownership="none">
912 <type name="none" c:type="void"/>
913 </return-value>
914 </method>
915 </record>
916 <enumeration name="MediaType"
917 glib:type-name="FsMediaType"
918 glib:get-type="fs_media_type_get_type"
919 c:type="FsMediaType">
920 <doc xml:whitespace="preserve">Enum used to signify the media type of a codec or stream.</doc>
921 <member name="audio"
922 value="0"
923 c:identifier="FS_MEDIA_TYPE_AUDIO"
924 glib:nick="audio"/>
925 <member name="video"
926 value="1"
927 c:identifier="FS_MEDIA_TYPE_VIDEO"
928 glib:nick="video"/>
929 <member name="last"
930 value="1"
931 c:identifier="FS_MEDIA_TYPE_LAST"
932 glib:nick="last"/>
933 <function name="to_string" c:identifier="fs_media_type_to_string">
934 <doc xml:whitespace="preserve">Gives a user-printable string representing the media type</doc>
935 <return-value transfer-ownership="none">
936 <doc xml:whitespace="preserve">a static string representing the media type</doc>
937 <type name="utf8" c:type="gchar*"/>
938 </return-value>
939 <parameters>
940 <parameter name="media_type" transfer-ownership="none">
941 <doc xml:whitespace="preserve">A media type</doc>
942 <type name="MediaType" c:type="FsMediaType"/>
943 </parameter>
944 </parameters>
945 </function>
946 </enumeration>
947 <enumeration name="NetworkProtocol"
948 glib:type-name="FsNetworkProtocol"
949 glib:get-type="fs_network_protocol_get_type"
950 c:type="FsNetworkProtocol">
951 <doc xml:whitespace="preserve">An enum for the base IP protocol</doc>
952 <member name="udp"
953 value="0"
954 c:identifier="FS_NETWORK_PROTOCOL_UDP"
955 glib:nick="udp"/>
956 <member name="tcp"
957 value="1"
958 c:identifier="FS_NETWORK_PROTOCOL_TCP"
959 glib:nick="tcp"/>
960 </enumeration>
961 <class name="Participant"
962 c:symbol-prefix="participant"
963 c:type="FsParticipant"
964 parent="Gst.Object"
965 abstract="1"
966 glib:type-name="FsParticipant"
967 glib:get-type="fs_participant_get_type"
968 glib:type-struct="ParticipantClass">
969 <doc xml:whitespace="preserve">All members are private (access them using the properties)</doc>
970 <field name="parent">
971 <type name="Gst.Object" c:type="GstObject"/>
972 </field>
973 <field name="mutex" readable="0" private="1">
974 <type name="GLib.Mutex" c:type="GMutex*"/>
975 </field>
976 <field name="priv" readable="0" private="1">
977 <type name="ParticipantPrivate" c:type="FsParticipantPrivate*"/>
978 </field>
979 <field name="_padding" readable="0" private="1">
980 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
981 <type name="gpointer" c:type="gpointer"/>
982 </array>
983 </field>
984 </class>
985 <record name="ParticipantClass"
986 c:type="FsParticipantClass"
987 glib:is-gtype-struct-for="Participant">
988 <doc xml:whitespace="preserve">The FsParticipant class has no virtual methods to implement,
989 but you may want to override the properties or attach more date to it</doc>
990 <field name="parent_class">
991 <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
992 </field>
993 <field name="priv" readable="0" private="1">
994 <type name="ParticipantPrivate" c:type="FsParticipantPrivate*"/>
995 </field>
996 <field name="_padding" readable="0" private="1">
997 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
998 <type name="gpointer" c:type="gpointer"/>
999 </array>
1000 </field>
1001 </record>
1002 <record name="ParticipantPrivate"
1003 c:type="FsParticipantPrivate"
1004 disguised="1">
1005 </record>
1006 <class name="Plugin"
1007 c:symbol-prefix="plugin"
1008 c:type="FsPlugin"
1009 parent="GObject.TypeModule"
1010 glib:type-name="FsPlugin"
1011 glib:get-type="fs_plugin_get_type"
1012 glib:type-struct="PluginClass">
1013 <doc xml:whitespace="preserve">This structure represents a plugin, it is opaque.</doc>
1014 <implements name="GObject.TypePlugin"/>
1015 <function name="create"
1016 c:identifier="fs_plugin_create"
1017 introspectable="0">
1018 <doc xml:whitespace="preserve">Loads the appropriate plugin if necessary and creates a GObject of
1019 the requested type</doc>
1020 <return-value transfer-ownership="full">
1021 <doc xml:whitespace="preserve">The object created (or NULL if there is an error)</doc>
1022 <type name="GObject.Object" c:type="GObject*"/>
1023 </return-value>
1024 <parameters>
1025 <parameter name="name" transfer-ownership="none">
1026 <doc xml:whitespace="preserve">The name of the plugin to load</doc>
1027 <type name="utf8" c:type="gchar*"/>
1028 </parameter>
1029 <parameter name="type_suffix" transfer-ownership="none">
1030 <doc xml:whitespace="preserve">The type of plugin to load (normally "transmitter")</doc>
1031 <type name="utf8" c:type="gchar*"/>
1032 </parameter>
1033 <parameter name="error" transfer-ownership="none">
1034 <doc xml:whitespace="preserve">location of a #GError, or NULL if no error occured</doc>
1035 <type name="GLib.Error" c:type="GError**"/>
1036 </parameter>
1037 <parameter name="first_property_name" transfer-ownership="none">
1038 <doc xml:whitespace="preserve">The name of the first property to be set on the object</doc>
1039 <type name="utf8" c:type="gchar*"/>
1040 </parameter>
1041 <parameter transfer-ownership="none">
1042 <varargs>
1043 </varargs>
1044 </parameter>
1045 </parameters>
1046 </function>
1047 <function name="create_valist"
1048 c:identifier="fs_plugin_create_valist"
1049 introspectable="0">
1050 <doc xml:whitespace="preserve">Loads the appropriate plugin if necessary and creates a GObject of
1051 the requested type</doc>
1052 <return-value transfer-ownership="full">
1053 <doc xml:whitespace="preserve">The object created (or NULL if there is an error)</doc>
1054 <type name="GObject.Object" c:type="GObject*"/>
1055 </return-value>
1056 <parameters>
1057 <parameter name="name" transfer-ownership="none">
1058 <doc xml:whitespace="preserve">The name of the plugin to load</doc>
1059 <type name="utf8" c:type="gchar*"/>
1060 </parameter>
1061 <parameter name="type_suffix" transfer-ownership="none">
1062 <doc xml:whitespace="preserve">The type of plugin to load (normally "transmitter")</doc>
1063 <type name="utf8" c:type="gchar*"/>
1064 </parameter>
1065 <parameter name="error" transfer-ownership="none">
1066 <doc xml:whitespace="preserve">location of a #GError, or NULL if no error occured</doc>
1067 <type name="GLib.Error" c:type="GError**"/>
1068 </parameter>
1069 <parameter name="first_property_name" transfer-ownership="none">
1070 <doc xml:whitespace="preserve">The name of the first property to be set on the object</doc>
1071 <type name="utf8" c:type="gchar*"/>
1072 </parameter>
1073 <parameter name="var_args" transfer-ownership="none">
1074 <doc xml:whitespace="preserve">The rest of the arguments</doc>
1075 <type name="va_list" c:type="va_list"/>
1076 </parameter>
1077 </parameters>
1078 </function>
1079 <function name="list_available" c:identifier="fs_plugin_list_available">
1080 <doc xml:whitespace="preserve">Gets the list of all available plugins of a certain type</doc>
1081 <return-value transfer-ownership="full">
1082 <doc xml:whitespace="preserve">a newly allocated NULL terminated array of strings or %NULL if no strings were found. It should be freed with g_strfreev().</doc>
1083 <array c:type="gchar**">
1084 <type name="utf8"/>
1085 </array>
1086 </return-value>
1087 <parameters>
1088 <parameter name="type_suffix" transfer-ownership="none">
1089 <doc xml:whitespace="preserve">Get list of plugins with this type suffix</doc>
1090 <type name="utf8" c:type="gchar*"/>
1091 </parameter>
1092 </parameters>
1093 </function>
1094 <field name="parent">
1095 <type name="GObject.TypeModule" c:type="GTypeModule"/>
1096 </field>
1097 <field name="type" readable="0" private="1">
1098 <type name="GType" c:type="GType"/>
1099 </field>
1100 <field name="name" readable="0" private="1">
1101 <type name="utf8" c:type="gchar*"/>
1102 </field>
1103 <field name="priv" readable="0" private="1">
1104 <type name="PluginPrivate" c:type="FsPluginPrivate*"/>
1105 </field>
1106 <field name="unused" readable="0" private="1">
1107 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
1108 <type name="gpointer" c:type="gpointer"/>
1109 </array>
1110 </field>
1111 </class>
1112 <record name="PluginClass"
1113 c:type="FsPluginClass"
1114 glib:is-gtype-struct-for="Plugin">
1115 <field name="parent_class">
1116 <type name="GObject.TypeModuleClass" c:type="GTypeModuleClass"/>
1117 </field>
1118 <field name="unused" readable="0" private="1">
1119 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
1120 <type name="gpointer" c:type="gpointer"/>
1121 </array>
1122 </field>
1123 </record>
1124 <record name="PluginPrivate" c:type="FsPluginPrivate" disguised="1">
1125 </record>
1126 <constant name="RTP_HEADER_EXTENSION_FORMAT"
1127 value="%d: (%s) %s"
1128 c:type="FS_RTP_HEADER_EXTENSION_FORMAT">
1129 <type name="utf8" c:type="gchar*"/>
1130 </constant>
1131 <glib:boxed glib:name="RtpHeaderExtension"
1132 c:symbol-prefix="rtp_header_extension"
1133 glib:type-name="FsRtpHeaderExtension"
1134 glib:get-type="fs_rtp_header_extension_get_type">
1135 <constructor name="new" c:identifier="fs_rtp_header_extension_new">
1136 <doc xml:whitespace="preserve">Creates a new #FsRtpHeaderExtension</doc>
1137 <return-value transfer-ownership="full">
1138 <doc xml:whitespace="preserve">a new #FsRtpHeaderExtension</doc>
1139 <type name="RtpHeaderExtension" c:type="FsRtpHeaderExtension*"/>
1140 </return-value>
1141 <parameters>
1142 <parameter name="id" transfer-ownership="none">
1143 <doc xml:whitespace="preserve">The identifier of the RTP header extension</doc>
1144 <type name="guint" c:type="guint"/>
1145 </parameter>
1146 <parameter name="direction" transfer-ownership="none">
1147 <doc xml:whitespace="preserve">the direction in which this extension can be used</doc>
1148 <type name="StreamDirection" c:type="FsStreamDirection"/>
1149 </parameter>
1150 <parameter name="uri" transfer-ownership="none">
1151 <doc xml:whitespace="preserve">The URI that defines this extension</doc>
1152 <type name="utf8" c:type="gchar*"/>
1153 </parameter>
1154 </parameters>
1155 </constructor>
1156 <method name="are_equal"
1157 c:identifier="fs_rtp_header_extension_are_equal">
1158 <doc xml:whitespace="preserve">Compares two #FsRtpHeaderExtension structures</doc>
1159 <return-value transfer-ownership="none">
1160 <doc xml:whitespace="preserve">%TRUE if they are identical, %FALSE otherwise</doc>
1161 <type name="gboolean" c:type="gboolean"/>
1162 </return-value>
1163 <parameters>
1164 <parameter name="extension2" transfer-ownership="none">
1165 <doc xml:whitespace="preserve">The second #FsRtpHeaderExtension</doc>
1166 <type name="RtpHeaderExtension" c:type="FsRtpHeaderExtension*"/>
1167 </parameter>
1168 </parameters>
1169 </method>
1170 <method name="copy"
1171 c:identifier="fs_rtp_header_extension_copy"
1172 introspectable="0">
1173 <doc xml:whitespace="preserve">Copies a #FsRtpHeaderExtension</doc>
1174 <return-value transfer-ownership="full">
1175 <doc xml:whitespace="preserve">a new #FsRtpHeaderExtension</doc>
1176 <type name="RtpHeaderExtension" c:type="FsRtpHeaderExtension*"/>
1177 </return-value>
1178 </method>
1179 <method name="destroy"
1180 c:identifier="fs_rtp_header_extension_destroy"
1181 introspectable="0">
1182 <doc xml:whitespace="preserve">Frees the passed #FsRtpHeaderExtension</doc>
1183 <return-value transfer-ownership="none">
1184 <type name="none" c:type="void"/>
1185 </return-value>
1186 </method>
1187 </glib:boxed>
1188 <glib:boxed glib:name="RtpHeaderExtensionGList"
1189 c:symbol-prefix="rtp_header_extension_list"
1190 glib:type-name="FsRtpHeaderExtensionGList"
1191 glib:get-type="fs_rtp_header_extension_list_get_type">
1192 <function name="copy" c:identifier="fs_rtp_header_extension_list_copy">
1193 <doc xml:whitespace="preserve">Does a deep copy of a #GList of #FsRtpHeaderExtension</doc>
1194 <return-value transfer-ownership="full">
1195 <doc xml:whitespace="preserve">a new #GList of #FsRtpHeaderExtension</doc>
1196 <type name="GLib.List" c:type="GList*">
1197 <type name="RtpHeaderExtension"/>
1198 </type>
1199 </return-value>
1200 <parameters>
1201 <parameter name="extensions" transfer-ownership="none">
1202 <doc xml:whitespace="preserve">a #GList of #FsRtpHeaderExtension</doc>
1203 <type name="GLib.List" c:type="GList*">
1204 <type name="RtpHeaderExtension"/>
1205 </type>
1206 </parameter>
1207 </parameters>
1208 </function>
1209 <function name="destroy"
1210 c:identifier="fs_rtp_header_extension_list_destroy"
1211 introspectable="0">
1212 <doc xml:whitespace="preserve">Frees the passed #GList of #FsRtpHeaderExtension</doc>
1213 <return-value transfer-ownership="none">
1214 <type name="none" c:type="void"/>
1215 </return-value>
1216 <parameters>
1217 <parameter name="extensions" transfer-ownership="none">
1218 <doc xml:whitespace="preserve">a #GList of #FsRtpHeaderExtension</doc>
1219 <type name="GLib.List" c:type="GList*">
1220 <type name="gpointer" c:type="gpointer"/>
1221 </type>
1222 </parameter>
1223 </parameters>
1224 </function>
1225 <function name="from_keyfile"
1226 c:identifier="fs_rtp_header_extension_list_from_keyfile"
1227 throws="1">
1228 <doc xml:whitespace="preserve">Reads the content of a #GKeyFile of the following format into a
1229 #GList of #FsRtpHeaderExtension structures.
1230
1231 The groups have a format "rtp-hdrext:audio:XXX" or
1232 "rtp-hdrext:video:XXX" where XXX is a unique string (per media type).
1233
1234 The valid keys are:
1235 &lt;itemizedlist&gt;
1236 &lt;listitem&gt;id: a int between in the 1-255 and 4096-4351 ranges&lt;/listitem&gt;
1237 &lt;listitem&gt;uri: a URI describing the RTP Header Extension&lt;/listitem&gt;
1238 &lt;listitem&gt;direction (optional): To only send or receive a RTP Header
1239 Extension, possible values are "send", "receive", "none" or "both".
1240 Defaults to "both"&lt;/listitem&gt;
1241 &lt;/itemizedlist&gt;
1242
1243 Example:
1244 |[
1245 [rtp-hdrext:audio:a]
1246 id=1
1247 uri=urn:ietf:params:rtp-hdrext:toffset
1248
1249 [rtp-hdrext:audio:abc]
1250 id=3
1251 uri=urn:ietf:params:rtp-hdrext:ntp-64
1252 direction=receive
1253 ]|</doc>
1254 <return-value transfer-ownership="full">
1255 <doc xml:whitespace="preserve">a #GList of #FsRtpHeaderExtension that must be freed with fs_rtp_header_extension_list_destroy()</doc>
1256 <type name="GLib.List" c:type="GList*">
1257 <type name="RtpHeaderExtension"/>
1258 </type>
1259 </return-value>
1260 <parameters>
1261 <parameter name="filename" transfer-ownership="none">
1262 <doc xml:whitespace="preserve">Name of the #GKeyFile to read the RTP Header Extensions from</doc>
1263 <type name="utf8" c:type="gchar*"/>
1264 </parameter>
1265 <parameter name="media_type" transfer-ownership="none">
1266 <doc xml:whitespace="preserve">The media type for which to get header extensions</doc>
1267 <type name="MediaType" c:type="FsMediaType"/>
1268 </parameter>
1269 </parameters>
1270 </function>
1271 </glib:boxed>
1272 <class name="Session"
1273 c:symbol-prefix="session"
1274 c:type="FsSession"
1275 parent="Gst.Object"
1276 abstract="1"
1277 glib:type-name="FsSession"
1278 glib:get-type="fs_session_get_type"
1279 glib:type-struct="SessionClass">
1280 <doc xml:whitespace="preserve">All members are private, access them using methods and properties</doc>
1281 <virtual-method name="codecs_need_resend" invoker="codecs_need_resend">
1282 <doc xml:whitespace="preserve">Some codec updates need to be reliably transmitted to the other side
1283 because they contain important parameters required to decode the media.
1284 Other codec updates, caused by user action, don't.</doc>
1285 <return-value transfer-ownership="full">
1286 <doc xml:whitespace="preserve">A new #GList of #FsCodec that need to be resent or %NULL if there are none. This list must be freed with fs_codec_list_destroy().</doc>
1287 <type name="GLib.List" c:type="GList*">
1288 <type name="Codec"/>
1289 </type>
1290 </return-value>
1291 <parameters>
1292 <parameter name="old_codecs" transfer-ownership="none">
1293 <doc xml:whitespace="preserve">Codecs previously retrieved from the #FsSession:codecs property</doc>
1294 <type name="GLib.List" c:type="GList*">
1295 <type name="Codec"/>
1296 </type>
1297 </parameter>
1298 <parameter name="new_codecs" transfer-ownership="none">
1299 <doc xml:whitespace="preserve">Codecs recently retrieved from the #FsSession:codecs property</doc>
1300 <type name="GLib.List" c:type="GList*">
1301 <type name="Codec"/>
1302 </type>
1303 </parameter>
1304 </parameters>
1305 </virtual-method>
1306 <virtual-method name="get_stream_transmitter_type"
1307 invoker="get_stream_transmitter_type">
1308 <doc xml:whitespace="preserve">Returns the GType of the stream transmitter, bindings can use it
1309 to validate/convert the parameters passed to fs_session_new_stream().</doc>
1310 <return-value transfer-ownership="none">
1311 <doc xml:whitespace="preserve">The #GType of the stream transmitter</doc>
1312 <type name="GType" c:type="GType"/>
1313 </return-value>
1314 <parameters>
1315 <parameter name="transmitter" transfer-ownership="none">
1316 <doc xml:whitespace="preserve">The name of the transmitter</doc>
1317 <type name="utf8" c:type="gchar*"/>
1318 </parameter>
1319 </parameters>
1320 </virtual-method>
1321 <virtual-method name="list_transmitters" invoker="list_transmitters">
1322 <doc xml:whitespace="preserve">Get the list of all available transmitters for this session.</doc>
1323 <return-value transfer-ownership="full">
1324 <doc xml:whitespace="preserve">a newly-allocagted %NULL terminated array of named of transmitters or %NULL if no transmitter is needed for this type of session. It should be freed with g_strfreev().</doc>
1325 <array c:type="gchar**">
1326 <type name="utf8"/>
1327 </array>
1328 </return-value>
1329 </virtual-method>
1330 <virtual-method name="new_stream" invoker="new_stream" throws="1">
1331 <doc xml:whitespace="preserve">This function creates a stream for the given participant into the active session.</doc>
1332 <return-value transfer-ownership="full">
1333 <doc xml:whitespace="preserve">the new #FsStream that has been created. User must unref the #FsStream when the stream is ended. If an error occured, returns NULL.</doc>
1334 <type name="Stream" c:type="FsStream*"/>
1335 </return-value>
1336 <parameters>
1337 <parameter name="participant" transfer-ownership="none">
1338 <doc xml:whitespace="preserve">#FsParticipant of a participant for the new stream</doc>
1339 <type name="Participant" c:type="FsParticipant*"/>
1340 </parameter>
1341 <parameter name="direction" transfer-ownership="none">
1342 <doc xml:whitespace="preserve">#FsStreamDirection describing the direction of the new stream that will be created for this participant</doc>
1343 <type name="StreamDirection" c:type="FsStreamDirection"/>
1344 </parameter>
1345 </parameters>
1346 </virtual-method>
1347 <virtual-method name="set_codec_preferences"
1348 invoker="set_codec_preferences"
1349 throws="1">
1350 <doc xml:whitespace="preserve">Set the list of desired codec preferences. The user may
1351 change this value during an ongoing session. Note that doing this can cause
1352 the codecs to change. Therefore this requires the user to fetch
1353 the new codecs and renegotiate them with the peers. It is a #GList
1354 of #FsCodec. The changes are immediately effective.
1355 The function does not take ownership of the list.
1356
1357 The payload type may be a valid dynamic PT (96-127), %FS_CODEC_ID_DISABLE
1358 or %FS_CODEC_ID_ANY. If the encoding name is "reserve-pt", then the
1359 payload type of the codec will be "reserved" and not be used by any
1360 dynamically assigned payload type.
1361
1362 If the list of specifications would invalidate all codecs, an error will
1363 be returned.</doc>
1364 <return-value transfer-ownership="none">
1365 <doc xml:whitespace="preserve">%TRUE on success, %FALSE on error.</doc>
1366 <type name="gboolean" c:type="gboolean"/>
1367 </return-value>
1368 <parameters>
1369 <parameter name="codec_preferences" transfer-ownership="none">
1370 <doc xml:whitespace="preserve">a #GList of #FsCodec with the desired configuration</doc>
1371 <type name="GLib.List" c:type="GList*">
1372 <type name="Codec"/>
1373 </type>
1374 </parameter>
1375 </parameters>
1376 </virtual-method>
1377 <virtual-method name="set_send_codec"
1378 invoker="set_send_codec"
1379 throws="1">
1380 <doc xml:whitespace="preserve">This function will set the currently being sent codec for all streams in this
1381 session. The given #FsCodec must be taken directly from the #codecs
1382 property of the session. If the given codec is not in the codecs
1383 list, @error will be set and %FALSE will be returned. The @send_codec will be
1384 copied so it must be free'd using fs_codec_destroy() when done.</doc>
1385 <return-value transfer-ownership="none">
1386 <doc xml:whitespace="preserve">%FALSE if the send codec couldn't be set.</doc>
1387 <type name="gboolean" c:type="gboolean"/>
1388 </return-value>
1389 <parameters>
1390 <parameter name="send_codec" transfer-ownership="none">
1391 <doc xml:whitespace="preserve">a #FsCodec representing the codec to send</doc>
1392 <type name="Codec" c:type="FsCodec*"/>
1393 </parameter>
1394 </parameters>
1395 </virtual-method>
1396 <virtual-method name="start_telephony_event"
1397 invoker="start_telephony_event">
1398 <doc xml:whitespace="preserve">This function will start sending a telephony event (such as a DTMF
1399 tone) on the #FsSession. You have to call the function
1400 fs_session_stop_telephony_event() to stop it.
1401
1402 If this function returns %TRUE, a "farstream-telephony-event-started" will
1403 always be emitted when the event is actually played out.</doc>
1404 <return-value transfer-ownership="none">
1405 <doc xml:whitespace="preserve">%TRUE if sucessful, it can return %FALSE if the #FsStream does not support this telephony event.</doc>
1406 <type name="gboolean" c:type="gboolean"/>
1407 </return-value>
1408 <parameters>
1409 <parameter name="event" transfer-ownership="none">
1410 <doc xml:whitespace="preserve">A #FsStreamDTMFEvent or another number defined at http://www.iana.org/assignments/audio-telephone-event-registry</doc>
1411 <type name="guint8" c:type="guint8"/>
1412 </parameter>
1413 <parameter name="volume" transfer-ownership="none">
1414 <doc xml:whitespace="preserve">The volume in dBm0 without the negative sign. Should be between 0 and 36. Higher values mean lower volume</doc>
1415 <type name="guint8" c:type="guint8"/>
1416 </parameter>
1417 </parameters>
1418 </virtual-method>
1419 <virtual-method name="stop_telephony_event"
1420 invoker="stop_telephony_event">
1421 <doc xml:whitespace="preserve">This function will stop sending a telephony event started by
1422 fs_session_start_telephony_event(). If the event was being sent
1423 for less than 50ms, it will be sent for 50ms minimum. If the
1424 duration was a positive and the event is not over, it will cut it
1425 short.
1426
1427 If this function returns %TRUE, a "farstream-telephony-event-stopped" will
1428 always be emitted when the event is actually stopped.</doc>
1429 <return-value transfer-ownership="none">
1430 <doc xml:whitespace="preserve">%TRUE if sucessful, it can return %FALSE if the #FsSession does not support telephony events or if no telephony event is being sent</doc>
1431 <type name="gboolean" c:type="gboolean"/>
1432 </return-value>
1433 </virtual-method>
1434 <method name="codecs_need_resend"
1435 c:identifier="fs_session_codecs_need_resend">
1436 <doc xml:whitespace="preserve">Some codec updates need to be reliably transmitted to the other side
1437 because they contain important parameters required to decode the media.
1438 Other codec updates, caused by user action, don't.</doc>
1439 <return-value transfer-ownership="full">
1440 <doc xml:whitespace="preserve">A new #GList of #FsCodec that need to be resent or %NULL if there are none. This list must be freed with fs_codec_list_destroy().</doc>
1441 <type name="GLib.List" c:type="GList*">
1442 <type name="Codec"/>
1443 </type>
1444 </return-value>
1445 <parameters>
1446 <parameter name="old_codecs" transfer-ownership="none">
1447 <doc xml:whitespace="preserve">Codecs previously retrieved from the #FsSession:codecs property</doc>
1448 <type name="GLib.List" c:type="GList*">
1449 <type name="Codec"/>
1450 </type>
1451 </parameter>
1452 <parameter name="new_codecs" transfer-ownership="none">
1453 <doc xml:whitespace="preserve">Codecs recently retrieved from the #FsSession:codecs property</doc>
1454 <type name="GLib.List" c:type="GList*">
1455 <type name="Codec"/>
1456 </type>
1457 </parameter>
1458 </parameters>
1459 </method>
1460 <method name="destroy" c:identifier="fs_session_destroy">
1461 <doc xml:whitespace="preserve">This will cause the session to remove all links to other objects and to
1462 remove itself from the #FsConference, it will also destroy all #FsStream
1463 inside this #FsSession Once a #FsSession has been destroyed, it
1464 can not be used anymore.
1465
1466 It is strongly recommended to call this function from the main thread because
1467 releasing the application's reference to a session.</doc>
1468 <return-value transfer-ownership="none">
1469 <type name="none" c:type="void"/>
1470 </return-value>
1471 </method>
1472 <method name="emit_error" c:identifier="fs_session_emit_error">
1473 <doc xml:whitespace="preserve">This function emit the "error" signal on a #FsSession, it should only be
1474 called by subclasses.</doc>
1475 <return-value transfer-ownership="none">
1476 <type name="none" c:type="void"/>
1477 </return-value>
1478 <parameters>
1479 <parameter name="error_no" transfer-ownership="none">
1480 <doc xml:whitespace="preserve">The number of the error of type #FsError</doc>
1481 <type name="gint" c:type="gint"/>
1482 </parameter>
1483 <parameter name="error_msg" transfer-ownership="none">
1484 <doc xml:whitespace="preserve">Error message</doc>
1485 <type name="utf8" c:type="gchar*"/>
1486 </parameter>
1487 </parameters>
1488 </method>
1489 <method name="get_stream_transmitter_type"
1490 c:identifier="fs_session_get_stream_transmitter_type">
1491 <doc xml:whitespace="preserve">Returns the GType of the stream transmitter, bindings can use it
1492 to validate/convert the parameters passed to fs_session_new_stream().</doc>
1493 <return-value transfer-ownership="none">
1494 <doc xml:whitespace="preserve">The #GType of the stream transmitter</doc>
1495 <type name="GType" c:type="GType"/>
1496 </return-value>
1497 <parameters>
1498 <parameter name="transmitter" transfer-ownership="none">
1499 <doc xml:whitespace="preserve">The name of the transmitter</doc>
1500 <type name="utf8" c:type="gchar*"/>
1501 </parameter>
1502 </parameters>
1503 </method>
1504 <method name="list_transmitters"
1505 c:identifier="fs_session_list_transmitters">
1506 <doc xml:whitespace="preserve">Get the list of all available transmitters for this session.</doc>
1507 <return-value transfer-ownership="full">
1508 <doc xml:whitespace="preserve">a newly-allocagted %NULL terminated array of named of transmitters or %NULL if no transmitter is needed for this type of session. It should be freed with g_strfreev().</doc>
1509 <array c:type="gchar**">
1510 <type name="utf8"/>
1511 </array>
1512 </return-value>
1513 </method>
1514 <method name="new_stream"
1515 c:identifier="fs_session_new_stream"
1516 throws="1">
1517 <doc xml:whitespace="preserve">This function creates a stream for the given participant into the active session.</doc>
1518 <return-value transfer-ownership="full">
1519 <doc xml:whitespace="preserve">the new #FsStream that has been created. User must unref the #FsStream when the stream is ended. If an error occured, returns NULL.</doc>
1520 <type name="Stream" c:type="FsStream*"/>
1521 </return-value>
1522 <parameters>
1523 <parameter name="participant" transfer-ownership="none">
1524 <doc xml:whitespace="preserve">#FsParticipant of a participant for the new stream</doc>
1525 <type name="Participant" c:type="FsParticipant*"/>
1526 </parameter>
1527 <parameter name="direction" transfer-ownership="none">
1528 <doc xml:whitespace="preserve">#FsStreamDirection describing the direction of the new stream that will be created for this participant</doc>
1529 <type name="StreamDirection" c:type="FsStreamDirection"/>
1530 </parameter>
1531 </parameters>
1532 </method>
1533 <method name="parse_codecs_changed"
1534 c:identifier="fs_session_parse_codecs_changed">
1535 <doc xml:whitespace="preserve">Parses a "farstream-codecs-changed" message and checks if it matches
1536 the @session parameters.</doc>
1537 <return-value transfer-ownership="none">
1538 <doc xml:whitespace="preserve">%TRUE if the message matches the session and is valid.</doc>
1539 <type name="gboolean" c:type="gboolean"/>
1540 </return-value>
1541 <parameters>
1542 <parameter name="message" transfer-ownership="none">
1543 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
1544 <type name="Gst.Message" c:type="GstMessage*"/>
1545 </parameter>
1546 </parameters>
1547 </method>
1548 <method name="parse_send_codec_changed"
1549 c:identifier="fs_session_parse_send_codec_changed">
1550 <doc xml:whitespace="preserve">Parses a "farstream-send-codec-changed" message and checks if it matches
1551 the @session parameters.</doc>
1552 <return-value transfer-ownership="none">
1553 <doc xml:whitespace="preserve">%TRUE if the message matches the session and is valid.</doc>
1554 <type name="gboolean" c:type="gboolean"/>
1555 </return-value>
1556 <parameters>
1557 <parameter name="message" transfer-ownership="none">
1558 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
1559 <type name="Gst.Message" c:type="GstMessage*"/>
1560 </parameter>
1561 <parameter name="codec"
1562 direction="out"
1563 caller-allocates="0"
1564 transfer-ownership="none">
1565 <doc xml:whitespace="preserve">Returns the #FsCodec in the message if not %NULL.</doc>
1566 <type name="Codec" c:type="FsCodec**"/>
1567 </parameter>
1568 <parameter name="secondary_codecs"
1569 direction="out"
1570 caller-allocates="0"
1571 transfer-ownership="none">
1572 <doc xml:whitespace="preserve">Returns a #GList of #FsCodec of the message if not %NULL</doc>
1573 <type name="GLib.List" c:type="GList**">
1574 <type name="Codec"/>
1575 </type>
1576 </parameter>
1577 </parameters>
1578 </method>
1579 <method name="parse_telephony_event_started"
1580 c:identifier="fs_session_parse_telephony_event_started">
1581 <doc xml:whitespace="preserve">Parses a "farstream-telephony-event-started" message and checks if it matches
1582 the @session parameters.</doc>
1583 <return-value transfer-ownership="none">
1584 <doc xml:whitespace="preserve">%TRUE if the message matches the session and is valid.</doc>
1585 <type name="gboolean" c:type="gboolean"/>
1586 </return-value>
1587 <parameters>
1588 <parameter name="message" transfer-ownership="none">
1589 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
1590 <type name="Gst.Message" c:type="GstMessage*"/>
1591 </parameter>
1592 <parameter name="method"
1593 direction="out"
1594 caller-allocates="0"
1595 transfer-ownership="full">
1596 <doc xml:whitespace="preserve">Returns the #FsDTMFMethod in the message if not %NULL.</doc>
1597 <type name="DTMFMethod" c:type="FsDTMFMethod*"/>
1598 </parameter>
1599 <parameter name="event"
1600 direction="out"
1601 caller-allocates="0"
1602 transfer-ownership="full">
1603 <doc xml:whitespace="preserve">Returns the #FsDTMFEvent in the message if not %NULL.</doc>
1604 <type name="DTMFEvent" c:type="FsDTMFEvent*"/>
1605 </parameter>
1606 <parameter name="volume"
1607 direction="out"
1608 caller-allocates="0"
1609 transfer-ownership="full">
1610 <doc xml:whitespace="preserve">Returns the volume in the message if not %NULL.</doc>
1611 <type name="guint8" c:type="guint8*"/>
1612 </parameter>
1613 </parameters>
1614 </method>
1615 <method name="parse_telephony_event_stopped"
1616 c:identifier="fs_session_parse_telephony_event_stopped">
1617 <doc xml:whitespace="preserve">Parses a "farstream-telephony-event-stopped" message and checks if it matches
1618 the @session parameters.</doc>
1619 <return-value transfer-ownership="none">
1620 <doc xml:whitespace="preserve">%TRUE if the message matches the session and is valid.</doc>
1621 <type name="gboolean" c:type="gboolean"/>
1622 </return-value>
1623 <parameters>
1624 <parameter name="message" transfer-ownership="none">
1625 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
1626 <type name="Gst.Message" c:type="GstMessage*"/>
1627 </parameter>
1628 <parameter name="method"
1629 direction="out"
1630 caller-allocates="0"
1631 transfer-ownership="full">
1632 <doc xml:whitespace="preserve">Returns the #FsDTMFMethod in the message if not %NULL.</doc>
1633 <type name="DTMFMethod" c:type="FsDTMFMethod*"/>
1634 </parameter>
1635 </parameters>
1636 </method>
1637 <method name="set_codec_preferences"
1638 c:identifier="fs_session_set_codec_preferences"
1639 throws="1">
1640 <doc xml:whitespace="preserve">Set the list of desired codec preferences. The user may
1641 change this value during an ongoing session. Note that doing this can cause
1642 the codecs to change. Therefore this requires the user to fetch
1643 the new codecs and renegotiate them with the peers. It is a #GList
1644 of #FsCodec. The changes are immediately effective.
1645 The function does not take ownership of the list.
1646
1647 The payload type may be a valid dynamic PT (96-127), %FS_CODEC_ID_DISABLE
1648 or %FS_CODEC_ID_ANY. If the encoding name is "reserve-pt", then the
1649 payload type of the codec will be "reserved" and not be used by any
1650 dynamically assigned payload type.
1651
1652 If the list of specifications would invalidate all codecs, an error will
1653 be returned.</doc>
1654 <return-value transfer-ownership="none">
1655 <doc xml:whitespace="preserve">%TRUE on success, %FALSE on error.</doc>
1656 <type name="gboolean" c:type="gboolean"/>
1657 </return-value>
1658 <parameters>
1659 <parameter name="codec_preferences" transfer-ownership="none">
1660 <doc xml:whitespace="preserve">a #GList of #FsCodec with the desired configuration</doc>
1661 <type name="GLib.List" c:type="GList*">
1662 <type name="Codec"/>
1663 </type>
1664 </parameter>
1665 </parameters>
1666 </method>
1667 <method name="set_send_codec"
1668 c:identifier="fs_session_set_send_codec"
1669 throws="1">
1670 <doc xml:whitespace="preserve">This function will set the currently being sent codec for all streams in this
1671 session. The given #FsCodec must be taken directly from the #codecs
1672 property of the session. If the given codec is not in the codecs
1673 list, @error will be set and %FALSE will be returned. The @send_codec will be
1674 copied so it must be free'd using fs_codec_destroy() when done.</doc>
1675 <return-value transfer-ownership="none">
1676 <doc xml:whitespace="preserve">%FALSE if the send codec couldn't be set.</doc>
1677 <type name="gboolean" c:type="gboolean"/>
1678 </return-value>
1679 <parameters>
1680 <parameter name="send_codec" transfer-ownership="none">
1681 <doc xml:whitespace="preserve">a #FsCodec representing the codec to send</doc>
1682 <type name="Codec" c:type="FsCodec*"/>
1683 </parameter>
1684 </parameters>
1685 </method>
1686 <method name="start_telephony_event"
1687 c:identifier="fs_session_start_telephony_event">
1688 <doc xml:whitespace="preserve">This function will start sending a telephony event (such as a DTMF
1689 tone) on the #FsSession. You have to call the function
1690 fs_session_stop_telephony_event() to stop it.
1691
1692 If this function returns %TRUE, a "farstream-telephony-event-started" will
1693 always be emitted when the event is actually played out.</doc>
1694 <return-value transfer-ownership="none">
1695 <doc xml:whitespace="preserve">%TRUE if sucessful, it can return %FALSE if the #FsStream does not support this telephony event.</doc>
1696 <type name="gboolean" c:type="gboolean"/>
1697 </return-value>
1698 <parameters>
1699 <parameter name="event" transfer-ownership="none">
1700 <doc xml:whitespace="preserve">A #FsStreamDTMFEvent or another number defined at http://www.iana.org/assignments/audio-telephone-event-registry</doc>
1701 <type name="guint8" c:type="guint8"/>
1702 </parameter>
1703 <parameter name="volume" transfer-ownership="none">
1704 <doc xml:whitespace="preserve">The volume in dBm0 without the negative sign. Should be between 0 and 36. Higher values mean lower volume</doc>
1705 <type name="guint8" c:type="guint8"/>
1706 </parameter>
1707 </parameters>
1708 </method>
1709 <method name="stop_telephony_event"
1710 c:identifier="fs_session_stop_telephony_event">
1711 <doc xml:whitespace="preserve">This function will stop sending a telephony event started by
1712 fs_session_start_telephony_event(). If the event was being sent
1713 for less than 50ms, it will be sent for 50ms minimum. If the
1714 duration was a positive and the event is not over, it will cut it
1715 short.
1716
1717 If this function returns %TRUE, a "farstream-telephony-event-stopped" will
1718 always be emitted when the event is actually stopped.</doc>
1719 <return-value transfer-ownership="none">
1720 <doc xml:whitespace="preserve">%TRUE if sucessful, it can return %FALSE if the #FsSession does not support telephony events or if no telephony event is being sent</doc>
1721 <type name="gboolean" c:type="gboolean"/>
1722 </return-value>
1723 </method>
1724 <property name="codec-preferences" transfer-ownership="full">
1725 <doc xml:whitespace="preserve">This is the current preferences list for the local codecs. It is
1726 set by the user to specify the codec options and priorities. The user may
1727 change its value with fs_session_set_codec_preferences() at any time
1728 during a session. It is a #GList of #FsCodec.
1729 The user must free this codec list using fs_codec_list_destroy() when done.
1730
1731 The payload type may be a valid dynamic PT (96-127), %FS_CODEC_ID_DISABLE
1732 or %FS_CODEC_ID_ANY. If the encoding name is "reserve-pt", then the
1733 payload type of the codec will be "reserved" and not be used by any
1734 dynamically assigned payload type.</doc>
1735 <type name="GLib.List">
1736 <type name="Codec"/>
1737 </type>
1738 </property>
1739 <property name="codecs" transfer-ownership="full">
1740 <doc xml:whitespace="preserve">This is the list of codecs used for this session. It will include the
1741 codecs and payload type used to receive media on this session. It will
1742 also include any configuration parameter that must be transmitted reliably
1743 for the other end to decode the content.
1744
1745 It may change when the codec preferences are set, when codecs are set
1746 on a #FsStream in this session, when a #FsStream is destroyed or
1747 asynchronously when new config data is discovered.
1748
1749 If any configuration parameter needs to be discovered, this property
1750 will be %NULL until they have been discovered. One can always get
1751 the codecs from #FsSession:codecs-without-config.
1752 The "farstream-codecs-changed" message will be emitted whenever the value
1753 of this property changes.
1754
1755 It is a #GList of #FsCodec. User must free this codec list using
1756 fs_codec_list_destroy() when done.</doc>
1757 <type name="GLib.List">
1758 <type name="Codec"/>
1759 </type>
1760 </property>
1761 <property name="codecs-without-config" transfer-ownership="full">
1762 <doc xml:whitespace="preserve">This is the same list of codecs as #FsSession:codecs without
1763 the configuration information that describes the data sent. It is suitable
1764 for configurations where a list of codecs is shared by many senders.
1765 If one is using codecs such as Theora, Vorbis or H.264 that require
1766 such information to be transmitted, the configuration data should be
1767 included in the stream and retransmitted regularly.
1768
1769 It may change when the codec preferences are set, when codecs are set
1770 on a #FsStream in this session, when a #FsStream is destroyed or
1771 asynchronously when new config data is discovered.
1772
1773 The "farstream-codecs-changed" message will be emitted whenever the value
1774 of this property changes.
1775
1776 It is a #GList of #FsCodec. User must free this codec list using
1777 fs_codec_list_destroy() when done.</doc>
1778 <type name="GLib.List">
1779 <type name="Codec"/>
1780 </type>
1781 </property>
1782 <property name="conference"
1783 writable="1"
1784 construct-only="1"
1785 transfer-ownership="none">
1786 <doc xml:whitespace="preserve">The #FsConference parent of this session. This property is a
1787 construct param and is read-only.</doc>
1788 <type name="Conference"/>
1789 </property>
1790 <property name="current-send-codec" transfer-ownership="none">
1791 <doc xml:whitespace="preserve">Indicates the currently active send codec. A user can change the active
1792 send codec by calling fs_session_set_send_codec(). The send codec could
1793 also be automatically changed by Farstream. This property is an
1794 #FsCodec. User must free the codec using fs_codec_destroy() when done.
1795 The "farstream-send-codec-changed" message is emitted on the bus when
1796 the value of this property changes.</doc>
1797 <type name="Codec"/>
1798 </property>
1799 <property name="id"
1800 writable="1"
1801 construct-only="1"
1802 transfer-ownership="none">
1803 <doc xml:whitespace="preserve">The ID of the session, the first number of the pads linked to this session
1804 will be this id</doc>
1805 <type name="guint"/>
1806 </property>
1807 <property name="media-type"
1808 writable="1"
1809 construct-only="1"
1810 transfer-ownership="none">
1811 <doc xml:whitespace="preserve">The media-type of the session. This is either Audio, Video or both.
1812 This is a constructor parameter that cannot be changed.</doc>
1813 <type name="MediaType"/>
1814 </property>
1815 <property name="sink-pad" transfer-ownership="none">
1816 <doc xml:whitespace="preserve">The Gstreamer sink pad that must be used to send media data on this
1817 session. User must unref this GstPad when done with it.</doc>
1818 <type name="Gst.Pad"/>
1819 </property>
1820 <property name="tos" writable="1" transfer-ownership="none">
1821 <doc xml:whitespace="preserve">Sets the IP ToS field (and if possible the IPv6 TCLASS field</doc>
1822 <type name="guint"/>
1823 </property>
1824 <field name="parent">
1825 <type name="Gst.Object" c:type="GstObject"/>
1826 </field>
1827 <field name="priv" readable="0" private="1">
1828 <type name="SessionPrivate" c:type="FsSessionPrivate*"/>
1829 </field>
1830 <field name="_padding" readable="0" private="1">
1831 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
1832 <type name="gpointer" c:type="gpointer"/>
1833 </array>
1834 </field>
1835 <glib:signal name="error" when="last">
1836 <doc xml:whitespace="preserve">This signal is emitted in any error condition, it can be emitted on any
1837 thread. Applications should listen to the GstBus for errors.</doc>
1838 <return-value transfer-ownership="none">
1839 <type name="none"/>
1840 </return-value>
1841 <parameters>
1842 <parameter name="object" transfer-ownership="none">
1843 <doc xml:whitespace="preserve">The #Gobject that emitted the signal</doc>
1844 <type name="GObject.Object"/>
1845 </parameter>
1846 <parameter name="error_no" transfer-ownership="none">
1847 <doc xml:whitespace="preserve">The number of the error</doc>
1848 <type name="Error"/>
1849 </parameter>
1850 <parameter name="error_msg" transfer-ownership="none">
1851 <doc xml:whitespace="preserve">Error message</doc>
1852 <type name="utf8"/>
1853 </parameter>
1854 </parameters>
1855 </glib:signal>
1856 </class>
1857 <record name="SessionClass"
1858 c:type="FsSessionClass"
1859 glib:is-gtype-struct-for="Session">
1860 <doc xml:whitespace="preserve">You must override at least new_stream in a subclass.</doc>
1861 <field name="parent_class">
1862 <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
1863 </field>
1864 <field name="new_stream">
1865 <callback name="new_stream" throws="1">
1866 <return-value transfer-ownership="full">
1867 <doc xml:whitespace="preserve">the new #FsStream that has been created. User must unref the #FsStream when the stream is ended. If an error occured, returns NULL.</doc>
1868 <type name="Stream" c:type="FsStream*"/>
1869 </return-value>
1870 <parameters>
1871 <parameter name="session" transfer-ownership="none">
1872 <type name="Session" c:type="FsSession*"/>
1873 </parameter>
1874 <parameter name="participant" transfer-ownership="none">
1875 <doc xml:whitespace="preserve">#FsParticipant of a participant for the new stream</doc>
1876 <type name="Participant" c:type="FsParticipant*"/>
1877 </parameter>
1878 <parameter name="direction" transfer-ownership="none">
1879 <doc xml:whitespace="preserve">#FsStreamDirection describing the direction of the new stream that will be created for this participant</doc>
1880 <type name="StreamDirection" c:type="FsStreamDirection"/>
1881 </parameter>
1882 </parameters>
1883 </callback>
1884 </field>
1885 <field name="start_telephony_event">
1886 <callback name="start_telephony_event">
1887 <return-value transfer-ownership="none">
1888 <doc xml:whitespace="preserve">%TRUE if sucessful, it can return %FALSE if the #FsStream does not support this telephony event.</doc>
1889 <type name="gboolean" c:type="gboolean"/>
1890 </return-value>
1891 <parameters>
1892 <parameter name="session" transfer-ownership="none">
1893 <type name="Session" c:type="FsSession*"/>
1894 </parameter>
1895 <parameter name="event" transfer-ownership="none">
1896 <doc xml:whitespace="preserve">A #FsStreamDTMFEvent or another number defined at http://www.iana.org/assignments/audio-telephone-event-registry</doc>
1897 <type name="guint8" c:type="guint8"/>
1898 </parameter>
1899 <parameter name="volume" transfer-ownership="none">
1900 <doc xml:whitespace="preserve">The volume in dBm0 without the negative sign. Should be between 0 and 36. Higher values mean lower volume</doc>
1901 <type name="guint8" c:type="guint8"/>
1902 </parameter>
1903 </parameters>
1904 </callback>
1905 </field>
1906 <field name="stop_telephony_event">
1907 <callback name="stop_telephony_event">
1908 <return-value transfer-ownership="none">
1909 <doc xml:whitespace="preserve">%TRUE if sucessful, it can return %FALSE if the #FsSession does not support telephony events or if no telephony event is being sent</doc>
1910 <type name="gboolean" c:type="gboolean"/>
1911 </return-value>
1912 <parameters>
1913 <parameter name="session" transfer-ownership="none">
1914 <type name="Session" c:type="FsSession*"/>
1915 </parameter>
1916 </parameters>
1917 </callback>
1918 </field>
1919 <field name="set_send_codec">
1920 <callback name="set_send_codec" throws="1">
1921 <return-value transfer-ownership="none">
1922 <doc xml:whitespace="preserve">%FALSE if the send codec couldn't be set.</doc>
1923 <type name="gboolean" c:type="gboolean"/>
1924 </return-value>
1925 <parameters>
1926 <parameter name="session" transfer-ownership="none">
1927 <type name="Session" c:type="FsSession*"/>
1928 </parameter>
1929 <parameter name="send_codec" transfer-ownership="none">
1930 <doc xml:whitespace="preserve">a #FsCodec representing the codec to send</doc>
1931 <type name="Codec" c:type="FsCodec*"/>
1932 </parameter>
1933 </parameters>
1934 </callback>
1935 </field>
1936 <field name="set_codec_preferences">
1937 <callback name="set_codec_preferences" throws="1">
1938 <return-value transfer-ownership="none">
1939 <doc xml:whitespace="preserve">%TRUE on success, %FALSE on error.</doc>
1940 <type name="gboolean" c:type="gboolean"/>
1941 </return-value>
1942 <parameters>
1943 <parameter name="session" transfer-ownership="none">
1944 <type name="Session" c:type="FsSession*"/>
1945 </parameter>
1946 <parameter name="codec_preferences" transfer-ownership="none">
1947 <doc xml:whitespace="preserve">a #GList of #FsCodec with the desired configuration</doc>
1948 <type name="GLib.List" c:type="GList*">
1949 <type name="Codec"/>
1950 </type>
1951 </parameter>
1952 </parameters>
1953 </callback>
1954 </field>
1955 <field name="list_transmitters">
1956 <callback name="list_transmitters">
1957 <return-value transfer-ownership="full">
1958 <doc xml:whitespace="preserve">a newly-allocagted %NULL terminated array of named of transmitters or %NULL if no transmitter is needed for this type of session. It should be freed with g_strfreev().</doc>
1959 <array c:type="gchar**">
1960 <type name="utf8"/>
1961 </array>
1962 </return-value>
1963 <parameters>
1964 <parameter name="session" transfer-ownership="none">
1965 <type name="Session" c:type="FsSession*"/>
1966 </parameter>
1967 </parameters>
1968 </callback>
1969 </field>
1970 <field name="get_stream_transmitter_type">
1971 <callback name="get_stream_transmitter_type">
1972 <return-value transfer-ownership="none">
1973 <doc xml:whitespace="preserve">The #GType of the stream transmitter</doc>
1974 <type name="GType" c:type="GType"/>
1975 </return-value>
1976 <parameters>
1977 <parameter name="session" transfer-ownership="none">
1978 <type name="Session" c:type="FsSession*"/>
1979 </parameter>
1980 <parameter name="transmitter" transfer-ownership="none">
1981 <doc xml:whitespace="preserve">The name of the transmitter</doc>
1982 <type name="utf8" c:type="gchar*"/>
1983 </parameter>
1984 </parameters>
1985 </callback>
1986 </field>
1987 <field name="codecs_need_resend">
1988 <callback name="codecs_need_resend">
1989 <return-value transfer-ownership="full">
1990 <doc xml:whitespace="preserve">A new #GList of #FsCodec that need to be resent or %NULL if there are none. This list must be freed with fs_codec_list_destroy().</doc>
1991 <type name="GLib.List" c:type="GList*">
1992 <type name="Codec"/>
1993 </type>
1994 </return-value>
1995 <parameters>
1996 <parameter name="session" transfer-ownership="none">
1997 <type name="Session" c:type="FsSession*"/>
1998 </parameter>
1999 <parameter name="old_codecs" transfer-ownership="none">
2000 <doc xml:whitespace="preserve">Codecs previously retrieved from the #FsSession:codecs property</doc>
2001 <type name="GLib.List" c:type="GList*">
2002 <type name="Codec"/>
2003 </type>
2004 </parameter>
2005 <parameter name="new_codecs" transfer-ownership="none">
2006 <doc xml:whitespace="preserve">Codecs recently retrieved from the #FsSession:codecs property</doc>
2007 <type name="GLib.List" c:type="GList*">
2008 <type name="Codec"/>
2009 </type>
2010 </parameter>
2011 </parameters>
2012 </callback>
2013 </field>
2014 <field name="_padding" readable="0" private="1">
2015 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
2016 <type name="gpointer" c:type="gpointer"/>
2017 </array>
2018 </field>
2019 </record>
2020 <record name="SessionPrivate" c:type="FsSessionPrivate" disguised="1">
2021 </record>
2022 <class name="Stream"
2023 c:symbol-prefix="stream"
2024 c:type="FsStream"
2025 parent="Gst.Object"
2026 abstract="1"
2027 glib:type-name="FsStream"
2028 glib:get-type="fs_stream_get_type"
2029 glib:type-struct="StreamClass">
2030 <doc xml:whitespace="preserve">All members are private, access them using methods and properties</doc>
2031 <virtual-method name="add_id" invoker="add_id">
2032 <doc xml:whitespace="preserve">This function is used to add data identifiers that allow the
2033 plugin to recognize packets that are meant for id. For example, in RTP,
2034 one would set the SSRCs that are expected.
2035
2036 Depending on the protocol, one may be able to add more than one ID
2037 to a stream (in RTP you can have multiple SSRCs in a stream).
2038 If a protocol supports only one id, adding a new one will overwrite it.
2039 If an ID was already set on a stream, adding it to another stream will
2040 override the previdous decision.
2041
2042 For most protocols, calling this function is optional as the incoming data
2043 can be matched with a stream by its source IP address. This is mostly useful
2044 if one is using multicast or is behind a muxer server.</doc>
2045 <return-value transfer-ownership="none">
2046 <type name="none" c:type="void"/>
2047 </return-value>
2048 <parameters>
2049 <parameter name="id" transfer-ownership="none">
2050 <doc xml:whitespace="preserve">The id to add to the stream</doc>
2051 <type name="guint" c:type="guint"/>
2052 </parameter>
2053 </parameters>
2054 </virtual-method>
2055 <virtual-method name="add_remote_candidates"
2056 invoker="add_remote_candidates"
2057 throws="1">
2058 <doc xml:whitespace="preserve">This function adds remote candidates. Any new candidates are
2059 added to the list. The candidates will be used to establish a connection
2060 with the peer. A copy will be made so the user must free the
2061 passed candidate using fs_candidate_destroy() when done.</doc>
2062 <return-value transfer-ownership="none">
2063 <doc xml:whitespace="preserve">TRUE if the candidate was valid, FALSE otherwise</doc>
2064 <type name="gboolean" c:type="gboolean"/>
2065 </return-value>
2066 <parameters>
2067 <parameter name="candidates" transfer-ownership="none">
2068 <doc xml:whitespace="preserve">an #GList of #FsCandidate representing the remote candidates</doc>
2069 <type name="GLib.List" c:type="GList*">
2070 <type name="Candidate"/>
2071 </type>
2072 </parameter>
2073 </parameters>
2074 </virtual-method>
2075 <virtual-method name="force_remote_candidates"
2076 invoker="force_remote_candidates"
2077 throws="1">
2078 <doc xml:whitespace="preserve">This function forces data to be sent immediately to the selected remote
2079 candidate, by-passing any connectivity checks. There should be at most
2080 one candidate per component.</doc>
2081 <return-value transfer-ownership="none">
2082 <doc xml:whitespace="preserve">%TRUE if the candidates could be forced, %FALSE otherwise</doc>
2083 <type name="gboolean" c:type="gboolean"/>
2084 </return-value>
2085 <parameters>
2086 <parameter name="remote_candidates" transfer-ownership="none">
2087 <doc xml:whitespace="preserve">a #GList of #FsCandidate to force</doc>
2088 <type name="GLib.List" c:type="GList*">
2089 <type name="Candidate"/>
2090 </type>
2091 </parameter>
2092 </parameters>
2093 </virtual-method>
2094 <virtual-method name="set_remote_codecs"
2095 invoker="set_remote_codecs"
2096 throws="1">
2097 <doc xml:whitespace="preserve">This function will set the list of remote codecs for this stream. If
2098 the given remote codecs couldn't be negotiated with the list of local
2099 codecs or already negotiated codecs for the corresponding #FsSession, @error
2100 will be set and %FALSE will be returned. The @remote_codecs list will be
2101 copied so it must be free'd using fs_codec_list_destroy() when done.</doc>
2102 <return-value transfer-ownership="none">
2103 <doc xml:whitespace="preserve">%FALSE if the remote codecs couldn't be set.</doc>
2104 <type name="gboolean" c:type="gboolean"/>
2105 </return-value>
2106 <parameters>
2107 <parameter name="remote_codecs" transfer-ownership="none">
2108 <doc xml:whitespace="preserve">a #GList of #FsCodec representing the remote codecs</doc>
2109 <type name="GLib.List" c:type="GList*">
2110 <type name="Codec"/>
2111 </type>
2112 </parameter>
2113 </parameters>
2114 </virtual-method>
2115 <virtual-method name="set_transmitter"
2116 invoker="set_transmitter"
2117 throws="1">
2118 <doc xml:whitespace="preserve">Set the transmitter to use for this stream. This function will only succeed
2119 once.
2120
2121 The parameters correspond to the varios GObject properties of the
2122 selected stream transmitter.</doc>
2123 <return-value transfer-ownership="none">
2124 <doc xml:whitespace="preserve">%TRUE if the transmitter could be set, %FALSE otherwise</doc>
2125 <type name="gboolean" c:type="gboolean"/>
2126 </return-value>
2127 <parameters>
2128 <parameter name="transmitter" transfer-ownership="none">
2129 <doc xml:whitespace="preserve">Name of the type of transmitter to use for this stream</doc>
2130 <type name="utf8" c:type="gchar*"/>
2131 </parameter>
2132 <parameter name="stream_transmitter_parameters"
2133 transfer-ownership="none"
2134 allow-none="1">
2135 <doc xml:whitespace="preserve">an array of n_parameters #GParameter struct that will be passed to the newly-create #FsStreamTransmitter</doc>
2136 <array length="2" zero-terminated="0" c:type="GParameter*">
2137 <type name="GObject.Parameter" c:type="GParameter"/>
2138 </array>
2139 </parameter>
2140 <parameter name="stream_transmitter_n_parameters"
2141 transfer-ownership="none">
2142 <doc xml:whitespace="preserve">Number of parametrs passed to the stream transmitter</doc>
2143 <type name="guint" c:type="guint"/>
2144 </parameter>
2145 </parameters>
2146 </virtual-method>
2147 <method name="add_id" c:identifier="fs_stream_add_id">
2148 <doc xml:whitespace="preserve">This function is used to add data identifiers that allow the
2149 plugin to recognize packets that are meant for id. For example, in RTP,
2150 one would set the SSRCs that are expected.
2151
2152 Depending on the protocol, one may be able to add more than one ID
2153 to a stream (in RTP you can have multiple SSRCs in a stream).
2154 If a protocol supports only one id, adding a new one will overwrite it.
2155 If an ID was already set on a stream, adding it to another stream will
2156 override the previdous decision.
2157
2158 For most protocols, calling this function is optional as the incoming data
2159 can be matched with a stream by its source IP address. This is mostly useful
2160 if one is using multicast or is behind a muxer server.</doc>
2161 <return-value transfer-ownership="none">
2162 <type name="none" c:type="void"/>
2163 </return-value>
2164 <parameters>
2165 <parameter name="id" transfer-ownership="none">
2166 <doc xml:whitespace="preserve">The id to add to the stream</doc>
2167 <type name="guint" c:type="guint"/>
2168 </parameter>
2169 </parameters>
2170 </method>
2171 <method name="add_remote_candidates"
2172 c:identifier="fs_stream_add_remote_candidates"
2173 throws="1">
2174 <doc xml:whitespace="preserve">This function adds remote candidates. Any new candidates are
2175 added to the list. The candidates will be used to establish a connection
2176 with the peer. A copy will be made so the user must free the
2177 passed candidate using fs_candidate_destroy() when done.</doc>
2178 <return-value transfer-ownership="none">
2179 <doc xml:whitespace="preserve">TRUE if the candidate was valid, FALSE otherwise</doc>
2180 <type name="gboolean" c:type="gboolean"/>
2181 </return-value>
2182 <parameters>
2183 <parameter name="candidates" transfer-ownership="none">
2184 <doc xml:whitespace="preserve">an #GList of #FsCandidate representing the remote candidates</doc>
2185 <type name="GLib.List" c:type="GList*">
2186 <type name="Candidate"/>
2187 </type>
2188 </parameter>
2189 </parameters>
2190 </method>
2191 <method name="destroy" c:identifier="fs_stream_destroy">
2192 <doc xml:whitespace="preserve">This will cause the stream to remove all links to other objects and to
2193 remove itself from the #FsSession. Once a #FsStream has been destroyed, it
2194 can not be used anymore.
2195
2196 It is strongly recommended to call this function from the main thread because
2197 releasing the application's reference to a stream.</doc>
2198 <return-value transfer-ownership="none">
2199 <type name="none" c:type="void"/>
2200 </return-value>
2201 </method>
2202 <method name="emit_error" c:identifier="fs_stream_emit_error">
2203 <doc xml:whitespace="preserve">This function emits the #FsStream::error" signal, it should only be
2204 called by subclasses.</doc>
2205 <return-value transfer-ownership="none">
2206 <type name="none" c:type="void"/>
2207 </return-value>
2208 <parameters>
2209 <parameter name="error_no" transfer-ownership="none">
2210 <doc xml:whitespace="preserve">The number of the error</doc>
2211 <type name="gint" c:type="gint"/>
2212 </parameter>
2213 <parameter name="error_msg" transfer-ownership="none">
2214 <doc xml:whitespace="preserve">Error message to be displayed to user</doc>
2215 <type name="utf8" c:type="gchar*"/>
2216 </parameter>
2217 </parameters>
2218 </method>
2219 <method name="emit_src_pad_added"
2220 c:identifier="fs_stream_emit_src_pad_added">
2221 <doc xml:whitespace="preserve">Emits the #FsStream::src-pad-added" signal, it should only be
2222 called by subclasses.</doc>
2223 <return-value transfer-ownership="none">
2224 <type name="none" c:type="void"/>
2225 </return-value>
2226 <parameters>
2227 <parameter name="pad" transfer-ownership="none">
2228 <doc xml:whitespace="preserve">the #GstPad that this #FsStream has created</doc>
2229 <type name="Gst.Pad" c:type="GstPad*"/>
2230 </parameter>
2231 <parameter name="codec" transfer-ownership="none">
2232 <doc xml:whitespace="preserve">The #FsCodec for this pad</doc>
2233 <type name="Codec" c:type="FsCodec*"/>
2234 </parameter>
2235 </parameters>
2236 </method>
2237 <method name="force_remote_candidates"
2238 c:identifier="fs_stream_force_remote_candidates"
2239 throws="1">
2240 <doc xml:whitespace="preserve">This function forces data to be sent immediately to the selected remote
2241 candidate, by-passing any connectivity checks. There should be at most
2242 one candidate per component.</doc>
2243 <return-value transfer-ownership="none">
2244 <doc xml:whitespace="preserve">%TRUE if the candidates could be forced, %FALSE otherwise</doc>
2245 <type name="gboolean" c:type="gboolean"/>
2246 </return-value>
2247 <parameters>
2248 <parameter name="remote_candidates" transfer-ownership="none">
2249 <doc xml:whitespace="preserve">a #GList of #FsCandidate to force</doc>
2250 <type name="GLib.List" c:type="GList*">
2251 <type name="Candidate"/>
2252 </type>
2253 </parameter>
2254 </parameters>
2255 </method>
2256 <method name="iterate_src_pads"
2257 c:identifier="fs_stream_iterate_src_pads">
2258 <doc xml:whitespace="preserve">Creates a #GstIterator that can be used to iterate the src pads of this
2259 stream. These are the pads that were announced by #FsStream:src-pad-added
2260 and are still valid.</doc>
2261 <return-value transfer-ownership="full">
2262 <doc xml:whitespace="preserve">The #GstIterator</doc>
2263 <type name="Gst.Iterator" c:type="GstIterator*"/>
2264 </return-value>
2265 </method>
2266 <method name="parse_component_state_changed"
2267 c:identifier="fs_stream_parse_component_state_changed">
2268 <doc xml:whitespace="preserve">Parses a "farstream-component-state-changed" message and checks if it matches
2269 the @stream parameters.</doc>
2270 <return-value transfer-ownership="none">
2271 <doc xml:whitespace="preserve">%TRUE if the message matches the stream and is valid.</doc>
2272 <type name="gboolean" c:type="gboolean"/>
2273 </return-value>
2274 <parameters>
2275 <parameter name="message" transfer-ownership="none">
2276 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
2277 <type name="Gst.Message" c:type="GstMessage*"/>
2278 </parameter>
2279 <parameter name="component"
2280 direction="out"
2281 caller-allocates="0"
2282 transfer-ownership="full">
2283 <doc xml:whitespace="preserve">Returns the component from the #GstMessage if not %NULL</doc>
2284 <type name="guint" c:type="guint*"/>
2285 </parameter>
2286 <parameter name="state"
2287 direction="out"
2288 caller-allocates="0"
2289 transfer-ownership="full">
2290 <doc xml:whitespace="preserve">Returns the #FsStreamState from the #GstMessage if not %NULL</doc>
2291 <type name="StreamState" c:type="FsStreamState*"/>
2292 </parameter>
2293 </parameters>
2294 </method>
2295 <method name="parse_local_candidates_prepared"
2296 c:identifier="fs_stream_parse_local_candidates_prepared">
2297 <doc xml:whitespace="preserve">Parses a "farstream-local-candidates-prepared" message and checks if it matches
2298 the @stream parameters.</doc>
2299 <return-value transfer-ownership="none">
2300 <doc xml:whitespace="preserve">%TRUE if the message matches the stream and is valid.</doc>
2301 <type name="gboolean" c:type="gboolean"/>
2302 </return-value>
2303 <parameters>
2304 <parameter name="message" transfer-ownership="none">
2305 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
2306 <type name="Gst.Message" c:type="GstMessage*"/>
2307 </parameter>
2308 </parameters>
2309 </method>
2310 <method name="parse_new_active_candidate_pair"
2311 c:identifier="fs_stream_parse_new_active_candidate_pair">
2312 <doc xml:whitespace="preserve">Parses a "farstream-new-active-candidate-pair" message and checks
2313 if it matches the @stream parameters.</doc>
2314 <return-value transfer-ownership="none">
2315 <doc xml:whitespace="preserve">%TRUE if the message matches the stream and is valid.</doc>
2316 <type name="gboolean" c:type="gboolean"/>
2317 </return-value>
2318 <parameters>
2319 <parameter name="message" transfer-ownership="none">
2320 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
2321 <type name="Gst.Message" c:type="GstMessage*"/>
2322 </parameter>
2323 <parameter name="local_candidate"
2324 direction="out"
2325 caller-allocates="0"
2326 transfer-ownership="none">
2327 <doc xml:whitespace="preserve">Returns the local #FsCandidate in the message if not %NULL.</doc>
2328 <type name="Candidate" c:type="FsCandidate**"/>
2329 </parameter>
2330 <parameter name="remote_candidate"
2331 direction="out"
2332 caller-allocates="0"
2333 transfer-ownership="none">
2334 <doc xml:whitespace="preserve">Returns the remote #FsCandidate in the message if not %NULL.</doc>
2335 <type name="Candidate" c:type="FsCandidate**"/>
2336 </parameter>
2337 </parameters>
2338 </method>
2339 <method name="parse_new_local_candidate"
2340 c:identifier="fs_stream_parse_new_local_candidate">
2341 <doc xml:whitespace="preserve">Parses a "farstream-new-local-candidate" message and checks if it matches
2342 the @stream parameters.</doc>
2343 <return-value transfer-ownership="none">
2344 <doc xml:whitespace="preserve">%TRUE if the message matches the stream and is valid.</doc>
2345 <type name="gboolean" c:type="gboolean"/>
2346 </return-value>
2347 <parameters>
2348 <parameter name="message" transfer-ownership="none">
2349 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
2350 <type name="Gst.Message" c:type="GstMessage*"/>
2351 </parameter>
2352 <parameter name="candidate"
2353 direction="out"
2354 caller-allocates="0"
2355 transfer-ownership="none">
2356 <doc xml:whitespace="preserve">Returns the #FsCandidate in the message if not %NULL.</doc>
2357 <type name="Candidate" c:type="FsCandidate**"/>
2358 </parameter>
2359 </parameters>
2360 </method>
2361 <method name="parse_recv_codecs_changed"
2362 c:identifier="fs_stream_parse_recv_codecs_changed">
2363 <doc xml:whitespace="preserve">Parses a "farstream-recv-codecs-changed" message and checks if it matches
2364 the @stream parameters.</doc>
2365 <return-value transfer-ownership="none">
2366 <doc xml:whitespace="preserve">%TRUE if the message matches the stream and is valid.</doc>
2367 <type name="gboolean" c:type="gboolean"/>
2368 </return-value>
2369 <parameters>
2370 <parameter name="message" transfer-ownership="none">
2371 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
2372 <type name="Gst.Message" c:type="GstMessage*"/>
2373 </parameter>
2374 <parameter name="codecs"
2375 direction="out"
2376 caller-allocates="0"
2377 transfer-ownership="none">
2378 <doc xml:whitespace="preserve">Returns a #GList of #FsCodec of the message if not %NULL</doc>
2379 <type name="GLib.List" c:type="GList**">
2380 <type name="Codec"/>
2381 </type>
2382 </parameter>
2383 </parameters>
2384 </method>
2385 <method name="set_remote_codecs"
2386 c:identifier="fs_stream_set_remote_codecs"
2387 throws="1">
2388 <doc xml:whitespace="preserve">This function will set the list of remote codecs for this stream. If
2389 the given remote codecs couldn't be negotiated with the list of local
2390 codecs or already negotiated codecs for the corresponding #FsSession, @error
2391 will be set and %FALSE will be returned. The @remote_codecs list will be
2392 copied so it must be free'd using fs_codec_list_destroy() when done.</doc>
2393 <return-value transfer-ownership="none">
2394 <doc xml:whitespace="preserve">%FALSE if the remote codecs couldn't be set.</doc>
2395 <type name="gboolean" c:type="gboolean"/>
2396 </return-value>
2397 <parameters>
2398 <parameter name="remote_codecs" transfer-ownership="none">
2399 <doc xml:whitespace="preserve">a #GList of #FsCodec representing the remote codecs</doc>
2400 <type name="GLib.List" c:type="GList*">
2401 <type name="Codec"/>
2402 </type>
2403 </parameter>
2404 </parameters>
2405 </method>
2406 <method name="set_transmitter"
2407 c:identifier="fs_stream_set_transmitter"
2408 throws="1">
2409 <doc xml:whitespace="preserve">Set the transmitter to use for this stream. This function will only succeed
2410 once.
2411
2412 The parameters correspond to the varios GObject properties of the
2413 selected stream transmitter.</doc>
2414 <return-value transfer-ownership="none">
2415 <doc xml:whitespace="preserve">%TRUE if the transmitter could be set, %FALSE otherwise</doc>
2416 <type name="gboolean" c:type="gboolean"/>
2417 </return-value>
2418 <parameters>
2419 <parameter name="transmitter" transfer-ownership="none">
2420 <doc xml:whitespace="preserve">Name of the type of transmitter to use for this stream</doc>
2421 <type name="utf8" c:type="gchar*"/>
2422 </parameter>
2423 <parameter name="stream_transmitter_parameters"
2424 transfer-ownership="none"
2425 allow-none="1">
2426 <doc xml:whitespace="preserve">an array of n_parameters #GParameter struct that will be passed to the newly-create #FsStreamTransmitter</doc>
2427 <array length="2" zero-terminated="0" c:type="GParameter*">
2428 <type name="GObject.Parameter" c:type="GParameter"/>
2429 </array>
2430 </parameter>
2431 <parameter name="stream_transmitter_n_parameters"
2432 transfer-ownership="none">
2433 <doc xml:whitespace="preserve">Number of parametrs passed to the stream transmitter</doc>
2434 <type name="guint" c:type="guint"/>
2435 </parameter>
2436 </parameters>
2437 </method>
2438 <property name="current-recv-codecs" transfer-ownership="full">
2439 <doc xml:whitespace="preserve">This is the list of codecs that have been received by this stream.
2440 The user must free the list if fs_codec_list_destroy().
2441 The "farstream-recv-codecs-changed" message is send on the #GstBus
2442 when the value of this property changes.
2443 It is normally emitted right after #FsStream::src-pad-added
2444 only if that codec was not previously received in this stream, but it can
2445 also be emitted if the pad already exists, but the source material that
2446 will come to it is different.</doc>
2447 <type name="GLib.List">
2448 <type name="Codec"/>
2449 </type>
2450 </property>
2451 <property name="direction"
2452 writable="1"
2453 construct="1"
2454 transfer-ownership="none">
2455 <doc xml:whitespace="preserve">The direction of the stream. This property is set initially as a parameter
2456 to the fs_session_new_stream() function. It can be changed later if
2457 required by setting this property.</doc>
2458 <type name="StreamDirection"/>
2459 </property>
2460 <property name="negotiated-codecs" transfer-ownership="full">
2461 <doc xml:whitespace="preserve">This is the list of negotiatied codecs, it is the same list as the list
2462 of #FsCodec from the parent #FsSession, except that the codec config data
2463 has been replaced with the data from the remote codecs for this stream.
2464 This is the list of #FsCodec used to receive data from this stream.
2465 It is a #GList of #FsCodec.</doc>
2466 <type name="GLib.List">
2467 <type name="Codec"/>
2468 </type>
2469 </property>
2470 <property name="participant"
2471 writable="1"
2472 construct-only="1"
2473 transfer-ownership="none">
2474 <doc xml:whitespace="preserve">The #FsParticipant for this stream. This property is a construct param and
2475 is read-only construction.</doc>
2476 <type name="Participant"/>
2477 </property>
2478 <property name="remote-codecs" transfer-ownership="full">
2479 <doc xml:whitespace="preserve">This is the list of remote codecs for this stream. They must be set by the
2480 user as soon as they are known using fs_stream_set_remote_codecs()
2481 (generally through external signaling). It is a #GList of #FsCodec.</doc>
2482 <type name="GLib.List">
2483 <type name="Codec"/>
2484 </type>
2485 </property>
2486 <property name="session"
2487 writable="1"
2488 construct-only="1"
2489 transfer-ownership="none">
2490 <doc xml:whitespace="preserve">The #FsSession for this stream. This property is a construct param and
2491 is read-only construction.</doc>
2492 <type name="Session"/>
2493 </property>
2494 <field name="parent">
2495 <type name="Gst.Object" c:type="GstObject"/>
2496 </field>
2497 <field name="priv" readable="0" private="1">
2498 <type name="StreamPrivate" c:type="FsStreamPrivate*"/>
2499 </field>
2500 <field name="_padding" readable="0" private="1">
2501 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
2502 <type name="gpointer" c:type="gpointer"/>
2503 </array>
2504 </field>
2505 <glib:signal name="error" when="last">
2506 <doc xml:whitespace="preserve">This signal is emitted in any error condition</doc>
2507 <return-value transfer-ownership="none">
2508 <type name="none"/>
2509 </return-value>
2510 <parameters>
2511 <parameter name="errorno" transfer-ownership="none">
2512 <doc xml:whitespace="preserve">The number of the error</doc>
2513 <type name="Error"/>
2514 </parameter>
2515 <parameter name="error_msg" transfer-ownership="none">
2516 <doc xml:whitespace="preserve">Error message to be displayed to user</doc>
2517 <type name="utf8"/>
2518 </parameter>
2519 </parameters>
2520 </glib:signal>
2521 <glib:signal name="src-pad-added" when="last">
2522 <doc xml:whitespace="preserve">This signal is emitted when a new gst source pad has been created for a
2523 specific codec being received. There will be a different source pad for
2524 each codec that is received. The user must ref the #GstPad if he wants to
2525 keep it. The user should not modify the #FsCodec and must copy it if he
2526 wants to use it outside the callback scope.
2527
2528 This signal is not emitted on the main thread, but on GStreamer's streaming
2529 thread!</doc>
2530 <return-value transfer-ownership="none">
2531 <type name="none"/>
2532 </return-value>
2533 <parameters>
2534 <parameter name="pad" transfer-ownership="none">
2535 <doc xml:whitespace="preserve">#GstPad of the new source pad</doc>
2536 <type name="Gst.Pad"/>
2537 </parameter>
2538 <parameter name="codec" transfer-ownership="none">
2539 <doc xml:whitespace="preserve">#FsCodec of the codec being received on the new source pad</doc>
2540 <type name="Codec"/>
2541 </parameter>
2542 </parameters>
2543 </glib:signal>
2544 </class>
2545 <record name="StreamClass"
2546 c:type="FsStreamClass"
2547 glib:is-gtype-struct-for="Stream">
2548 <doc xml:whitespace="preserve">You must override add_remote_candidate in a subclass.
2549 If you have to negotiate codecs, then you must override set_remote_codecs too</doc>
2550 <field name="parent_class">
2551 <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
2552 </field>
2553 <field name="add_remote_candidates">
2554 <callback name="add_remote_candidates" throws="1">
2555 <return-value transfer-ownership="none">
2556 <doc xml:whitespace="preserve">TRUE if the candidate was valid, FALSE otherwise</doc>
2557 <type name="gboolean" c:type="gboolean"/>
2558 </return-value>
2559 <parameters>
2560 <parameter name="stream" transfer-ownership="none">
2561 <type name="Stream" c:type="FsStream*"/>
2562 </parameter>
2563 <parameter name="candidates" transfer-ownership="none">
2564 <doc xml:whitespace="preserve">an #GList of #FsCandidate representing the remote candidates</doc>
2565 <type name="GLib.List" c:type="GList*">
2566 <type name="Candidate"/>
2567 </type>
2568 </parameter>
2569 </parameters>
2570 </callback>
2571 </field>
2572 <field name="force_remote_candidates">
2573 <callback name="force_remote_candidates" throws="1">
2574 <return-value transfer-ownership="none">
2575 <doc xml:whitespace="preserve">%TRUE if the candidates could be forced, %FALSE otherwise</doc>
2576 <type name="gboolean" c:type="gboolean"/>
2577 </return-value>
2578 <parameters>
2579 <parameter name="stream" transfer-ownership="none">
2580 <type name="Stream" c:type="FsStream*"/>
2581 </parameter>
2582 <parameter name="remote_candidates" transfer-ownership="none">
2583 <doc xml:whitespace="preserve">a #GList of #FsCandidate to force</doc>
2584 <type name="GLib.List" c:type="GList*">
2585 <type name="Candidate"/>
2586 </type>
2587 </parameter>
2588 </parameters>
2589 </callback>
2590 </field>
2591 <field name="set_remote_codecs">
2592 <callback name="set_remote_codecs" throws="1">
2593 <return-value transfer-ownership="none">
2594 <doc xml:whitespace="preserve">%FALSE if the remote codecs couldn't be set.</doc>
2595 <type name="gboolean" c:type="gboolean"/>
2596 </return-value>
2597 <parameters>
2598 <parameter name="stream" transfer-ownership="none">
2599 <type name="Stream" c:type="FsStream*"/>
2600 </parameter>
2601 <parameter name="remote_codecs" transfer-ownership="none">
2602 <doc xml:whitespace="preserve">a #GList of #FsCodec representing the remote codecs</doc>
2603 <type name="GLib.List" c:type="GList*">
2604 <type name="Codec"/>
2605 </type>
2606 </parameter>
2607 </parameters>
2608 </callback>
2609 </field>
2610 <field name="add_id">
2611 <callback name="add_id">
2612 <return-value transfer-ownership="none">
2613 <type name="none" c:type="void"/>
2614 </return-value>
2615 <parameters>
2616 <parameter name="stream" transfer-ownership="none">
2617 <type name="Stream" c:type="FsStream*"/>
2618 </parameter>
2619 <parameter name="id" transfer-ownership="none">
2620 <doc xml:whitespace="preserve">The id to add to the stream</doc>
2621 <type name="guint" c:type="guint"/>
2622 </parameter>
2623 </parameters>
2624 </callback>
2625 </field>
2626 <field name="set_transmitter">
2627 <callback name="set_transmitter" throws="1">
2628 <return-value transfer-ownership="none">
2629 <doc xml:whitespace="preserve">%TRUE if the transmitter could be set, %FALSE otherwise</doc>
2630 <type name="gboolean" c:type="gboolean"/>
2631 </return-value>
2632 <parameters>
2633 <parameter name="stream" transfer-ownership="none">
2634 <type name="Stream" c:type="FsStream*"/>
2635 </parameter>
2636 <parameter name="transmitter" transfer-ownership="none">
2637 <doc xml:whitespace="preserve">Name of the type of transmitter to use for this stream</doc>
2638 <type name="utf8" c:type="gchar*"/>
2639 </parameter>
2640 <parameter name="stream_transmitter_parameters"
2641 transfer-ownership="none"
2642 allow-none="1">
2643 <doc xml:whitespace="preserve">an array of n_parameters #GParameter struct that will be passed to the newly-create #FsStreamTransmitter</doc>
2644 <array length="3" zero-terminated="0" c:type="GParameter*">
2645 <type name="GObject.Parameter" c:type="GParameter"/>
2646 </array>
2647 </parameter>
2648 <parameter name="stream_transmitter_n_parameters"
2649 transfer-ownership="none">
2650 <doc xml:whitespace="preserve">Number of parametrs passed to the stream transmitter</doc>
2651 <type name="guint" c:type="guint"/>
2652 </parameter>
2653 </parameters>
2654 </callback>
2655 </field>
2656 <field name="_padding" readable="0" private="1">
2657 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
2658 <type name="gpointer" c:type="gpointer"/>
2659 </array>
2660 </field>
2661 </record>
2662 <bitfield name="StreamDirection"
2663 glib:type-name="FsStreamDirection"
2664 glib:get-type="fs_stream_direction_get_type"
2665 c:type="FsStreamDirection">
2666 <doc xml:whitespace="preserve">An enum for specifying the direction of a stream</doc>
2667 <member name="none"
2668 value="0"
2669 c:identifier="FS_DIRECTION_NONE"
2670 glib:nick="none"/>
2671 <member name="send"
2672 value="1"
2673 c:identifier="FS_DIRECTION_SEND"
2674 glib:nick="send"/>
2675 <member name="recv"
2676 value="2"
2677 c:identifier="FS_DIRECTION_RECV"
2678 glib:nick="recv"/>
2679 <member name="both"
2680 value="3"
2681 c:identifier="FS_DIRECTION_BOTH"
2682 glib:nick="both"/>
2683 </bitfield>
2684 <record name="StreamPrivate" c:type="FsStreamPrivate" disguised="1">
2685 </record>
2686 <enumeration name="StreamState"
2687 glib:type-name="FsStreamState"
2688 glib:get-type="fs_stream_state_get_type"
2689 c:type="FsStreamState">
2690 <doc xml:whitespace="preserve">These are the possible states of a stream, a simple multicast stream
2691 could only be in "disconnected" or "ready" state.
2692 An stream using an ICE transmitter would use all of these.</doc>
2693 <member name="failed"
2694 value="0"
2695 c:identifier="FS_STREAM_STATE_FAILED"
2696 glib:nick="failed"/>
2697 <member name="disconnected"
2698 value="1"
2699 c:identifier="FS_STREAM_STATE_DISCONNECTED"
2700 glib:nick="disconnected"/>
2701 <member name="gathering"
2702 value="2"
2703 c:identifier="FS_STREAM_STATE_GATHERING"
2704 glib:nick="gathering"/>
2705 <member name="connecting"
2706 value="3"
2707 c:identifier="FS_STREAM_STATE_CONNECTING"
2708 glib:nick="connecting"/>
2709 <member name="connected"
2710 value="4"
2711 c:identifier="FS_STREAM_STATE_CONNECTED"
2712 glib:nick="connected"/>
2713 <member name="ready"
2714 value="5"
2715 c:identifier="FS_STREAM_STATE_READY"
2716 glib:nick="ready"/>
2717 </enumeration>
2718 <class name="StreamTransmitter"
2719 c:symbol-prefix="stream_transmitter"
2720 c:type="FsStreamTransmitter"
2721 parent="Gst.Object"
2722 abstract="1"
2723 glib:type-name="FsStreamTransmitter"
2724 glib:get-type="fs_stream_transmitter_get_type"
2725 glib:type-struct="StreamTransmitterClass">
2726 <doc xml:whitespace="preserve">All members are private, access them using methods and properties</doc>
2727 <virtual-method name="add_remote_candidates"
2728 invoker="add_remote_candidates"
2729 throws="1">
2730 <doc xml:whitespace="preserve">This function is used to add remote candidates to the transmitter</doc>
2731 <return-value transfer-ownership="none">
2732 <doc xml:whitespace="preserve">TRUE of the candidate could be added, FALSE if it couldnt (and the #GError will be set)</doc>
2733 <type name="gboolean" c:type="gboolean"/>
2734 </return-value>
2735 <parameters>
2736 <parameter name="candidates" transfer-ownership="none">
2737 <doc xml:whitespace="preserve">a #GList of the remote candidates</doc>
2738 <type name="GLib.List" c:type="GList*">
2739 <type name="Candidate"/>
2740 </type>
2741 </parameter>
2742 </parameters>
2743 </virtual-method>
2744 <virtual-method name="force_remote_candidates"
2745 invoker="force_remote_candidates"
2746 throws="1">
2747 <doc xml:whitespace="preserve">This function forces data to be sent immediately to the selected remote
2748 candidate, by-passing any connectivity checks. There should be at most
2749 one candidate per component.</doc>
2750 <return-value transfer-ownership="none">
2751 <doc xml:whitespace="preserve">%TRUE if the candidates could be forced, %FALSE otherwise</doc>
2752 <type name="gboolean" c:type="gboolean"/>
2753 </return-value>
2754 <parameters>
2755 <parameter name="remote_candidates" transfer-ownership="none">
2756 <doc xml:whitespace="preserve">a #GList of #FsCandidate to force</doc>
2757 <type name="GLib.List" c:type="GList*">
2758 <type name="Candidate"/>
2759 </type>
2760 </parameter>
2761 </parameters>
2762 </virtual-method>
2763 <virtual-method name="gather_local_candidates"
2764 invoker="gather_local_candidates"
2765 throws="1">
2766 <doc xml:whitespace="preserve">This function tells the transmitter to start gathering local candidates,
2767 signals for new candidates and newly active candidates can be emitted
2768 during the call to this function.</doc>
2769 <return-value transfer-ownership="none">
2770 <doc xml:whitespace="preserve">%TRUE if it succeeds (or is not implemented), %FALSE otherwise</doc>
2771 <type name="gboolean" c:type="gboolean"/>
2772 </return-value>
2773 </virtual-method>
2774 <virtual-method name="stop" invoker="stop">
2775 <doc xml:whitespace="preserve">This functions stops the #FsStreamTransmitter, it must be called before
2776 the last reference is dropped.</doc>
2777 <return-value transfer-ownership="none">
2778 <type name="none" c:type="void"/>
2779 </return-value>
2780 </virtual-method>
2781 <method name="add_remote_candidates"
2782 c:identifier="fs_stream_transmitter_add_remote_candidates"
2783 throws="1">
2784 <doc xml:whitespace="preserve">This function is used to add remote candidates to the transmitter</doc>
2785 <return-value transfer-ownership="none">
2786 <doc xml:whitespace="preserve">TRUE of the candidate could be added, FALSE if it couldnt (and the #GError will be set)</doc>
2787 <type name="gboolean" c:type="gboolean"/>
2788 </return-value>
2789 <parameters>
2790 <parameter name="candidates" transfer-ownership="none">
2791 <doc xml:whitespace="preserve">a #GList of the remote candidates</doc>
2792 <type name="GLib.List" c:type="GList*">
2793 <type name="Candidate"/>
2794 </type>
2795 </parameter>
2796 </parameters>
2797 </method>
2798 <method name="emit_error"
2799 c:identifier="fs_stream_transmitter_emit_error">
2800 <doc xml:whitespace="preserve">This function emit the "error" signal on a #FsStreamTransmitter, it should
2801 only be called by subclasses.</doc>
2802 <return-value transfer-ownership="none">
2803 <type name="none" c:type="void"/>
2804 </return-value>
2805 <parameters>
2806 <parameter name="error_no" transfer-ownership="none">
2807 <doc xml:whitespace="preserve">The number of the error</doc>
2808 <type name="gint" c:type="gint"/>
2809 </parameter>
2810 <parameter name="error_msg" transfer-ownership="none">
2811 <doc xml:whitespace="preserve">Error message (for the programmer)</doc>
2812 <type name="utf8" c:type="gchar*"/>
2813 </parameter>
2814 </parameters>
2815 </method>
2816 <method name="force_remote_candidates"
2817 c:identifier="fs_stream_transmitter_force_remote_candidates"
2818 throws="1">
2819 <doc xml:whitespace="preserve">This function forces data to be sent immediately to the selected remote
2820 candidate, by-passing any connectivity checks. There should be at most
2821 one candidate per component.</doc>
2822 <return-value transfer-ownership="none">
2823 <doc xml:whitespace="preserve">%TRUE if the candidates could be forced, %FALSE otherwise</doc>
2824 <type name="gboolean" c:type="gboolean"/>
2825 </return-value>
2826 <parameters>
2827 <parameter name="remote_candidates" transfer-ownership="none">
2828 <doc xml:whitespace="preserve">a #GList of #FsCandidate to force</doc>
2829 <type name="GLib.List" c:type="GList*">
2830 <type name="Candidate"/>
2831 </type>
2832 </parameter>
2833 </parameters>
2834 </method>
2835 <method name="gather_local_candidates"
2836 c:identifier="fs_stream_transmitter_gather_local_candidates"
2837 throws="1">
2838 <doc xml:whitespace="preserve">This function tells the transmitter to start gathering local candidates,
2839 signals for new candidates and newly active candidates can be emitted
2840 during the call to this function.</doc>
2841 <return-value transfer-ownership="none">
2842 <doc xml:whitespace="preserve">%TRUE if it succeeds (or is not implemented), %FALSE otherwise</doc>
2843 <type name="gboolean" c:type="gboolean"/>
2844 </return-value>
2845 </method>
2846 <method name="stop" c:identifier="fs_stream_transmitter_stop">
2847 <doc xml:whitespace="preserve">This functions stops the #FsStreamTransmitter, it must be called before
2848 the last reference is dropped.</doc>
2849 <return-value transfer-ownership="none">
2850 <type name="none" c:type="void"/>
2851 </return-value>
2852 </method>
2853 <property name="associate-on-source"
2854 writable="1"
2855 construct-only="1"
2856 transfer-ownership="none">
2857 <doc xml:whitespace="preserve">This tells the stream transmitter to associate incoming data with this
2858 based on the source without looking at the content if possible.</doc>
2859 <type name="gboolean"/>
2860 </property>
2861 <property name="preferred-local-candidates"
2862 writable="1"
2863 construct-only="1"
2864 transfer-ownership="none">
2865 <type name="CandidateList"/>
2866 </property>
2867 <property name="sending" writable="1" transfer-ownership="none">
2868 <doc xml:whitespace="preserve">A network source #GstElement to be used by the #FsSession</doc>
2869 <type name="gboolean"/>
2870 </property>
2871 <field name="parent">
2872 <type name="Gst.Object" c:type="GstObject"/>
2873 </field>
2874 <field name="priv" readable="0" private="1">
2875 <type name="StreamTransmitterPrivate"
2876 c:type="FsStreamTransmitterPrivate*"/>
2877 </field>
2878 <field name="_padding" readable="0" private="1">
2879 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
2880 <type name="gpointer" c:type="gpointer"/>
2881 </array>
2882 </field>
2883 <glib:signal name="error" when="last">
2884 <doc xml:whitespace="preserve">This signal is emitted in any error condition</doc>
2885 <return-value transfer-ownership="none">
2886 <type name="none"/>
2887 </return-value>
2888 <parameters>
2889 <parameter name="errorno" transfer-ownership="none">
2890 <doc xml:whitespace="preserve">The number of the error</doc>
2891 <type name="Error"/>
2892 </parameter>
2893 <parameter name="error_msg" transfer-ownership="none">
2894 <doc xml:whitespace="preserve">Error message (for the programmer)</doc>
2895 <type name="utf8"/>
2896 </parameter>
2897 </parameters>
2898 </glib:signal>
2899 <glib:signal name="known-source-packet-received" when="last">
2900 <doc xml:whitespace="preserve">This signal is emitted when a buffer coming from a confirmed known source
2901 is received.</doc>
2902 <return-value transfer-ownership="none">
2903 <type name="none"/>
2904 </return-value>
2905 <parameters>
2906 <parameter name="component" transfer-ownership="none">
2907 <doc xml:whitespace="preserve">The Component on which this buffer was received</doc>
2908 <type name="guint"/>
2909 </parameter>
2910 <parameter name="buffer" transfer-ownership="none">
2911 <doc xml:whitespace="preserve">the #GstBuffer coming from the known source</doc>
2912 <type name="gpointer"/>
2913 </parameter>
2914 </parameters>
2915 </glib:signal>
2916 <glib:signal name="local-candidates-prepared" when="last">
2917 <doc xml:whitespace="preserve">This signal is emitted when all local candidates have been
2918 prepared, an ICE implementation would send its SDP offer or answer.</doc>
2919 <return-value transfer-ownership="none">
2920 <type name="none"/>
2921 </return-value>
2922 </glib:signal>
2923 <glib:signal name="new-active-candidate-pair" when="last">
2924 <doc xml:whitespace="preserve">This signal is emitted when there is a new active chandidate pair that has
2925 been established. This is specially useful for ICE where the active
2926 candidate pair can change automatically due to network conditions. The user
2927 must not modify the candidates and must copy them if he wants to use them
2928 outside the callback scope.</doc>
2929 <return-value transfer-ownership="none">
2930 <type name="none"/>
2931 </return-value>
2932 <parameters>
2933 <parameter name="local_candidate" transfer-ownership="none">
2934 <doc xml:whitespace="preserve">#FsCandidate of the local candidate being used</doc>
2935 <type name="Candidate"/>
2936 </parameter>
2937 <parameter name="remote_candidate" transfer-ownership="none">
2938 <doc xml:whitespace="preserve">#FsCandidate of the remote candidate being used</doc>
2939 <type name="Candidate"/>
2940 </parameter>
2941 </parameters>
2942 </glib:signal>
2943 <glib:signal name="new-local-candidate" when="last">
2944 <doc xml:whitespace="preserve">This signal is emitted when a new local candidate is discovered.</doc>
2945 <return-value transfer-ownership="none">
2946 <type name="none"/>
2947 </return-value>
2948 <parameters>
2949 <parameter name="local_candidate" transfer-ownership="none">
2950 <doc xml:whitespace="preserve">#FsCandidate of the local candidate</doc>
2951 <type name="Candidate"/>
2952 </parameter>
2953 </parameters>
2954 </glib:signal>
2955 <glib:signal name="state-changed" when="last">
2956 <doc xml:whitespace="preserve">This signal is emitted when the ICE state (or equivalent) of the component
2957 changes</doc>
2958 <return-value transfer-ownership="none">
2959 <type name="none"/>
2960 </return-value>
2961 <parameters>
2962 <parameter name="component" transfer-ownership="none">
2963 <doc xml:whitespace="preserve">the id of the component which state has changed</doc>
2964 <type name="guint"/>
2965 </parameter>
2966 <parameter name="state" transfer-ownership="none">
2967 <doc xml:whitespace="preserve">the new state of the component</doc>
2968 <type name="StreamState"/>
2969 </parameter>
2970 </parameters>
2971 </glib:signal>
2972 </class>
2973 <record name="StreamTransmitterClass"
2974 c:type="FsStreamTransmitterClass"
2975 glib:is-gtype-struct-for="StreamTransmitter">
2976 <doc xml:whitespace="preserve">You must override the add_remote_candidate in a subclass</doc>
2977 <field name="parent_class">
2978 <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
2979 </field>
2980 <field name="add_remote_candidates">
2981 <callback name="add_remote_candidates" throws="1">
2982 <return-value transfer-ownership="none">
2983 <doc xml:whitespace="preserve">TRUE of the candidate could be added, FALSE if it couldnt (and the #GError will be set)</doc>
2984 <type name="gboolean" c:type="gboolean"/>
2985 </return-value>
2986 <parameters>
2987 <parameter name="streamtransmitter" transfer-ownership="none">
2988 <type name="StreamTransmitter" c:type="FsStreamTransmitter*"/>
2989 </parameter>
2990 <parameter name="candidates" transfer-ownership="none">
2991 <doc xml:whitespace="preserve">a #GList of the remote candidates</doc>
2992 <type name="GLib.List" c:type="GList*">
2993 <type name="Candidate"/>
2994 </type>
2995 </parameter>
2996 </parameters>
2997 </callback>
2998 </field>
2999 <field name="force_remote_candidates">
3000 <callback name="force_remote_candidates" throws="1">
3001 <return-value transfer-ownership="none">
3002 <doc xml:whitespace="preserve">%TRUE if the candidates could be forced, %FALSE otherwise</doc>
3003 <type name="gboolean" c:type="gboolean"/>
3004 </return-value>
3005 <parameters>
3006 <parameter name="streamtransmitter" transfer-ownership="none">
3007 <type name="StreamTransmitter" c:type="FsStreamTransmitter*"/>
3008 </parameter>
3009 <parameter name="remote_candidates" transfer-ownership="none">
3010 <doc xml:whitespace="preserve">a #GList of #FsCandidate to force</doc>
3011 <type name="GLib.List" c:type="GList*">
3012 <type name="Candidate"/>
3013 </type>
3014 </parameter>
3015 </parameters>
3016 </callback>
3017 </field>
3018 <field name="gather_local_candidates">
3019 <callback name="gather_local_candidates" throws="1">
3020 <return-value transfer-ownership="none">
3021 <doc xml:whitespace="preserve">%TRUE if it succeeds (or is not implemented), %FALSE otherwise</doc>
3022 <type name="gboolean" c:type="gboolean"/>
3023 </return-value>
3024 <parameters>
3025 <parameter name="streamtransmitter" transfer-ownership="none">
3026 <type name="StreamTransmitter" c:type="FsStreamTransmitter*"/>
3027 </parameter>
3028 </parameters>
3029 </callback>
3030 </field>
3031 <field name="stop">
3032 <callback name="stop">
3033 <return-value transfer-ownership="none">
3034 <type name="none" c:type="void"/>
3035 </return-value>
3036 <parameters>
3037 <parameter name="streamtransmitter" transfer-ownership="none">
3038 <type name="StreamTransmitter" c:type="FsStreamTransmitter*"/>
3039 </parameter>
3040 </parameters>
3041 </callback>
3042 </field>
3043 <field name="_padding" readable="0" private="1">
3044 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
3045 <type name="gpointer" c:type="gpointer"/>
3046 </array>
3047 </field>
3048 </record>
3049 <record name="StreamTransmitterPrivate"
3050 c:type="FsStreamTransmitterPrivate"
3051 disguised="1">
3052 </record>
3053 <class name="Transmitter"
3054 c:symbol-prefix="transmitter"
3055 c:type="FsTransmitter"
3056 parent="Gst.Object"
3057 abstract="1"
3058 glib:type-name="FsTransmitter"
3059 glib:get-type="fs_transmitter_get_type"
3060 glib:type-struct="TransmitterClass">
3061 <doc xml:whitespace="preserve">All members are private, access them using methods and properties</doc>
3062 <constructor name="new" c:identifier="fs_transmitter_new" throws="1">
3063 <doc xml:whitespace="preserve">This function creates a new transmitter of the requested type.
3064 It will load the appropriate plugin as required.</doc>
3065 <return-value transfer-ownership="none">
3066 <doc xml:whitespace="preserve">a newly-created #FsTransmitter of the requested type (or NULL if there is an error)</doc>
3067 <type name="Transmitter" c:type="FsTransmitter*"/>
3068 </return-value>
3069 <parameters>
3070 <parameter name="type" transfer-ownership="none">
3071 <doc xml:whitespace="preserve">The type of transmitter to create</doc>
3072 <type name="utf8" c:type="gchar*"/>
3073 </parameter>
3074 <parameter name="components" transfer-ownership="none">
3075 <doc xml:whitespace="preserve">The number of components to create</doc>
3076 <type name="guint" c:type="guint"/>
3077 </parameter>
3078 <parameter name="tos" transfer-ownership="none">
3079 <doc xml:whitespace="preserve">The Type of Service of the socket, max is 255</doc>
3080 <type name="guint" c:type="guint"/>
3081 </parameter>
3082 </parameters>
3083 </constructor>
3084 <function name="list_available"
3085 c:identifier="fs_transmitter_list_available">
3086 <doc xml:whitespace="preserve">Get the list of all available transmitters</doc>
3087 <return-value transfer-ownership="full">
3088 <doc xml:whitespace="preserve">a newly allocated array of strings containing the list of all available transmitters or %NULL if there are none. It should be freed with g_strfreev().</doc>
3089 <array c:type="char**">
3090 <type name="utf8"/>
3091 </array>
3092 </return-value>
3093 </function>
3094 <virtual-method name="get_stream_transmitter_type"
3095 invoker="get_stream_transmitter_type">
3096 <doc xml:whitespace="preserve">This function returns the GObject type for the stream transmitter.
3097 This is meant for bindings that need to introspect the type of arguments
3098 that can be passed to the _new_stream_transmitter.</doc>
3099 <return-value transfer-ownership="none">
3100 <doc xml:whitespace="preserve">the #GType</doc>
3101 <type name="GType" c:type="GType"/>
3102 </return-value>
3103 </virtual-method>
3104 <virtual-method name="new_stream_transmitter"
3105 invoker="new_stream_transmitter"
3106 throws="1">
3107 <doc xml:whitespace="preserve">This function will create a new #FsStreamTransmitter element for a
3108 specific participant for this #FsTransmitter</doc>
3109 <return-value transfer-ownership="full">
3110 <doc xml:whitespace="preserve">a new #FsStreamTransmitter, or NULL if there is an error</doc>
3111 <type name="StreamTransmitter" c:type="FsStreamTransmitter*"/>
3112 </return-value>
3113 <parameters>
3114 <parameter name="participant" transfer-ownership="none">
3115 <doc xml:whitespace="preserve">the #FsParticipant for which the #FsStream using this new #FsStreamTransmitter is created</doc>
3116 <type name="Participant" c:type="FsParticipant*"/>
3117 </parameter>
3118 <parameter name="n_parameters" transfer-ownership="none">
3119 <doc xml:whitespace="preserve">The number of parameters to pass to the newly created #FsStreamTransmitter</doc>
3120 <type name="guint" c:type="guint"/>
3121 </parameter>
3122 <parameter name="parameters" transfer-ownership="none">
3123 <doc xml:whitespace="preserve">an array of #GParameter</doc>
3124 <type name="GObject.Parameter" c:type="GParameter*"/>
3125 </parameter>
3126 </parameters>
3127 </virtual-method>
3128 <method name="emit_error" c:identifier="fs_transmitter_emit_error">
3129 <doc xml:whitespace="preserve">This function emit the "error" signal on a #FsTransmitter, it should
3130 only be called by subclasses.</doc>
3131 <return-value transfer-ownership="none">
3132 <type name="none" c:type="void"/>
3133 </return-value>
3134 <parameters>
3135 <parameter name="error_no" transfer-ownership="none">
3136 <doc xml:whitespace="preserve">The number of the error</doc>
3137 <type name="gint" c:type="gint"/>
3138 </parameter>
3139 <parameter name="error_msg" transfer-ownership="none">
3140 <doc xml:whitespace="preserve">Error message to be displayed to user</doc>
3141 <type name="utf8" c:type="gchar*"/>
3142 </parameter>
3143 </parameters>
3144 </method>
3145 <method name="get_recvonly_filter"
3146 c:identifier="fs_transmitter_get_recvonly_filter">
3147 <doc xml:whitespace="preserve">Get the filter to add on the send pipeline if sending is disabled.
3148
3149 Only for use by subclasses.</doc>
3150 <return-value transfer-ownership="full">
3151 <doc xml:whitespace="preserve">a #GstElement to use as the filter or %NULL</doc>
3152 <type name="Gst.Element" c:type="GstElement*"/>
3153 </return-value>
3154 <parameters>
3155 <parameter name="component" transfer-ownership="none">
3156 <doc xml:whitespace="preserve">The component to get the filter for</doc>
3157 <type name="guint" c:type="guint"/>
3158 </parameter>
3159 </parameters>
3160 </method>
3161 <method name="get_stream_transmitter_type"
3162 c:identifier="fs_transmitter_get_stream_transmitter_type">
3163 <doc xml:whitespace="preserve">This function returns the GObject type for the stream transmitter.
3164 This is meant for bindings that need to introspect the type of arguments
3165 that can be passed to the _new_stream_transmitter.</doc>
3166 <return-value transfer-ownership="none">
3167 <doc xml:whitespace="preserve">the #GType</doc>
3168 <type name="GType" c:type="GType"/>
3169 </return-value>
3170 </method>
3171 <method name="new_stream_transmitter"
3172 c:identifier="fs_transmitter_new_stream_transmitter"
3173 throws="1">
3174 <doc xml:whitespace="preserve">This function will create a new #FsStreamTransmitter element for a
3175 specific participant for this #FsTransmitter</doc>
3176 <return-value transfer-ownership="full">
3177 <doc xml:whitespace="preserve">a new #FsStreamTransmitter, or NULL if there is an error</doc>
3178 <type name="StreamTransmitter" c:type="FsStreamTransmitter*"/>
3179 </return-value>
3180 <parameters>
3181 <parameter name="participant" transfer-ownership="none">
3182 <doc xml:whitespace="preserve">the #FsParticipant for which the #FsStream using this new #FsStreamTransmitter is created</doc>
3183 <type name="Participant" c:type="FsParticipant*"/>
3184 </parameter>
3185 <parameter name="n_parameters" transfer-ownership="none">
3186 <doc xml:whitespace="preserve">The number of parameters to pass to the newly created #FsStreamTransmitter</doc>
3187 <type name="guint" c:type="guint"/>
3188 </parameter>
3189 <parameter name="parameters" transfer-ownership="none">
3190 <doc xml:whitespace="preserve">an array of #GParameter</doc>
3191 <type name="GObject.Parameter" c:type="GParameter*"/>
3192 </parameter>
3193 </parameters>
3194 </method>
3195 <property name="components"
3196 writable="1"
3197 construct-only="1"
3198 transfer-ownership="none">
3199 <doc xml:whitespace="preserve">The number of components to create</doc>
3200 <type name="guint"/>
3201 </property>
3202 <property name="do-timestamp" writable="1" transfer-ownership="none">
3203 <doc xml:whitespace="preserve">Apply current stream time to buffers or provide buffers without
3204 timestamps. Must be set before creating a stream transmitter.</doc>
3205 <type name="gboolean"/>
3206 </property>
3207 <property name="gst-sink" transfer-ownership="none">
3208 <doc xml:whitespace="preserve">A network source #GstElement to be used by the #FsSession
3209 These element's sink must have async=FALSE
3210 This element MUST provide a pad named "sink_\%u" per component.
3211 These pads number must start at 1 (the \%u corresponds to the component
3212 number).
3213 These pads MUST be static pads.</doc>
3214 <type name="Gst.Element"/>
3215 </property>
3216 <property name="gst-src" transfer-ownership="none">
3217 <doc xml:whitespace="preserve">A network source #GstElement to be used by the #FsSession
3218 This element MUST provide a source pad named "src_%u" per component.
3219 These pads number must start at 1 (the %u corresponds to the component
3220 number).
3221 These pads MUST be static pads.</doc>
3222 <type name="Gst.Element"/>
3223 </property>
3224 <property name="tos" writable="1" transfer-ownership="none">
3225 <doc xml:whitespace="preserve">Sets the IP ToS field (and if possible the IPv6 TCLASS field</doc>
3226 <type name="guint"/>
3227 </property>
3228 <field name="parent">
3229 <type name="Gst.Object" c:type="GstObject"/>
3230 </field>
3231 <field name="priv" readable="0" private="1">
3232 <type name="TransmitterPrivate" c:type="FsTransmitterPrivate*"/>
3233 </field>
3234 <field name="construction_error" readable="0" private="1">
3235 <type name="GLib.Error" c:type="GError*"/>
3236 </field>
3237 <field name="_padding" readable="0" private="1">
3238 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
3239 <type name="gpointer" c:type="gpointer"/>
3240 </array>
3241 </field>
3242 <glib:signal name="error" when="last">
3243 <doc xml:whitespace="preserve">This signal is emitted in any error condition</doc>
3244 <return-value transfer-ownership="none">
3245 <type name="none"/>
3246 </return-value>
3247 <parameters>
3248 <parameter name="errorno" transfer-ownership="none">
3249 <doc xml:whitespace="preserve">The number of the error</doc>
3250 <type name="Error"/>
3251 </parameter>
3252 <parameter name="error_msg" transfer-ownership="none">
3253 <doc xml:whitespace="preserve">Error message to be displayed to user</doc>
3254 <type name="utf8"/>
3255 </parameter>
3256 </parameters>
3257 </glib:signal>
3258 <glib:signal name="get-recvonly-filter" when="last">
3259 <doc xml:whitespace="preserve">This signal is emitted when the transmitter wants to get a filter for
3260 to use if sending is disabled. If you want to drop all buffers, just
3261 don't listen to the signal.
3262
3263 This element should have a "sending" property that can be changed with the
3264 sending state of the stream. It should default to %TRUE.</doc>
3265 <return-value transfer-ownership="full">
3266 <doc xml:whitespace="preserve">the #GstElement to use as the filter, or %NULL to drop everything</doc>
3267 <type name="Gst.Element"/>
3268 </return-value>
3269 <parameters>
3270 <parameter name="component" transfer-ownership="none">
3271 <doc xml:whitespace="preserve">The component that the filter will be used for</doc>
3272 <type name="guint"/>
3273 </parameter>
3274 </parameters>
3275 </glib:signal>
3276 </class>
3277 <record name="TransmitterClass"
3278 c:type="FsTransmitterClass"
3279 glib:is-gtype-struct-for="Transmitter">
3280 <doc xml:whitespace="preserve">You must override both methods in a subclass.</doc>
3281 <field name="parent_class">
3282 <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
3283 </field>
3284 <field name="new_stream_transmitter">
3285 <callback name="new_stream_transmitter" throws="1">
3286 <return-value transfer-ownership="full">
3287 <doc xml:whitespace="preserve">a new #FsStreamTransmitter, or NULL if there is an error</doc>
3288 <type name="StreamTransmitter" c:type="FsStreamTransmitter*"/>
3289 </return-value>
3290 <parameters>
3291 <parameter name="transmitter" transfer-ownership="none">
3292 <type name="Transmitter" c:type="FsTransmitter*"/>
3293 </parameter>
3294 <parameter name="participant" transfer-ownership="none">
3295 <doc xml:whitespace="preserve">the #FsParticipant for which the #FsStream using this new #FsStreamTransmitter is created</doc>
3296 <type name="Participant" c:type="FsParticipant*"/>
3297 </parameter>
3298 <parameter name="n_parameters" transfer-ownership="none">
3299 <doc xml:whitespace="preserve">The number of parameters to pass to the newly created #FsStreamTransmitter</doc>
3300 <type name="guint" c:type="guint"/>
3301 </parameter>
3302 <parameter name="parameters" transfer-ownership="none">
3303 <doc xml:whitespace="preserve">an array of #GParameter</doc>
3304 <type name="GObject.Parameter" c:type="GParameter*"/>
3305 </parameter>
3306 </parameters>
3307 </callback>
3308 </field>
3309 <field name="get_stream_transmitter_type">
3310 <callback name="get_stream_transmitter_type">
3311 <return-value transfer-ownership="none">
3312 <doc xml:whitespace="preserve">the #GType</doc>
3313 <type name="GType" c:type="GType"/>
3314 </return-value>
3315 <parameters>
3316 <parameter name="transmitter" transfer-ownership="none">
3317 <type name="Transmitter" c:type="FsTransmitter*"/>
3318 </parameter>
3319 </parameters>
3320 </callback>
3321 </field>
3322 <field name="_padding" readable="0" private="1">
3323 <array zero-terminated="0" c:type="gpointer" fixed-size="8">
3324 <type name="gpointer" c:type="gpointer"/>
3325 </array>
3326 </field>
3327 </record>
3328 <record name="TransmitterPrivate"
3329 c:type="FsTransmitterPrivate"
3330 disguised="1">
3331 </record>
3332 <record name="_RtpHeaderExtension" c:type="_FsRtpHeaderExtension">
3333 <field name="id" writable="1">
3334 <type name="guint" c:type="guint"/>
3335 </field>
3336 <field name="direction" writable="1">
3337 <type name="StreamDirection" c:type="FsStreamDirection"/>
3338 </field>
3339 <field name="uri" writable="1">
3340 <type name="utf8" c:type="gchar*"/>
3341 </field>
3342 </record>
3343 <function name="candidate_list_copy"
3344 c:identifier="fs_candidate_list_copy"
3345 moved-to="CandidateList.copy">
3346 <doc xml:whitespace="preserve">Copies a GList of #FsCandidate and its contents</doc>
3347 <return-value transfer-ownership="full">
3348 <doc xml:whitespace="preserve">a new GList of #FsCandidate</doc>
3349 <type name="GLib.List" c:type="GList*">
3350 <type name="Codec"/>
3351 </type>
3352 </return-value>
3353 <parameters>
3354 <parameter name="candidate_list" transfer-ownership="none">
3355 <doc xml:whitespace="preserve">A GList of #FsCandidate</doc>
3356 <type name="GLib.List" c:type="GList*">
3357 <type name="Codec"/>
3358 </type>
3359 </parameter>
3360 </parameters>
3361 </function>
3362 <function name="candidate_list_destroy"
3363 c:identifier="fs_candidate_list_destroy"
3364 moved-to="CandidateList.destroy"
3365 introspectable="0">
3366 <doc xml:whitespace="preserve">Deletes a GList of #FsCandidate and its contents</doc>
3367 <return-value transfer-ownership="none">
3368 <type name="none" c:type="void"/>
3369 </return-value>
3370 <parameters>
3371 <parameter name="candidate_list" transfer-ownership="none">
3372 <doc xml:whitespace="preserve">A GList of #FsCandidate</doc>
3373 <type name="GLib.List" c:type="GList*">
3374 <type name="gpointer" c:type="gpointer"/>
3375 </type>
3376 </parameter>
3377 </parameters>
3378 </function>
3379 <function name="codec_list_are_equal"
3380 c:identifier="fs_codec_list_are_equal"
3381 moved-to="CodecGList.are_equal">
3382 <doc xml:whitespace="preserve">Verifies if two glist of fscodecs are identical</doc>
3383 <return-value transfer-ownership="none">
3384 <doc xml:whitespace="preserve">%TRUE if they are identical, %FALSE otherwise</doc>
3385 <type name="gboolean" c:type="gboolean"/>
3386 </return-value>
3387 <parameters>
3388 <parameter name="list1" transfer-ownership="none">
3389 <doc xml:whitespace="preserve">a #GList of #FsCodec</doc>
3390 <type name="GLib.List" c:type="GList*">
3391 <type name="Codec"/>
3392 </type>
3393 </parameter>
3394 <parameter name="list2" transfer-ownership="none">
3395 <doc xml:whitespace="preserve">a #GList of #FsCodec</doc>
3396 <type name="GLib.List" c:type="GList*">
3397 <type name="Codec"/>
3398 </type>
3399 </parameter>
3400 </parameters>
3401 </function>
3402 <function name="codec_list_copy"
3403 c:identifier="fs_codec_list_copy"
3404 moved-to="CodecGList.copy">
3405 <doc xml:whitespace="preserve">Copies a list of #FsCodec structures.</doc>
3406 <return-value transfer-ownership="full">
3407 <doc xml:whitespace="preserve">The new list.</doc>
3408 <type name="GLib.List" c:type="GList*">
3409 <type name="Codec"/>
3410 </type>
3411 </return-value>
3412 <parameters>
3413 <parameter name="codec_list" transfer-ownership="none">
3414 <doc xml:whitespace="preserve">a GList of #FsCodec to copy</doc>
3415 <type name="GLib.List" c:type="GList*">
3416 <type name="Codec"/>
3417 </type>
3418 </parameter>
3419 </parameters>
3420 </function>
3421 <function name="codec_list_destroy"
3422 c:identifier="fs_codec_list_destroy"
3423 moved-to="CodecGList.destroy"
3424 introspectable="0">
3425 <doc xml:whitespace="preserve">Deletes a list of #FsCodec structures and the list itself.
3426 Does nothing on %NULL lists.</doc>
3427 <return-value transfer-ownership="none">
3428 <type name="none" c:type="void"/>
3429 </return-value>
3430 <parameters>
3431 <parameter name="codec_list" transfer-ownership="none">
3432 <doc xml:whitespace="preserve">a GList of #FsCodec to delete</doc>
3433 <type name="GLib.List" c:type="GList*">
3434 <type name="gpointer" c:type="gpointer"/>
3435 </type>
3436 </parameter>
3437 </parameters>
3438 </function>
3439 <function name="codec_list_from_keyfile"
3440 c:identifier="fs_codec_list_from_keyfile"
3441 moved-to="CodecGList.from_keyfile"
3442 throws="1">
3443 <doc xml:whitespace="preserve">Reads the content of a #GKeyFile of the following format into
3444 a #GList of #FsCodec structures.
3445
3446
3447 Example:
3448 |[
3449 [audio/codec1]
3450 clock-rate=8000
3451
3452 [audio/codec1:1]
3453 clock-rate=16000
3454
3455 [audio/codec2]
3456 one_param=QCIF
3457 another_param=WOW
3458
3459 [video/codec3]
3460 wierd_param=42
3461 feedback:nack/pli=1
3462 feedback:tfrc=
3463 ]|</doc>
3464 <return-value transfer-ownership="full">
3465 <doc xml:whitespace="preserve">The #GList of #FsCodec or %NULL if the keyfile was empty or an error occured.</doc>
3466 <type name="GLib.List" c:type="GList*">
3467 <type name="Codec"/>
3468 </type>
3469 </return-value>
3470 <parameters>
3471 <parameter name="filename" transfer-ownership="none">
3472 <doc xml:whitespace="preserve">Name of the #GKeyFile to read the codecs parameters from</doc>
3473 <type name="utf8" c:type="gchar*"/>
3474 </parameter>
3475 </parameters>
3476 </function>
3477 <function name="error_quark"
3478 c:identifier="fs_error_quark"
3479 moved-to="Error.quark">
3480 <return-value transfer-ownership="none">
3481 <type name="GLib.Quark" c:type="GQuark"/>
3482 </return-value>
3483 </function>
3484 <function name="media_type_to_string"
3485 c:identifier="fs_media_type_to_string"
3486 moved-to="MediaType.to_string">
3487 <doc xml:whitespace="preserve">Gives a user-printable string representing the media type</doc>
3488 <return-value transfer-ownership="none">
3489 <doc xml:whitespace="preserve">a static string representing the media type</doc>
3490 <type name="utf8" c:type="gchar*"/>
3491 </return-value>
3492 <parameters>
3493 <parameter name="media_type" transfer-ownership="none">
3494 <doc xml:whitespace="preserve">A media type</doc>
3495 <type name="MediaType" c:type="FsMediaType"/>
3496 </parameter>
3497 </parameters>
3498 </function>
3499 <function name="parse_error" c:identifier="fs_parse_error">
3500 <doc xml:whitespace="preserve">Parses a "farstream-farstream" message and checks if it matches
3501 the @object parameters.</doc>
3502 <return-value transfer-ownership="none">
3503 <doc xml:whitespace="preserve">%TRUE if the message matches the object and is valid.</doc>
3504 <type name="gboolean" c:type="gboolean"/>
3505 </return-value>
3506 <parameters>
3507 <parameter name="object" transfer-ownership="none">
3508 <doc xml:whitespace="preserve">a #GObject to match against the message</doc>
3509 <type name="GObject.Object" c:type="GObject*"/>
3510 </parameter>
3511 <parameter name="message" transfer-ownership="none">
3512 <doc xml:whitespace="preserve">a #GstMessage to parse</doc>
3513 <type name="Gst.Message" c:type="GstMessage*"/>
3514 </parameter>
3515 <parameter name="error"
3516 direction="out"
3517 caller-allocates="0"
3518 transfer-ownership="full">
3519 <doc xml:whitespace="preserve">Returns the #FsError error number in the message if not %NULL.</doc>
3520 <type name="Error" c:type="FsError*"/>
3521 </parameter>
3522 <parameter name="error_msg"
3523 direction="out"
3524 caller-allocates="0"
3525 transfer-ownership="none">
3526 <doc xml:whitespace="preserve">Returns the error message if not %NULL</doc>
3527 <type name="utf8" c:type="gchar**"/>
3528 </parameter>
3529 </parameters>
3530 </function>
3531 <function name="rtp_header_extension_list_copy"
3532 c:identifier="fs_rtp_header_extension_list_copy"
3533 moved-to="RtpHeaderExtensionGList.copy">
3534 <doc xml:whitespace="preserve">Does a deep copy of a #GList of #FsRtpHeaderExtension</doc>
3535 <return-value transfer-ownership="full">
3536 <doc xml:whitespace="preserve">a new #GList of #FsRtpHeaderExtension</doc>
3537 <type name="GLib.List" c:type="GList*">
3538 <type name="RtpHeaderExtension"/>
3539 </type>
3540 </return-value>
3541 <parameters>
3542 <parameter name="extensions" transfer-ownership="none">
3543 <doc xml:whitespace="preserve">a #GList of #FsRtpHeaderExtension</doc>
3544 <type name="GLib.List" c:type="GList*">
3545 <type name="RtpHeaderExtension"/>
3546 </type>
3547 </parameter>
3548 </parameters>
3549 </function>
3550 <function name="rtp_header_extension_list_destroy"
3551 c:identifier="fs_rtp_header_extension_list_destroy"
3552 moved-to="RtpHeaderExtensionGList.destroy"
3553 introspectable="0">
3554 <doc xml:whitespace="preserve">Frees the passed #GList of #FsRtpHeaderExtension</doc>
3555 <return-value transfer-ownership="none">
3556 <type name="none" c:type="void"/>
3557 </return-value>
3558 <parameters>
3559 <parameter name="extensions" transfer-ownership="none">
3560 <doc xml:whitespace="preserve">a #GList of #FsRtpHeaderExtension</doc>
3561 <type name="GLib.List" c:type="GList*">
3562 <type name="gpointer" c:type="gpointer"/>
3563 </type>
3564 </parameter>
3565 </parameters>
3566 </function>
3567 <function name="rtp_header_extension_list_from_keyfile"
3568 c:identifier="fs_rtp_header_extension_list_from_keyfile"
3569 moved-to="RtpHeaderExtensionGList.from_keyfile"
3570 throws="1">
3571 <doc xml:whitespace="preserve">Reads the content of a #GKeyFile of the following format into a
3572 #GList of #FsRtpHeaderExtension structures.
3573
3574 The groups have a format "rtp-hdrext:audio:XXX" or
3575 "rtp-hdrext:video:XXX" where XXX is a unique string (per media type).
3576
3577 The valid keys are:
3578 &lt;itemizedlist&gt;
3579 &lt;listitem&gt;id: a int between in the 1-255 and 4096-4351 ranges&lt;/listitem&gt;
3580 &lt;listitem&gt;uri: a URI describing the RTP Header Extension&lt;/listitem&gt;
3581 &lt;listitem&gt;direction (optional): To only send or receive a RTP Header
3582 Extension, possible values are "send", "receive", "none" or "both".
3583 Defaults to "both"&lt;/listitem&gt;
3584 &lt;/itemizedlist&gt;
3585
3586 Example:
3587 |[
3588 [rtp-hdrext:audio:a]
3589 id=1
3590 uri=urn:ietf:params:rtp-hdrext:toffset
3591
3592 [rtp-hdrext:audio:abc]
3593 id=3
3594 uri=urn:ietf:params:rtp-hdrext:ntp-64
3595 direction=receive
3596 ]|</doc>
3597 <return-value transfer-ownership="full">
3598 <doc xml:whitespace="preserve">a #GList of #FsRtpHeaderExtension that must be freed with fs_rtp_header_extension_list_destroy()</doc>
3599 <type name="GLib.List" c:type="GList*">
3600 <type name="RtpHeaderExtension"/>
3601 </type>
3602 </return-value>
3603 <parameters>
3604 <parameter name="filename" transfer-ownership="none">
3605 <doc xml:whitespace="preserve">Name of the #GKeyFile to read the RTP Header Extensions from</doc>
3606 <type name="utf8" c:type="gchar*"/>
3607 </parameter>
3608 <parameter name="media_type" transfer-ownership="none">
3609 <doc xml:whitespace="preserve">The media type for which to get header extensions</doc>
3610 <type name="MediaType" c:type="FsMediaType"/>
3611 </parameter>
3612 </parameters>
3613 </function>
3614 <function name="utils_get_default_codec_preferences"
3615 c:identifier="fs_utils_get_default_codec_preferences">
3616 <doc xml:whitespace="preserve">These default codec preferences should work with the elements that are
3617 available in the main GStreamer element repositories.
3618 They should be suitable for standards based protocols like SIP or XMPP.</doc>
3619 <return-value transfer-ownership="full">
3620 <doc xml:whitespace="preserve">The default codec preferences for this plugin. This #GList should be freed with fs_codec_list_destroy()</doc>
3621 <type name="GLib.List" c:type="GList*">
3622 <type name="Codec"/>
3623 </type>
3624 </return-value>
3625 <parameters>
3626 <parameter name="element" transfer-ownership="none">
3627 <doc xml:whitespace="preserve">Element for which to fetch default codec preferences</doc>
3628 <type name="Gst.Element" c:type="GstElement*"/>
3629 </parameter>
3630 </parameters>
3631 </function>
3632 <function name="utils_get_default_element_properties"
3633 c:identifier="fs_utils_get_default_element_properties"
3634 introspectable="0">
3635 <doc xml:whitespace="preserve">This function produces a #GKeyFile that can be fed to
3636 fs_element_added_notifier_set_properties_from_keyfile(). If no
3637 default properties have been found, it will return %NULL.</doc>
3638 <return-value transfer-ownership="full">
3639 <doc xml:whitespace="preserve">a #GKeyFile containing the default element properties for this element or %NULL if no properties were found. Caller must free the #GKeyFile when he is done.</doc>
3640 <type name="GLib.KeyFile" c:type="GKeyFile*"/>
3641 </return-value>
3642 <parameters>
3643 <parameter name="element" transfer-ownership="none">
3644 <doc xml:whitespace="preserve">Element for which to fetch default element properties</doc>
3645 <type name="Gst.Element" c:type="GstElement*"/>
3646 </parameter>
3647 </parameters>
3648 </function>
3649 <function name="utils_get_default_rtp_header_extension_preferences"
3650 c:identifier="fs_utils_get_default_rtp_header_extension_preferences">
3651 <doc xml:whitespace="preserve">These default rtp header extension preferences should work with the elements
3652 that are available in the main GStreamer element repositories.
3653 They should be suitable for standards based protocols like SIP or XMPP.</doc>
3654 <return-value transfer-ownership="full">
3655 <doc xml:whitespace="preserve">The default rtp header extension preferences for this plugin, this #GList should be freed with fs_codec_list_destroy()</doc>
3656 <type name="GLib.List" c:type="GList*">
3657 <type name="Codec"/>
3658 </type>
3659 </return-value>
3660 <parameters>
3661 <parameter name="element" transfer-ownership="none">
3662 <doc xml:whitespace="preserve">Element for which to fetch default RTP Header Extension preferences</doc>
3663 <type name="Gst.Element" c:type="GstElement*"/>
3664 </parameter>
3665 <parameter name="media_type" transfer-ownership="none">
3666 <doc xml:whitespace="preserve">The #FsMediaType for which to get default RTP Header Extension preferences</doc>
3667 <type name="MediaType" c:type="FsMediaType"/>
3668 </parameter>
3669 </parameters>
3670 </function>
3671 <function name="utils_set_bitrate" c:identifier="fs_utils_set_bitrate">
3672 <doc xml:whitespace="preserve">This allows setting the bitrate on all elements that have a "bitrate"
3673 property without having to know the type or of the unit used by that element.
3674
3675 This will be obsolete in 0.11 (when all elements use bit/sec for the
3676 "bitrate" property.</doc>
3677 <return-value transfer-ownership="none">
3678 <type name="none" c:type="void"/>
3679 </return-value>
3680 <parameters>
3681 <parameter name="element" transfer-ownership="none">
3682 <doc xml:whitespace="preserve">The #GstElement</doc>
3683 <type name="Gst.Element" c:type="GstElement*"/>
3684 </parameter>
3685 <parameter name="bitrate" transfer-ownership="none">
3686 <doc xml:whitespace="preserve">The bitrate in bits/sec</doc>
3687 <type name="glong" c:type="glong"/>
3688 </parameter>
3689 </parameters>
3690 </function>
3691 </namespace>
3692 </repository>
0 libfarstreamincludedir = $(includedir)/farstream-@FS_MAJORMINOR@/farstream
0 libfarstreamincludedir = $(includedir)/farstream-@FS_APIVERSION@/farstream
11
22 libfarstreaminclude_HEADERS = \
33 fs-candidate.h \
1717 fs-enumtypes.h
1818
1919
20 lib_LTLIBRARIES = libfarstream-@FS_MAJORMINOR@.la
20 lib_LTLIBRARIES = libfarstream-@FS_APIVERSION@.la
2121
2222 BUILT_SOURCES = \
23 $(nodist_libfarstream_@FS_MAJORMINOR@_la_SOURCES) \
23 $(nodist_libfarstream_@FS_APIVERSION@_la_SOURCES) \
2424 $(nodist_libfarstreaminclude_HEADERS)
2525
2626 CLEANFILES = $(BUILT_SOURCES) fs-marshal.list
2727
28 libfarstream_@FS_MAJORMINOR@_la_SOURCES = \
28 libfarstream_@FS_APIVERSION@_la_SOURCES = \
2929 fs-candidate.c \
3030 fs-codec.c \
3131 fs-participant.c \
4040 fs-rtp.c \
4141 fs-private.h
4242
43 nodist_libfarstream_@FS_MAJORMINOR@_la_SOURCES = \
43 nodist_libfarstream_@FS_APIVERSION@_la_SOURCES = \
4444 fs-marshal.c \
4545 fs-marshal.h \
4646 fs-enumtypes.c
4747
4848
49 fs-marshal.list: $(libfarstream_@FS_MAJORMINOR@_la_SOURCES) Makefile.am
49 fs-marshal.list: $(libfarstream_@FS_APIVERSION@_la_SOURCES) Makefile.am
5050 $(AM_V_GEN) ( cd $(srcdir) && \
5151 sed -n -e 's/.*_fs_marshal_\([[:upper:][:digit:]]*__[[:upper:][:digit:]_]*\).*/\1/p' \
52 $(libfarstream_@FS_MAJORMINOR@_la_SOURCES) ) \
52 $(libfarstream_@FS_APIVERSION@_la_SOURCES) ) \
5353 | sed -e 's/__/:/' -e 'y/_/,/' | sort -u > $@.tmp
5454 @if cmp -s $@.tmp $@; then \
5555 rm $@.tmp; \
5858 mv $@.tmp $@; \
5959 fi
6060
61 libfarstream_@FS_MAJORMINOR@_la_CFLAGS = \
61 libfarstream_@FS_APIVERSION@_la_CFLAGS = \
6262 $(FS_INTERNAL_CFLAGS) $(FS_CFLAGS) \
6363 $(GST_PLUGINS_BASE_CFLAGS) \
6464 $(GST_BASE_CFLAGS) \
6565 $(GST_CFLAGS)
66 libfarstream_@FS_MAJORMINOR@_la_LIBADD = \
66 libfarstream_@FS_APIVERSION@_la_LIBADD = \
6767 $(GST_BASE_LIBS) \
6868 $(GST_LIBS)
69 libfarstream_@FS_MAJORMINOR@_la_LDFLAGS = \
69 libfarstream_@FS_APIVERSION@_la_LDFLAGS = \
7070 $(FS_LIB_LDFLAGS) \
7171 $(FS_ALL_LDFLAGS) \
7272 $(FS_LT_LDFLAGS)
9090 if HAVE_INTROSPECTION
9191 include $(INTROSPECTION_MAKEFILE)
9292 introspection_sources = \
93 $(libfarstream_@FS_MAJORMINOR@_la_SOURCES) \
93 $(libfarstream_@FS_APIVERSION@_la_SOURCES) \
9494 $(nodist_libfarstreaminclude_HEADERS) \
9595 $(libfarstreaminclude_HEADERS)
9696
97 INTROSPECTION_GIRS = Farstream-@FS_MAJORMINOR@.gir
98 Farstream_@FS_MAJOR_MINOR@_gir_NAMESPACE = Farstream
99 Farstream_@FS_MAJOR_MINOR@_gir_VERSION = @FS_MAJORMINOR@
100 Farstream_@FS_MAJOR_MINOR@_gir_LIBS = libfarstream-@FS_MAJORMINOR@.la
101 Farstream_@FS_MAJOR_MINOR@_gir_FILES = $(introspection_sources)
102 Farstream_@FS_MAJOR_MINOR@_gir_INCLUDES = GObject-2.0 Gst-@GST_MAJORMINOR@
103 Farstream_@FS_MAJOR_MINOR@_gir_CFLAGS = $(FS_INTERNAL_CFLAGS)
104 Farstream_@FS_MAJOR_MINOR@_gir_SCANNERFLAGS = --identifier-prefix=fs_ --identifier-prefix=Fs
97 INTROSPECTION_GIRS = Farstream-@FS_APIVERSION@.gir
98 Farstream-@FS_APIVERSION@.gir: libfarstream-@FS_APIVERSION@.la
99 Farstream_@FS_API_VERSION@_gir_NAMESPACE = Farstream
100 Farstream_@FS_API_VERSION@_gir_VERSION = @FS_APIVERSION@
101 Farstream_@FS_API_VERSION@_gir_LIBS = libfarstream-@FS_APIVERSION@.la
102 Farstream_@FS_API_VERSION@_gir_FILES = $(introspection_sources)
103 Farstream_@FS_API_VERSION@_gir_INCLUDES = GObject-2.0 Gst-@GST_API_VERSION@
104 Farstream_@FS_API_VERSION@_gir_CFLAGS = $(FS_INTERNAL_CFLAGS)
105 Farstream_@FS_API_VERSION@_gir_SCANNERFLAGS = --identifier-prefix=fs_ --identifier-prefix=Fs
105106
106107 girdir = $(datadir)/gir-1.0
107 dist_gir_DATA = Farstream-@FS_MAJORMINOR@.gir
108 dist_gir_DATA = Farstream-@FS_APIVERSION@.gir
108109 typelibdir = $(libdir)/girepository-1.0
109 typelib_DATA = Farstream-@FS_MAJORMINOR@.typelib
110 typelib_DATA = Farstream-@FS_APIVERSION@.typelib
110111 CLEANFILES += $(dist_gir_DATA) $(typelib_DATA)
111112 endif
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
4343 POST_UNINSTALL = :
4444 build_triplet = @build@
4545 host_triplet = @host@
46 target_triplet = @target@
4647 DIST_COMMON = $(am__dist_gir_DATA_DIST) $(libfarstreaminclude_HEADERS) \
4748 $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
4849 $(top_srcdir)/common-modified/gst-glib-gen.mak
5354 $(top_srcdir)/common/m4/as-auto-alt.m4 \
5455 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
5556 $(top_srcdir)/common/m4/as-libtool.m4 \
57 $(top_srcdir)/common/m4/as-python.m4 \
5658 $(top_srcdir)/common/m4/as-scrub-include.m4 \
5759 $(top_srcdir)/common/m4/as-version.m4 \
5860 $(top_srcdir)/common/m4/gst-arch.m4 \
6567 $(top_srcdir)/common/m4/gst.m4 \
6668 $(top_srcdir)/common/m4/gtk-doc.m4 \
6769 $(top_srcdir)/common/m4/pkg.m4 \
68 $(top_srcdir)/m4/as-check-python-headers.m4 \
6970 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
7071 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
7172 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
9798 am__base_list = \
9899 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
99100 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
101 am__uninstall_files_from_dir = { \
102 test -z "$$files" \
103 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
104 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
105 $(am__cd) "$$dir" && rm -f $$files; }; \
106 }
100107 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(girdir)" \
101108 "$(DESTDIR)$(typelibdir)" \
102109 "$(DESTDIR)$(libfarstreamincludedir)" \
103110 "$(DESTDIR)$(libfarstreamincludedir)"
104111 LTLIBRARIES = $(lib_LTLIBRARIES)
105112 am__DEPENDENCIES_1 =
106 libfarstream_@FS_MAJORMINOR@_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
113 libfarstream_@FS_APIVERSION@_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
107114 $(am__DEPENDENCIES_1)
108 am_libfarstream_@FS_MAJORMINOR@_la_OBJECTS = \
109 libfarstream_@FS_MAJORMINOR@_la-fs-candidate.lo \
110 libfarstream_@FS_MAJORMINOR@_la-fs-codec.lo \
111 libfarstream_@FS_MAJORMINOR@_la-fs-participant.lo \
112 libfarstream_@FS_MAJORMINOR@_la-fs-session.lo \
113 libfarstream_@FS_MAJORMINOR@_la-fs-stream.lo \
114 libfarstream_@FS_MAJORMINOR@_la-fs-conference.lo \
115 libfarstream_@FS_MAJORMINOR@_la-fs-transmitter.lo \
116 libfarstream_@FS_MAJORMINOR@_la-fs-stream-transmitter.lo \
117 libfarstream_@FS_MAJORMINOR@_la-fs-plugin.lo \
118 libfarstream_@FS_MAJORMINOR@_la-fs-element-added-notifier.lo \
119 libfarstream_@FS_MAJORMINOR@_la-fs-utils.lo \
120 libfarstream_@FS_MAJORMINOR@_la-fs-rtp.lo
121 nodist_libfarstream_@FS_MAJORMINOR@_la_OBJECTS = \
122 libfarstream_@FS_MAJORMINOR@_la-fs-marshal.lo \
123 libfarstream_@FS_MAJORMINOR@_la-fs-enumtypes.lo
124 libfarstream_@FS_MAJORMINOR@_la_OBJECTS = \
125 $(am_libfarstream_@FS_MAJORMINOR@_la_OBJECTS) \
126 $(nodist_libfarstream_@FS_MAJORMINOR@_la_OBJECTS)
127 AM_V_lt = $(am__v_lt_$(V))
128 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
115 am_libfarstream_@FS_APIVERSION@_la_OBJECTS = \
116 libfarstream_@FS_APIVERSION@_la-fs-candidate.lo \
117 libfarstream_@FS_APIVERSION@_la-fs-codec.lo \
118 libfarstream_@FS_APIVERSION@_la-fs-participant.lo \
119 libfarstream_@FS_APIVERSION@_la-fs-session.lo \
120 libfarstream_@FS_APIVERSION@_la-fs-stream.lo \
121 libfarstream_@FS_APIVERSION@_la-fs-conference.lo \
122 libfarstream_@FS_APIVERSION@_la-fs-transmitter.lo \
123 libfarstream_@FS_APIVERSION@_la-fs-stream-transmitter.lo \
124 libfarstream_@FS_APIVERSION@_la-fs-plugin.lo \
125 libfarstream_@FS_APIVERSION@_la-fs-element-added-notifier.lo \
126 libfarstream_@FS_APIVERSION@_la-fs-utils.lo \
127 libfarstream_@FS_APIVERSION@_la-fs-rtp.lo
128 nodist_libfarstream_@FS_APIVERSION@_la_OBJECTS = \
129 libfarstream_@FS_APIVERSION@_la-fs-marshal.lo \
130 libfarstream_@FS_APIVERSION@_la-fs-enumtypes.lo
131 libfarstream_@FS_APIVERSION@_la_OBJECTS = \
132 $(am_libfarstream_@FS_APIVERSION@_la_OBJECTS) \
133 $(nodist_libfarstream_@FS_APIVERSION@_la_OBJECTS)
134 AM_V_lt = $(am__v_lt_@AM_V@)
135 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
129136 am__v_lt_0 = --silent
130 libfarstream_@FS_MAJORMINOR@_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
137 libfarstream_@FS_APIVERSION@_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
131138 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
132 $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) \
133 $(libfarstream_@FS_MAJORMINOR@_la_LDFLAGS) $(LDFLAGS) -o $@
139 $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) \
140 $(libfarstream_@FS_APIVERSION@_la_LDFLAGS) $(LDFLAGS) -o $@
134141 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
135142 depcomp = $(SHELL) $(top_srcdir)/depcomp
136143 am__depfiles_maybe = depfiles
141148 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
142149 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
143150 $(AM_CFLAGS) $(CFLAGS)
144 AM_V_CC = $(am__v_CC_$(V))
145 am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
151 AM_V_CC = $(am__v_CC_@AM_V@)
152 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
146153 am__v_CC_0 = @echo " CC " $@;
147 AM_V_at = $(am__v_at_$(V))
148 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
154 AM_V_at = $(am__v_at_@AM_V@)
155 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
149156 am__v_at_0 = @
150157 CCLD = $(CC)
151158 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
152159 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
153160 $(AM_LDFLAGS) $(LDFLAGS) -o $@
154 AM_V_CCLD = $(am__v_CCLD_$(V))
155 am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
161 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
162 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
156163 am__v_CCLD_0 = @echo " CCLD " $@;
157 AM_V_GEN = $(am__v_GEN_$(V))
158 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
164 AM_V_GEN = $(am__v_GEN_@AM_V@)
165 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
159166 am__v_GEN_0 = @echo " GEN " $@;
160 SOURCES = $(libfarstream_@FS_MAJORMINOR@_la_SOURCES) \
161 $(nodist_libfarstream_@FS_MAJORMINOR@_la_SOURCES)
162 DIST_SOURCES = $(libfarstream_@FS_MAJORMINOR@_la_SOURCES)
163 am__dist_gir_DATA_DIST = Farstream-@FS_MAJORMINOR@.gir
167 SOURCES = $(libfarstream_@FS_APIVERSION@_la_SOURCES) \
168 $(nodist_libfarstream_@FS_APIVERSION@_la_SOURCES)
169 DIST_SOURCES = $(libfarstream_@FS_APIVERSION@_la_SOURCES)
170 am__dist_gir_DATA_DIST = Farstream-@FS_APIVERSION@.gir
164171 DATA = $(dist_gir_DATA) $(typelib_DATA)
165172 HEADERS = $(libfarstreaminclude_HEADERS) \
166173 $(nodist_libfarstreaminclude_HEADERS)
172179 AMTAR = @AMTAR@
173180 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
174181 AR = @AR@
182 AS = @AS@
175183 AUTOCONF = @AUTOCONF@
176184 AUTOHEADER = @AUTOHEADER@
177185 AUTOMAKE = @AUTOMAKE@
199207 FGREP = @FGREP@
200208 FS_AGE = @FS_AGE@
201209 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
210 FS_APIVERSION = @FS_APIVERSION@
211 FS_API_VERSION = @FS_API_VERSION@
202212 FS_CFLAGS = @FS_CFLAGS@
203213 FS_CURRENT = @FS_CURRENT@
204214 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
207217 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
208218 FS_LICENSE = @FS_LICENSE@
209219 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
210 FS_MAJORMINOR = @FS_MAJORMINOR@
211 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
212220 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
213221 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
214222 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
221229 GCOV = @GCOV@
222230 GCOV_CFLAGS = @GCOV_CFLAGS@
223231 GCOV_LIBS = @GCOV_LIBS@
232 GIO_CFLAGS = @GIO_CFLAGS@
233 GIO_LDFLAGS = @GIO_LDFLAGS@
234 GIO_LIBS = @GIO_LIBS@
224235 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
225236 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
226237 GLIB_CFLAGS = @GLIB_CFLAGS@
230241 GLIB_REQ = @GLIB_REQ@
231242 GREP = @GREP@
232243 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
244 GST_API_VERSION = @GST_API_VERSION@
233245 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
234246 GST_BASE_LIBS = @GST_BASE_LIBS@
235247 GST_CFLAGS = @GST_CFLAGS@
238250 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
239251 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
240252 GST_LIBS = @GST_LIBS@
241 GST_MAJORMINOR = @GST_MAJORMINOR@
242253 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
243254 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
244255 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
248259 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
249260 GST_TOOLS_DIR = @GST_TOOLS_DIR@
250261 GTKDOC_CHECK = @GTKDOC_CHECK@
262 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
263 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
264 GTKDOC_MKPDF = @GTKDOC_MKPDF@
265 GTKDOC_REBASE = @GTKDOC_REBASE@
251266 GUPNP_CFLAGS = @GUPNP_CFLAGS@
252267 GUPNP_LIBS = @GUPNP_LIBS@
253268 HTML_DIR = @HTML_DIR@
299314 PKG_CONFIG = @PKG_CONFIG@
300315 PLUGINDIR = @PLUGINDIR@
301316 PROFILE_CFLAGS = @PROFILE_CFLAGS@
302 PYCODEGEN = @PYCODEGEN@
303 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
304 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
305 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
306 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
307317 PYTHON = @PYTHON@
308318 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
309 PYTHON_INCLUDES = @PYTHON_INCLUDES@
310319 PYTHON_PLATFORM = @PYTHON_PLATFORM@
311320 PYTHON_PREFIX = @PYTHON_PREFIX@
312321 PYTHON_VERSION = @PYTHON_VERSION@
373382 sharedstatedir = @sharedstatedir@
374383 srcdir = @srcdir@
375384 sysconfdir = @sysconfdir@
385 target = @target@
376386 target_alias = @target_alias@
387 target_cpu = @target_cpu@
388 target_os = @target_os@
389 target_vendor = @target_vendor@
377390 top_build_prefix = @top_build_prefix@
378391 top_builddir = @top_builddir@
379392 top_srcdir = @top_srcdir@
380 libfarstreamincludedir = $(includedir)/farstream-@FS_MAJORMINOR@/farstream
393 libfarstreamincludedir = $(includedir)/farstream-@FS_APIVERSION@/farstream
381394 libfarstreaminclude_HEADERS = \
382395 fs-candidate.h \
383396 fs-codec.h \
395408 nodist_libfarstreaminclude_HEADERS = \
396409 fs-enumtypes.h
397410
398 lib_LTLIBRARIES = libfarstream-@FS_MAJORMINOR@.la
411 lib_LTLIBRARIES = libfarstream-@FS_APIVERSION@.la
399412 BUILT_SOURCES = \
400 $(nodist_libfarstream_@FS_MAJORMINOR@_la_SOURCES) \
413 $(nodist_libfarstream_@FS_APIVERSION@_la_SOURCES) \
401414 $(nodist_libfarstreaminclude_HEADERS)
402415
403416 CLEANFILES = $(BUILT_SOURCES) fs-marshal.list $(am__append_1)
404 libfarstream_@FS_MAJORMINOR@_la_SOURCES = \
417 libfarstream_@FS_APIVERSION@_la_SOURCES = \
405418 fs-candidate.c \
406419 fs-codec.c \
407420 fs-participant.c \
416429 fs-rtp.c \
417430 fs-private.h
418431
419 nodist_libfarstream_@FS_MAJORMINOR@_la_SOURCES = \
432 nodist_libfarstream_@FS_APIVERSION@_la_SOURCES = \
420433 fs-marshal.c \
421434 fs-marshal.h \
422435 fs-enumtypes.c
423436
424 libfarstream_@FS_MAJORMINOR@_la_CFLAGS = \
437 libfarstream_@FS_APIVERSION@_la_CFLAGS = \
425438 $(FS_INTERNAL_CFLAGS) $(FS_CFLAGS) \
426439 $(GST_PLUGINS_BASE_CFLAGS) \
427440 $(GST_BASE_CFLAGS) \
428441 $(GST_CFLAGS)
429442
430 libfarstream_@FS_MAJORMINOR@_la_LIBADD = \
443 libfarstream_@FS_APIVERSION@_la_LIBADD = \
431444 $(GST_BASE_LIBS) \
432445 $(GST_LIBS)
433446
434 libfarstream_@FS_MAJORMINOR@_la_LDFLAGS = \
447 libfarstream_@FS_APIVERSION@_la_LDFLAGS = \
435448 $(FS_LIB_LDFLAGS) \
436449 $(FS_ALL_LDFLAGS) \
437450 $(FS_LT_LDFLAGS)
450463 glib_gen_basename = fs
451464 enum_headers = $(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
452465 @HAVE_INTROSPECTION_TRUE@introspection_sources = \
453 @HAVE_INTROSPECTION_TRUE@ $(libfarstream_@FS_MAJORMINOR@_la_SOURCES) \
466 @HAVE_INTROSPECTION_TRUE@ $(libfarstream_@FS_APIVERSION@_la_SOURCES) \
454467 @HAVE_INTROSPECTION_TRUE@ $(nodist_libfarstreaminclude_HEADERS) \
455468 @HAVE_INTROSPECTION_TRUE@ $(libfarstreaminclude_HEADERS)
456469
457 @HAVE_INTROSPECTION_TRUE@INTROSPECTION_GIRS = Farstream-@FS_MAJORMINOR@.gir
458 @HAVE_INTROSPECTION_TRUE@Farstream_@FS_MAJOR_MINOR@_gir_NAMESPACE = Farstream
459 @HAVE_INTROSPECTION_TRUE@Farstream_@FS_MAJOR_MINOR@_gir_VERSION = @FS_MAJORMINOR@
460 @HAVE_INTROSPECTION_TRUE@Farstream_@FS_MAJOR_MINOR@_gir_LIBS = libfarstream-@FS_MAJORMINOR@.la
461 @HAVE_INTROSPECTION_TRUE@Farstream_@FS_MAJOR_MINOR@_gir_FILES = $(introspection_sources)
462 @HAVE_INTROSPECTION_TRUE@Farstream_@FS_MAJOR_MINOR@_gir_INCLUDES = GObject-2.0 Gst-@GST_MAJORMINOR@
463 @HAVE_INTROSPECTION_TRUE@Farstream_@FS_MAJOR_MINOR@_gir_CFLAGS = $(FS_INTERNAL_CFLAGS)
464 @HAVE_INTROSPECTION_TRUE@Farstream_@FS_MAJOR_MINOR@_gir_SCANNERFLAGS = --identifier-prefix=fs_ --identifier-prefix=Fs
470 @HAVE_INTROSPECTION_TRUE@INTROSPECTION_GIRS = Farstream-@FS_APIVERSION@.gir
471 @HAVE_INTROSPECTION_TRUE@Farstream_@FS_API_VERSION@_gir_NAMESPACE = Farstream
472 @HAVE_INTROSPECTION_TRUE@Farstream_@FS_API_VERSION@_gir_VERSION = @FS_APIVERSION@
473 @HAVE_INTROSPECTION_TRUE@Farstream_@FS_API_VERSION@_gir_LIBS = libfarstream-@FS_APIVERSION@.la
474 @HAVE_INTROSPECTION_TRUE@Farstream_@FS_API_VERSION@_gir_FILES = $(introspection_sources)
475 @HAVE_INTROSPECTION_TRUE@Farstream_@FS_API_VERSION@_gir_INCLUDES = GObject-2.0 Gst-@GST_API_VERSION@
476 @HAVE_INTROSPECTION_TRUE@Farstream_@FS_API_VERSION@_gir_CFLAGS = $(FS_INTERNAL_CFLAGS)
477 @HAVE_INTROSPECTION_TRUE@Farstream_@FS_API_VERSION@_gir_SCANNERFLAGS = --identifier-prefix=fs_ --identifier-prefix=Fs
465478 @HAVE_INTROSPECTION_TRUE@girdir = $(datadir)/gir-1.0
466 @HAVE_INTROSPECTION_TRUE@dist_gir_DATA = Farstream-@FS_MAJORMINOR@.gir
479 @HAVE_INTROSPECTION_TRUE@dist_gir_DATA = Farstream-@FS_APIVERSION@.gir
467480 @HAVE_INTROSPECTION_TRUE@typelibdir = $(libdir)/girepository-1.0
468 @HAVE_INTROSPECTION_TRUE@typelib_DATA = Farstream-@FS_MAJORMINOR@.typelib
481 @HAVE_INTROSPECTION_TRUE@typelib_DATA = Farstream-@FS_APIVERSION@.typelib
469482 all: $(BUILT_SOURCES)
470483 $(MAKE) $(AM_MAKEFLAGS) all-am
471484
492505 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
493506 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
494507 esac;
508 $(top_srcdir)/common-modified/gst-glib-gen.mak:
495509
496510 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
497511 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
532546 echo "rm -f \"$${dir}/so_locations\""; \
533547 rm -f "$${dir}/so_locations"; \
534548 done
535 libfarstream-@FS_MAJORMINOR@.la: $(libfarstream_@FS_MAJORMINOR@_la_OBJECTS) $(libfarstream_@FS_MAJORMINOR@_la_DEPENDENCIES)
536 $(AM_V_CCLD)$(libfarstream_@FS_MAJORMINOR@_la_LINK) -rpath $(libdir) $(libfarstream_@FS_MAJORMINOR@_la_OBJECTS) $(libfarstream_@FS_MAJORMINOR@_la_LIBADD) $(LIBS)
549 libfarstream-@FS_APIVERSION@.la: $(libfarstream_@FS_APIVERSION@_la_OBJECTS) $(libfarstream_@FS_APIVERSION@_la_DEPENDENCIES) $(EXTRA_libfarstream_@FS_APIVERSION@_la_DEPENDENCIES)
550 $(AM_V_CCLD)$(libfarstream_@FS_APIVERSION@_la_LINK) -rpath $(libdir) $(libfarstream_@FS_APIVERSION@_la_OBJECTS) $(libfarstream_@FS_APIVERSION@_la_LIBADD) $(LIBS)
537551
538552 mostlyclean-compile:
539553 -rm -f *.$(OBJEXT)
541555 distclean-compile:
542556 -rm -f *.tab.c
543557
544 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-candidate.Plo@am__quote@
545 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-codec.Plo@am__quote@
546 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-conference.Plo@am__quote@
547 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-element-added-notifier.Plo@am__quote@
548 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-enumtypes.Plo@am__quote@
549 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-marshal.Plo@am__quote@
550 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-participant.Plo@am__quote@
551 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-plugin.Plo@am__quote@
552 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-rtp.Plo@am__quote@
553 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-session.Plo@am__quote@
554 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-stream-transmitter.Plo@am__quote@
555 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-stream.Plo@am__quote@
556 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-transmitter.Plo@am__quote@
557 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-utils.Plo@am__quote@
558 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-candidate.Plo@am__quote@
559 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-codec.Plo@am__quote@
560 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-conference.Plo@am__quote@
561 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-element-added-notifier.Plo@am__quote@
562 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-enumtypes.Plo@am__quote@
563 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-marshal.Plo@am__quote@
564 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-participant.Plo@am__quote@
565 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-plugin.Plo@am__quote@
566 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-rtp.Plo@am__quote@
567 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-session.Plo@am__quote@
568 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-stream-transmitter.Plo@am__quote@
569 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-stream.Plo@am__quote@
570 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-transmitter.Plo@am__quote@
571 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-utils.Plo@am__quote@
558572
559573 .c.o:
560574 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
561575 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
562 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
563 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
564 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
565 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
576 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
577 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
578 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
566579
567580 .c.obj:
568581 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
569582 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
570 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
571 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
572 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
573 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
583 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
584 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
585 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
574586
575587 .c.lo:
576588 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
577589 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
578 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
579 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
580 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
581 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
582
583 libfarstream_@FS_MAJORMINOR@_la-fs-candidate.lo: fs-candidate.c
584 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_MAJORMINOR@_la-fs-candidate.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-candidate.Tpo -c -o libfarstream_@FS_MAJORMINOR@_la-fs-candidate.lo `test -f 'fs-candidate.c' || echo '$(srcdir)/'`fs-candidate.c
585 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-candidate.Tpo $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-candidate.Plo
586 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
587 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-candidate.c' object='libfarstream_@FS_MAJORMINOR@_la-fs-candidate.lo' libtool=yes @AMDEPBACKSLASH@
588 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
589 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_MAJORMINOR@_la-fs-candidate.lo `test -f 'fs-candidate.c' || echo '$(srcdir)/'`fs-candidate.c
590
591 libfarstream_@FS_MAJORMINOR@_la-fs-codec.lo: fs-codec.c
592 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_MAJORMINOR@_la-fs-codec.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-codec.Tpo -c -o libfarstream_@FS_MAJORMINOR@_la-fs-codec.lo `test -f 'fs-codec.c' || echo '$(srcdir)/'`fs-codec.c
593 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-codec.Tpo $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-codec.Plo
594 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
595 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-codec.c' object='libfarstream_@FS_MAJORMINOR@_la-fs-codec.lo' libtool=yes @AMDEPBACKSLASH@
596 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
597 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_MAJORMINOR@_la-fs-codec.lo `test -f 'fs-codec.c' || echo '$(srcdir)/'`fs-codec.c
598
599 libfarstream_@FS_MAJORMINOR@_la-fs-participant.lo: fs-participant.c
600 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_MAJORMINOR@_la-fs-participant.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-participant.Tpo -c -o libfarstream_@FS_MAJORMINOR@_la-fs-participant.lo `test -f 'fs-participant.c' || echo '$(srcdir)/'`fs-participant.c
601 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-participant.Tpo $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-participant.Plo
602 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
603 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-participant.c' object='libfarstream_@FS_MAJORMINOR@_la-fs-participant.lo' libtool=yes @AMDEPBACKSLASH@
604 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
605 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_MAJORMINOR@_la-fs-participant.lo `test -f 'fs-participant.c' || echo '$(srcdir)/'`fs-participant.c
606
607 libfarstream_@FS_MAJORMINOR@_la-fs-session.lo: fs-session.c
608 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_MAJORMINOR@_la-fs-session.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-session.Tpo -c -o libfarstream_@FS_MAJORMINOR@_la-fs-session.lo `test -f 'fs-session.c' || echo '$(srcdir)/'`fs-session.c
609 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-session.Tpo $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-session.Plo
610 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
611 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-session.c' object='libfarstream_@FS_MAJORMINOR@_la-fs-session.lo' libtool=yes @AMDEPBACKSLASH@
612 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
613 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_MAJORMINOR@_la-fs-session.lo `test -f 'fs-session.c' || echo '$(srcdir)/'`fs-session.c
614
615 libfarstream_@FS_MAJORMINOR@_la-fs-stream.lo: fs-stream.c
616 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_MAJORMINOR@_la-fs-stream.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-stream.Tpo -c -o libfarstream_@FS_MAJORMINOR@_la-fs-stream.lo `test -f 'fs-stream.c' || echo '$(srcdir)/'`fs-stream.c
617 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-stream.Tpo $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-stream.Plo
618 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
619 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-stream.c' object='libfarstream_@FS_MAJORMINOR@_la-fs-stream.lo' libtool=yes @AMDEPBACKSLASH@
620 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
621 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_MAJORMINOR@_la-fs-stream.lo `test -f 'fs-stream.c' || echo '$(srcdir)/'`fs-stream.c
622
623 libfarstream_@FS_MAJORMINOR@_la-fs-conference.lo: fs-conference.c
624 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_MAJORMINOR@_la-fs-conference.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-conference.Tpo -c -o libfarstream_@FS_MAJORMINOR@_la-fs-conference.lo `test -f 'fs-conference.c' || echo '$(srcdir)/'`fs-conference.c
625 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-conference.Tpo $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-conference.Plo
626 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
627 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-conference.c' object='libfarstream_@FS_MAJORMINOR@_la-fs-conference.lo' libtool=yes @AMDEPBACKSLASH@
628 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
629 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_MAJORMINOR@_la-fs-conference.lo `test -f 'fs-conference.c' || echo '$(srcdir)/'`fs-conference.c
630
631 libfarstream_@FS_MAJORMINOR@_la-fs-transmitter.lo: fs-transmitter.c
632 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_MAJORMINOR@_la-fs-transmitter.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-transmitter.Tpo -c -o libfarstream_@FS_MAJORMINOR@_la-fs-transmitter.lo `test -f 'fs-transmitter.c' || echo '$(srcdir)/'`fs-transmitter.c
633 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-transmitter.Tpo $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-transmitter.Plo
634 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
635 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-transmitter.c' object='libfarstream_@FS_MAJORMINOR@_la-fs-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
636 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
637 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_MAJORMINOR@_la-fs-transmitter.lo `test -f 'fs-transmitter.c' || echo '$(srcdir)/'`fs-transmitter.c
638
639 libfarstream_@FS_MAJORMINOR@_la-fs-stream-transmitter.lo: fs-stream-transmitter.c
640 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_MAJORMINOR@_la-fs-stream-transmitter.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-stream-transmitter.Tpo -c -o libfarstream_@FS_MAJORMINOR@_la-fs-stream-transmitter.lo `test -f 'fs-stream-transmitter.c' || echo '$(srcdir)/'`fs-stream-transmitter.c
641 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-stream-transmitter.Tpo $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-stream-transmitter.Plo
642 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
643 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-stream-transmitter.c' object='libfarstream_@FS_MAJORMINOR@_la-fs-stream-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
644 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
645 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_MAJORMINOR@_la-fs-stream-transmitter.lo `test -f 'fs-stream-transmitter.c' || echo '$(srcdir)/'`fs-stream-transmitter.c
646
647 libfarstream_@FS_MAJORMINOR@_la-fs-plugin.lo: fs-plugin.c
648 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_MAJORMINOR@_la-fs-plugin.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-plugin.Tpo -c -o libfarstream_@FS_MAJORMINOR@_la-fs-plugin.lo `test -f 'fs-plugin.c' || echo '$(srcdir)/'`fs-plugin.c
649 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-plugin.Tpo $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-plugin.Plo
650 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
651 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-plugin.c' object='libfarstream_@FS_MAJORMINOR@_la-fs-plugin.lo' libtool=yes @AMDEPBACKSLASH@
652 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
653 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_MAJORMINOR@_la-fs-plugin.lo `test -f 'fs-plugin.c' || echo '$(srcdir)/'`fs-plugin.c
654
655 libfarstream_@FS_MAJORMINOR@_la-fs-element-added-notifier.lo: fs-element-added-notifier.c
656 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_MAJORMINOR@_la-fs-element-added-notifier.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-element-added-notifier.Tpo -c -o libfarstream_@FS_MAJORMINOR@_la-fs-element-added-notifier.lo `test -f 'fs-element-added-notifier.c' || echo '$(srcdir)/'`fs-element-added-notifier.c
657 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-element-added-notifier.Tpo $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-element-added-notifier.Plo
658 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
659 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-element-added-notifier.c' object='libfarstream_@FS_MAJORMINOR@_la-fs-element-added-notifier.lo' libtool=yes @AMDEPBACKSLASH@
660 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
661 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_MAJORMINOR@_la-fs-element-added-notifier.lo `test -f 'fs-element-added-notifier.c' || echo '$(srcdir)/'`fs-element-added-notifier.c
662
663 libfarstream_@FS_MAJORMINOR@_la-fs-utils.lo: fs-utils.c
664 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_MAJORMINOR@_la-fs-utils.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-utils.Tpo -c -o libfarstream_@FS_MAJORMINOR@_la-fs-utils.lo `test -f 'fs-utils.c' || echo '$(srcdir)/'`fs-utils.c
665 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-utils.Tpo $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-utils.Plo
666 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
667 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-utils.c' object='libfarstream_@FS_MAJORMINOR@_la-fs-utils.lo' libtool=yes @AMDEPBACKSLASH@
668 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
669 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_MAJORMINOR@_la-fs-utils.lo `test -f 'fs-utils.c' || echo '$(srcdir)/'`fs-utils.c
670
671 libfarstream_@FS_MAJORMINOR@_la-fs-rtp.lo: fs-rtp.c
672 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_MAJORMINOR@_la-fs-rtp.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-rtp.Tpo -c -o libfarstream_@FS_MAJORMINOR@_la-fs-rtp.lo `test -f 'fs-rtp.c' || echo '$(srcdir)/'`fs-rtp.c
673 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-rtp.Tpo $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-rtp.Plo
674 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
675 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-rtp.c' object='libfarstream_@FS_MAJORMINOR@_la-fs-rtp.lo' libtool=yes @AMDEPBACKSLASH@
676 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
677 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_MAJORMINOR@_la-fs-rtp.lo `test -f 'fs-rtp.c' || echo '$(srcdir)/'`fs-rtp.c
678
679 libfarstream_@FS_MAJORMINOR@_la-fs-marshal.lo: fs-marshal.c
680 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_MAJORMINOR@_la-fs-marshal.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-marshal.Tpo -c -o libfarstream_@FS_MAJORMINOR@_la-fs-marshal.lo `test -f 'fs-marshal.c' || echo '$(srcdir)/'`fs-marshal.c
681 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-marshal.Tpo $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-marshal.Plo
682 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
683 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-marshal.c' object='libfarstream_@FS_MAJORMINOR@_la-fs-marshal.lo' libtool=yes @AMDEPBACKSLASH@
684 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
685 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_MAJORMINOR@_la-fs-marshal.lo `test -f 'fs-marshal.c' || echo '$(srcdir)/'`fs-marshal.c
686
687 libfarstream_@FS_MAJORMINOR@_la-fs-enumtypes.lo: fs-enumtypes.c
688 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_MAJORMINOR@_la-fs-enumtypes.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-enumtypes.Tpo -c -o libfarstream_@FS_MAJORMINOR@_la-fs-enumtypes.lo `test -f 'fs-enumtypes.c' || echo '$(srcdir)/'`fs-enumtypes.c
689 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-enumtypes.Tpo $(DEPDIR)/libfarstream_@FS_MAJORMINOR@_la-fs-enumtypes.Plo
690 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
691 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-enumtypes.c' object='libfarstream_@FS_MAJORMINOR@_la-fs-enumtypes.lo' libtool=yes @AMDEPBACKSLASH@
692 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
693 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_MAJORMINOR@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_MAJORMINOR@_la-fs-enumtypes.lo `test -f 'fs-enumtypes.c' || echo '$(srcdir)/'`fs-enumtypes.c
590 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
591 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
592 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
593
594 libfarstream_@FS_APIVERSION@_la-fs-candidate.lo: fs-candidate.c
595 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_APIVERSION@_la-fs-candidate.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-candidate.Tpo -c -o libfarstream_@FS_APIVERSION@_la-fs-candidate.lo `test -f 'fs-candidate.c' || echo '$(srcdir)/'`fs-candidate.c
596 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-candidate.Tpo $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-candidate.Plo
597 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-candidate.c' object='libfarstream_@FS_APIVERSION@_la-fs-candidate.lo' libtool=yes @AMDEPBACKSLASH@
598 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
599 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_APIVERSION@_la-fs-candidate.lo `test -f 'fs-candidate.c' || echo '$(srcdir)/'`fs-candidate.c
600
601 libfarstream_@FS_APIVERSION@_la-fs-codec.lo: fs-codec.c
602 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_APIVERSION@_la-fs-codec.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-codec.Tpo -c -o libfarstream_@FS_APIVERSION@_la-fs-codec.lo `test -f 'fs-codec.c' || echo '$(srcdir)/'`fs-codec.c
603 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-codec.Tpo $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-codec.Plo
604 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-codec.c' object='libfarstream_@FS_APIVERSION@_la-fs-codec.lo' libtool=yes @AMDEPBACKSLASH@
605 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
606 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_APIVERSION@_la-fs-codec.lo `test -f 'fs-codec.c' || echo '$(srcdir)/'`fs-codec.c
607
608 libfarstream_@FS_APIVERSION@_la-fs-participant.lo: fs-participant.c
609 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_APIVERSION@_la-fs-participant.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-participant.Tpo -c -o libfarstream_@FS_APIVERSION@_la-fs-participant.lo `test -f 'fs-participant.c' || echo '$(srcdir)/'`fs-participant.c
610 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-participant.Tpo $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-participant.Plo
611 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-participant.c' object='libfarstream_@FS_APIVERSION@_la-fs-participant.lo' libtool=yes @AMDEPBACKSLASH@
612 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
613 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_APIVERSION@_la-fs-participant.lo `test -f 'fs-participant.c' || echo '$(srcdir)/'`fs-participant.c
614
615 libfarstream_@FS_APIVERSION@_la-fs-session.lo: fs-session.c
616 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_APIVERSION@_la-fs-session.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-session.Tpo -c -o libfarstream_@FS_APIVERSION@_la-fs-session.lo `test -f 'fs-session.c' || echo '$(srcdir)/'`fs-session.c
617 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-session.Tpo $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-session.Plo
618 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-session.c' object='libfarstream_@FS_APIVERSION@_la-fs-session.lo' libtool=yes @AMDEPBACKSLASH@
619 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
620 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_APIVERSION@_la-fs-session.lo `test -f 'fs-session.c' || echo '$(srcdir)/'`fs-session.c
621
622 libfarstream_@FS_APIVERSION@_la-fs-stream.lo: fs-stream.c
623 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_APIVERSION@_la-fs-stream.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-stream.Tpo -c -o libfarstream_@FS_APIVERSION@_la-fs-stream.lo `test -f 'fs-stream.c' || echo '$(srcdir)/'`fs-stream.c
624 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-stream.Tpo $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-stream.Plo
625 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-stream.c' object='libfarstream_@FS_APIVERSION@_la-fs-stream.lo' libtool=yes @AMDEPBACKSLASH@
626 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
627 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_APIVERSION@_la-fs-stream.lo `test -f 'fs-stream.c' || echo '$(srcdir)/'`fs-stream.c
628
629 libfarstream_@FS_APIVERSION@_la-fs-conference.lo: fs-conference.c
630 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_APIVERSION@_la-fs-conference.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-conference.Tpo -c -o libfarstream_@FS_APIVERSION@_la-fs-conference.lo `test -f 'fs-conference.c' || echo '$(srcdir)/'`fs-conference.c
631 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-conference.Tpo $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-conference.Plo
632 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-conference.c' object='libfarstream_@FS_APIVERSION@_la-fs-conference.lo' libtool=yes @AMDEPBACKSLASH@
633 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
634 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_APIVERSION@_la-fs-conference.lo `test -f 'fs-conference.c' || echo '$(srcdir)/'`fs-conference.c
635
636 libfarstream_@FS_APIVERSION@_la-fs-transmitter.lo: fs-transmitter.c
637 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_APIVERSION@_la-fs-transmitter.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-transmitter.Tpo -c -o libfarstream_@FS_APIVERSION@_la-fs-transmitter.lo `test -f 'fs-transmitter.c' || echo '$(srcdir)/'`fs-transmitter.c
638 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-transmitter.Tpo $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-transmitter.Plo
639 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-transmitter.c' object='libfarstream_@FS_APIVERSION@_la-fs-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
640 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
641 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_APIVERSION@_la-fs-transmitter.lo `test -f 'fs-transmitter.c' || echo '$(srcdir)/'`fs-transmitter.c
642
643 libfarstream_@FS_APIVERSION@_la-fs-stream-transmitter.lo: fs-stream-transmitter.c
644 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_APIVERSION@_la-fs-stream-transmitter.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-stream-transmitter.Tpo -c -o libfarstream_@FS_APIVERSION@_la-fs-stream-transmitter.lo `test -f 'fs-stream-transmitter.c' || echo '$(srcdir)/'`fs-stream-transmitter.c
645 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-stream-transmitter.Tpo $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-stream-transmitter.Plo
646 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-stream-transmitter.c' object='libfarstream_@FS_APIVERSION@_la-fs-stream-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
647 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
648 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_APIVERSION@_la-fs-stream-transmitter.lo `test -f 'fs-stream-transmitter.c' || echo '$(srcdir)/'`fs-stream-transmitter.c
649
650 libfarstream_@FS_APIVERSION@_la-fs-plugin.lo: fs-plugin.c
651 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_APIVERSION@_la-fs-plugin.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-plugin.Tpo -c -o libfarstream_@FS_APIVERSION@_la-fs-plugin.lo `test -f 'fs-plugin.c' || echo '$(srcdir)/'`fs-plugin.c
652 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-plugin.Tpo $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-plugin.Plo
653 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-plugin.c' object='libfarstream_@FS_APIVERSION@_la-fs-plugin.lo' libtool=yes @AMDEPBACKSLASH@
654 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
655 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_APIVERSION@_la-fs-plugin.lo `test -f 'fs-plugin.c' || echo '$(srcdir)/'`fs-plugin.c
656
657 libfarstream_@FS_APIVERSION@_la-fs-element-added-notifier.lo: fs-element-added-notifier.c
658 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_APIVERSION@_la-fs-element-added-notifier.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-element-added-notifier.Tpo -c -o libfarstream_@FS_APIVERSION@_la-fs-element-added-notifier.lo `test -f 'fs-element-added-notifier.c' || echo '$(srcdir)/'`fs-element-added-notifier.c
659 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-element-added-notifier.Tpo $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-element-added-notifier.Plo
660 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-element-added-notifier.c' object='libfarstream_@FS_APIVERSION@_la-fs-element-added-notifier.lo' libtool=yes @AMDEPBACKSLASH@
661 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
662 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_APIVERSION@_la-fs-element-added-notifier.lo `test -f 'fs-element-added-notifier.c' || echo '$(srcdir)/'`fs-element-added-notifier.c
663
664 libfarstream_@FS_APIVERSION@_la-fs-utils.lo: fs-utils.c
665 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_APIVERSION@_la-fs-utils.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-utils.Tpo -c -o libfarstream_@FS_APIVERSION@_la-fs-utils.lo `test -f 'fs-utils.c' || echo '$(srcdir)/'`fs-utils.c
666 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-utils.Tpo $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-utils.Plo
667 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-utils.c' object='libfarstream_@FS_APIVERSION@_la-fs-utils.lo' libtool=yes @AMDEPBACKSLASH@
668 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
669 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_APIVERSION@_la-fs-utils.lo `test -f 'fs-utils.c' || echo '$(srcdir)/'`fs-utils.c
670
671 libfarstream_@FS_APIVERSION@_la-fs-rtp.lo: fs-rtp.c
672 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_APIVERSION@_la-fs-rtp.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-rtp.Tpo -c -o libfarstream_@FS_APIVERSION@_la-fs-rtp.lo `test -f 'fs-rtp.c' || echo '$(srcdir)/'`fs-rtp.c
673 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-rtp.Tpo $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-rtp.Plo
674 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-rtp.c' object='libfarstream_@FS_APIVERSION@_la-fs-rtp.lo' libtool=yes @AMDEPBACKSLASH@
675 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
676 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_APIVERSION@_la-fs-rtp.lo `test -f 'fs-rtp.c' || echo '$(srcdir)/'`fs-rtp.c
677
678 libfarstream_@FS_APIVERSION@_la-fs-marshal.lo: fs-marshal.c
679 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_APIVERSION@_la-fs-marshal.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-marshal.Tpo -c -o libfarstream_@FS_APIVERSION@_la-fs-marshal.lo `test -f 'fs-marshal.c' || echo '$(srcdir)/'`fs-marshal.c
680 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-marshal.Tpo $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-marshal.Plo
681 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-marshal.c' object='libfarstream_@FS_APIVERSION@_la-fs-marshal.lo' libtool=yes @AMDEPBACKSLASH@
682 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
683 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_APIVERSION@_la-fs-marshal.lo `test -f 'fs-marshal.c' || echo '$(srcdir)/'`fs-marshal.c
684
685 libfarstream_@FS_APIVERSION@_la-fs-enumtypes.lo: fs-enumtypes.c
686 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -MT libfarstream_@FS_APIVERSION@_la-fs-enumtypes.lo -MD -MP -MF $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-enumtypes.Tpo -c -o libfarstream_@FS_APIVERSION@_la-fs-enumtypes.lo `test -f 'fs-enumtypes.c' || echo '$(srcdir)/'`fs-enumtypes.c
687 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-enumtypes.Tpo $(DEPDIR)/libfarstream_@FS_APIVERSION@_la-fs-enumtypes.Plo
688 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-enumtypes.c' object='libfarstream_@FS_APIVERSION@_la-fs-enumtypes.lo' libtool=yes @AMDEPBACKSLASH@
689 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
690 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfarstream_@FS_APIVERSION@_la_CFLAGS) $(CFLAGS) -c -o libfarstream_@FS_APIVERSION@_la-fs-enumtypes.lo `test -f 'fs-enumtypes.c' || echo '$(srcdir)/'`fs-enumtypes.c
694691
695692 mostlyclean-libtool:
696693 -rm -f *.lo
714711 @$(NORMAL_UNINSTALL)
715712 @list='$(dist_gir_DATA)'; test -n "$(girdir)" || list=; \
716713 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
717 test -n "$$files" || exit 0; \
718 echo " ( cd '$(DESTDIR)$(girdir)' && rm -f" $$files ")"; \
719 cd "$(DESTDIR)$(girdir)" && rm -f $$files
714 dir='$(DESTDIR)$(girdir)'; $(am__uninstall_files_from_dir)
720715 install-typelibDATA: $(typelib_DATA)
721716 @$(NORMAL_INSTALL)
722717 test -z "$(typelibdir)" || $(MKDIR_P) "$(DESTDIR)$(typelibdir)"
734729 @$(NORMAL_UNINSTALL)
735730 @list='$(typelib_DATA)'; test -n "$(typelibdir)" || list=; \
736731 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
737 test -n "$$files" || exit 0; \
738 echo " ( cd '$(DESTDIR)$(typelibdir)' && rm -f" $$files ")"; \
739 cd "$(DESTDIR)$(typelibdir)" && rm -f $$files
732 dir='$(DESTDIR)$(typelibdir)'; $(am__uninstall_files_from_dir)
740733 install-libfarstreamincludeHEADERS: $(libfarstreaminclude_HEADERS)
741734 @$(NORMAL_INSTALL)
742735 test -z "$(libfarstreamincludedir)" || $(MKDIR_P) "$(DESTDIR)$(libfarstreamincludedir)"
754747 @$(NORMAL_UNINSTALL)
755748 @list='$(libfarstreaminclude_HEADERS)'; test -n "$(libfarstreamincludedir)" || list=; \
756749 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
757 test -n "$$files" || exit 0; \
758 echo " ( cd '$(DESTDIR)$(libfarstreamincludedir)' && rm -f" $$files ")"; \
759 cd "$(DESTDIR)$(libfarstreamincludedir)" && rm -f $$files
750 dir='$(DESTDIR)$(libfarstreamincludedir)'; $(am__uninstall_files_from_dir)
760751 install-nodist_libfarstreamincludeHEADERS: $(nodist_libfarstreaminclude_HEADERS)
761752 @$(NORMAL_INSTALL)
762753 test -z "$(libfarstreamincludedir)" || $(MKDIR_P) "$(DESTDIR)$(libfarstreamincludedir)"
774765 @$(NORMAL_UNINSTALL)
775766 @list='$(nodist_libfarstreaminclude_HEADERS)'; test -n "$(libfarstreamincludedir)" || list=; \
776767 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
777 test -n "$$files" || exit 0; \
778 echo " ( cd '$(DESTDIR)$(libfarstreamincludedir)' && rm -f" $$files ")"; \
779 cd "$(DESTDIR)$(libfarstreamincludedir)" && rm -f $$files
768 dir='$(DESTDIR)$(libfarstreamincludedir)'; $(am__uninstall_files_from_dir)
780769
781770 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
782771 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
879868
880869 installcheck: installcheck-am
881870 install-strip:
882 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
883 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
884 `test -z '$(STRIP)' || \
885 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
871 if test -z '$(STRIP)'; then \
872 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
873 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
874 install; \
875 else \
876 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
877 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
878 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
879 fi
886880 mostlyclean-generic:
887881
888882 clean-generic:
995989 uninstall-typelibDATA
996990
997991
998 fs-marshal.list: $(libfarstream_@FS_MAJORMINOR@_la_SOURCES) Makefile.am
992 fs-marshal.list: $(libfarstream_@FS_APIVERSION@_la_SOURCES) Makefile.am
999993 $(AM_V_GEN) ( cd $(srcdir) && \
1000994 sed -n -e 's/.*_fs_marshal_\([[:upper:][:digit:]]*__[[:upper:][:digit:]_]*\).*/\1/p' \
1001 $(libfarstream_@FS_MAJORMINOR@_la_SOURCES) ) \
995 $(libfarstream_@FS_APIVERSION@_la_SOURCES) ) \
1002996 | sed -e 's/__/:/' -e 'y/_/,/' | sort -u > $@.tmp
1003997 @if cmp -s $@.tmp $@; then \
1004998 rm $@.tmp; \
10441038 @touch $@
10451039
10461040 @HAVE_INTROSPECTION_TRUE@include $(INTROSPECTION_MAKEFILE)
1041 @HAVE_INTROSPECTION_TRUE@Farstream-@FS_APIVERSION@.gir: libfarstream-@FS_APIVERSION@.la
10471042
10481043 # Tell versions [3.59,3.63) of GNU make to not export all variables.
10491044 # Otherwise a system limit (for SysV at least) may be exceeded.
6969 }
7070
7171 /**
72 * fs_candidate_destroy: (skip):
72 * fs_candidate_destroy: (skip)
7373 * @cand: a #FsCandidate to delete
7474 *
7575 * Frees a #FsCandidate and all its contents
123123 }
124124
125125 /**
126 * fs_candidate_list_destroy: (skip):
126 * fs_candidate_list_destroy: (skip)
127127 * @candidate_list: A GList of #FsCandidate
128128 *
129129 * Deletes a GList of #FsCandidate and its contents
4545 * representative of the codec information exchanged in the signaling.
4646 *
4747 */
48
49 /* TODO Make a fs_codec_new() function since there is a _destroy() */
5048
5149 GType
5250 fs_codec_get_type (void)
135133 }
136134
137135 /**
138 * fs_codec_destroy: (skip):
136 * fs_codec_destroy: (skip)
139137 * @codec: #FsCodec structure to free
140138 *
141139 * Deletes a #FsCodec structure and all its data. Is a no-op on %NULL codec
217215 }
218216
219217 /**
220 * fs_codec_list_destroy: (skip):
218 * fs_codec_list_destroy: (skip)
221219 * @codec_list: a GList of #FsCodec to delete
222220 *
223221 * Deletes a list of #FsCodec structures and the list itself.
262260 }
263261
264262 /**
265 * fs_codec_list_from_keyfile
263 * fs_codec_list_from_keyfile:
266264 * @filename: Name of the #GKeyFile to read the codecs parameters from
267265 * @error: location of a #GError, or NULL if no error occured
268266 *
479477 }
480478
481479 /**
482 * fs_media_type_to_string
480 * fs_media_type_to_string:
483481 * @media_type: A media type
484482 *
485483 * Gives a user-printable string representing the media type
500498 }
501499
502500 /**
503 * fs_codec_to_string
501 * fs_codec_to_string:
504502 * @codec: A farstream codec
505503 *
506504 * Returns a newly-allocated string representing the codec
6161 #define GST_CAT_DEFAULT fs_conference_debug
6262
6363
64 GST_BOILERPLATE (
65 FsConference, fs_conference,
66 GstBin, GST_TYPE_BIN)
64 G_DEFINE_ABSTRACT_TYPE (FsConference, fs_conference,GST_TYPE_BIN)
6765
6866
6967 GQuark
8078 }
8179
8280 static void
83 fs_conference_base_init (gpointer g_class)
81 fs_conference_class_init (FsConferenceClass * klass)
8482 {
8583 _fs_conference_init_debug ();
8684 }
8785
88
89
9086 static void
91 fs_conference_class_init (FsConferenceClass * klass)
92 {
93 }
94
95 static void
96 fs_conference_init (FsConference *conf, FsConferenceClass *bclass)
97 {
98 GST_DEBUG ("fs_conference_init");
87 fs_conference_init (FsConference *conf)
88 {
89 GST_DEBUG_OBJECT (conf, "fs_conference_init");
9990 }
10091
10192
122113 }
123114
124115 /**
125 * fs_conference_new_session
116 * fs_conference_new_session:
126117 * @conference: #FsConference interface of a #GstElement
127118 * @media_type: #FsMediaType of the new session
128119 * @error: location of a #GError, or %NULL if no error occured
159150 }
160151
161152 /**
162 * fs_conference_new_participant
153 * fs_conference_new_participant:
163154 * @conference: #FsConference interface of a #GstElement
164155 * @error: location of a #GError, or %NULL if no error occured
165156 *
4848 #define FS_CONFERENCE_CAST(obj) \
4949 ((FsConference *)(obj))
5050
51 /**
52 * FsConference:
53 *
54 * Opaque #FsConference data structure.
55 */
5651 typedef struct _FsConference FsConference;
5752 typedef struct _FsConferenceClass FsConferenceClass;
5853
5954 /**
60 * FsConference
55 * FsConference:
6156 *
6257 * The #FsConference structure, all the members are private
6358 */
157157 }
158158
159159
160 static void
161 _bin_unparented_cb (GstObject *object, GstObject *parent, gpointer user_data)
162 {
163 GstIterator *iter = NULL;
164 gboolean done;
160
161 static void
162 _element_removed_callback (GstBin *bin, GstElement *element,
163 FsElementAddedNotifier *notifier)
164 {
165165
166166 /* Return if there was no handler connected */
167 if (g_signal_handlers_disconnect_by_func (object, _element_added_callback,
168 user_data) == 0)
167 if (g_signal_handlers_disconnect_by_func (element, _element_added_callback,
168 notifier) == 0 ||
169 g_signal_handlers_disconnect_by_func (element, _element_removed_callback,
170 notifier) == 0)
169171 return;
170172
171 iter = gst_bin_iterate_elements (GST_BIN (object));
172
173 done = FALSE;
174 while (!done)
175 {
176 gpointer item;
177
178 switch (gst_iterator_next (iter, &item)) {
179 case GST_ITERATOR_OK:
180 if (GST_IS_BIN (item))
181 _bin_unparented_cb (GST_OBJECT (item), object, user_data);
182 gst_object_unref (item);
183 break;
184 case GST_ITERATOR_RESYNC:
185 // We don't rollback anything, we just ignore already processed ones
186 gst_iterator_resync (iter);
187 break;
188 case GST_ITERATOR_ERROR:
189 g_error ("Wrong parameters were given?");
190 done = TRUE;
191 break;
192 case GST_ITERATOR_DONE:
193 done = TRUE;
194 break;
173 if (GST_IS_BIN (element))
174 {
175 GstIterator *iter = NULL;
176 gboolean done;
177 iter = gst_bin_iterate_elements (GST_BIN (element));
178
179 done = FALSE;
180 while (!done)
181 {
182 GValue item = {0,};
183
184 switch (gst_iterator_next (iter, &item)) {
185 case GST_ITERATOR_OK:
186 _element_removed_callback (GST_BIN (element),
187 GST_ELEMENT (g_value_get_object (&item)),
188 notifier);
189 g_value_reset (&item);
190 break;
191 case GST_ITERATOR_RESYNC:
192 // We don't rollback anything, we just ignore already processed ones
193 gst_iterator_resync (iter);
194 break;
195 case GST_ITERATOR_ERROR:
196 g_error ("Wrong parameters were given?");
197 done = TRUE;
198 break;
199 case GST_ITERATOR_DONE:
200 done = TRUE;
201 break;
202 }
195203 }
196 }
197
198 gst_iterator_free (iter);
204
205 gst_iterator_free (iter);
206 }
199207 }
200208
201209
221229 0, 0, NULL, /* id, detail, closure */
222230 _element_added_callback, notifier) != 0)
223231 {
224 _bin_unparented_cb (GST_OBJECT (bin), NULL, notifier);
232 _element_removed_callback (NULL, GST_ELEMENT (bin), notifier);
225233 return TRUE;
226234 }
227235 else
379387 g_signal_connect_object (element, "element-added",
380388 G_CALLBACK (_element_added_callback), notifier, 0);
381389
382 if (parent)
383 g_signal_connect_object (element, "parent-unset",
384 G_CALLBACK (_bin_unparented_cb), notifier, 0);
390
391 g_signal_connect_object (element, "element-removed",
392 G_CALLBACK (_element_removed_callback), notifier, 0);
385393
386394 iter = gst_bin_iterate_elements (GST_BIN (element));
387395
388396 done = FALSE;
389397 while (!done)
390398 {
391 gpointer item = NULL;
399 GValue item = {0,};
392400
393401 switch (gst_iterator_next (iter, &item)) {
394402 case GST_ITERATOR_OK:
395403 /* We make sure the callback has not already been added */
396 if (g_signal_handler_find (item,
404 if (g_signal_handler_find (g_value_get_object (&item),
397405 G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA,
398406 0, 0, NULL, /* id, detail, closure */
399407 _element_added_callback, notifier) == 0)
400 _element_added_callback (GST_BIN_CAST (element), item, notifier);
401 gst_object_unref (item);
408 _element_added_callback (GST_BIN_CAST (element),
409 g_value_get_object (&item), notifier);
410 g_value_reset (&item);
402411 break;
403412 case GST_ITERATOR_RESYNC:
404413 // We don't rollback anything, we just ignore already processed ones
8585 };
8686
8787 /**
88 * FS_PARTICIPANT_DATA_LOCK
88 * FS_PARTICIPANT_DATA_LOCK:
8989 * @participant: A #FsParticipant
9090 *
9191 * Locks the participant for data set with g_object_set_data() or
9696 g_mutex_lock ((participant)->mutex)
9797
9898 /**
99 * FS_PARTICIPANT_DATA_UNLOCK
99 * FS_PARTICIPANT_DATA_UNLOCK:
100100 * @participant: A #FsParticipant
101101 *
102102 * Unlocks the participant for data set with g_object_set_data() or
313313 GRegex *matcher;
314314 GError *error = NULL;
315315 gchar *tmp1, *tmp2, *tmp3;
316
317 _fs_conference_init_debug ();
316318
317319 g_static_mutex_lock (&mutex);
318320
6565 }
6666
6767 /**
68 * fs_rtp_header_extension_copy: (skip):
68 * fs_rtp_header_extension_copy: (skip)
6969 * @extension: The RTP header extension definition to copy
7070 *
7171 * Copies a #FsRtpHeaderExtension
114114 }
115115
116116 /**
117 * fs_rtp_header_extension_destroy: (skip):
117 * fs_rtp_header_extension_destroy: (skip)
118118 * @extension: A RTP header extension to free
119119 *
120120 * Frees the passed #FsRtpHeaderExtension
157157 }
158158
159159 /**
160 * fs_rtp_header_extension_list_destroy: (skip):
160 * fs_rtp_header_extension_list_destroy: (skip)
161161 * @extensions: a #GList of #FsRtpHeaderExtension
162162 *
163163 * Frees the passed #GList of #FsRtpHeaderExtension
269269 /**
270270 * FsSession:codec-preferences:
271271 *
272 * Type: GLib.List(FsCodec)
273 * Transfer: full
274 *
275272 * This is the current preferences list for the local codecs. It is
276273 * set by the user to specify the codec options and priorities. The user may
277274 * change its value with fs_session_set_codec_preferences() at any time
282279 * or %FS_CODEC_ID_ANY. If the encoding name is "reserve-pt", then the
283280 * payload type of the codec will be "reserved" and not be used by any
284281 * dynamically assigned payload type.
282 *
283 * Type: GLib.List(FsCodec)
284 * Transfer: full
285285 */
286286 g_object_class_install_property (gobject_class,
287287 PROP_CODEC_PREFERENCES,
295295 /**
296296 * FsSession:codecs:
297297 *
298 * Type: GLib.List(FsCodec)
299 * Transfer: full
300 *
301298 * This is the list of codecs used for this session. It will include the
302299 * codecs and payload type used to receive media on this session. It will
303300 * also include any configuration parameter that must be transmitted reliably
316313 * It is a #GList of #FsCodec. User must free this codec list using
317314 * fs_codec_list_destroy() when done.
318315 *
316 * Type: GLib.List(FsCodec)
317 * Transfer: full
319318 */
320319 g_object_class_install_property (gobject_class,
321320 PROP_CODECS,
328327 /**
329328 * FsSession:codecs-without-config:
330329 *
331 * Type: GLib.List(FsCodec)
332 * Transfer: full
333 *
334330 * This is the same list of codecs as #FsSession:codecs without
335331 * the configuration information that describes the data sent. It is suitable
336332 * for configurations where a list of codecs is shared by many senders.
348344 * It is a #GList of #FsCodec. User must free this codec list using
349345 * fs_codec_list_destroy() when done.
350346 *
347 * Type: GLib.List(FsCodec)
348 * Transfer: full
351349 */
352350 g_object_class_install_property (gobject_class,
353351 PROP_CODECS_WITHOUT_CONFIG,
377375 G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
378376
379377 /**
380 * FsSession:tos
378 * FsSession:tos:
381379 *
382380 * Sets the IP ToS field (and if possible the IPv6 TCLASS field
383381 */
133133 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
134134
135135 /**
136 * FsStreamTransmitter:associate-on-source
136 * FsStreamTransmitter:associate-on-source:
137137 *
138138 * This tells the stream transmitter to associate incoming data with this
139139 * based on the source without looking at the content if possible.
246246
247247
248248 /**
249 * FsStreamTransmitter::state-changed
249 * FsStreamTransmitter::state-changed:
250250 * @self: #FsStreamTransmitter that emitted the signal
251251 * @component: the id of the component which state has changed
252252 * @state: the new state of the component
310310
311311
312312 /**
313 * fs_stream_transmitter_add_remote_candidates
313 * fs_stream_transmitter_add_remote_candidates:
314314 * @streamtransmitter: a #FsStreamTranmitter
315315 * @candidates: (element-type FsCandidate): a #GList of the remote candidates
316316 * @error: location of a #GError, or NULL if no error occured
146146
147147 G_DEFINE_ABSTRACT_TYPE(FsStream, fs_stream, GST_TYPE_OBJECT);
148148
149 static void fs_stream_constructed (GObject *obj);
149150 static void fs_stream_get_property (GObject *object,
150151 guint prop_id,
151152 GValue *value,
156157 GParamSpec *pspec);
157158 static void fs_stream_finalize (GObject *obj);
158159
160 static void fs_stream_pad_removed (FsStream *stream, GstPad *pad);
161
159162 static guint signals[LAST_SIGNAL] = { 0 };
160163
161164 #define FS_STREAM_LOCK(self) g_mutex_lock((self)->priv->mutex)
171174 gobject_class->set_property = fs_stream_set_property;
172175 gobject_class->get_property = fs_stream_get_property;
173176 gobject_class->finalize = fs_stream_finalize;
177 gobject_class->constructed = fs_stream_constructed;
178
174179
175180 /**
176181 * FsStream:remote-codecs:
177 *
178 * Type: GLib.List(FsCodec)
179 * Transfer: full
180182 *
181183 * This is the list of remote codecs for this stream. They must be set by the
182184 * user as soon as they are known using fs_stream_set_remote_codecs()
183185 * (generally through external signaling). It is a #GList of #FsCodec.
184186 *
187 * Type: GLib.List(FsCodec)
188 * Transfer: full
185189 */
186190 g_object_class_install_property (gobject_class,
187191 PROP_REMOTE_CODECS,
194198 /**
195199 * FsStream:negotiated-codecs:
196200 *
197 * Type: GLib.List(FsCodec)
198 * Transfer: full
199 *
200201 * This is the list of negotiatied codecs, it is the same list as the list
201202 * of #FsCodec from the parent #FsSession, except that the codec config data
202203 * has been replaced with the data from the remote codecs for this stream.
203204 * This is the list of #FsCodec used to receive data from this stream.
204205 * It is a #GList of #FsCodec.
205206 *
207 * Type: GLib.List(FsCodec)
208 * Transfer: full
206209 */
207210 g_object_class_install_property (gobject_class,
208211 PROP_NEGOTIATED_CODECS,
215218 /**
216219 * FsStream:current-recv-codecs:
217220 *
218 * Type: GLib.List(FsCodec)
219 * Transfer: full
220 *
221221 * This is the list of codecs that have been received by this stream.
222222 * The user must free the list if fs_codec_list_destroy().
223223 * The "farstream-recv-codecs-changed" message is send on the #GstBus
227227 * also be emitted if the pad already exists, but the source material that
228228 * will come to it is different.
229229 *
230 * Type: GLib.List(FsCodec)
231 * Transfer: full
230232 */
231233 g_object_class_install_property (gobject_class,
232234 PROP_CURRENT_RECV_CODECS,
338340 }
339341
340342 static void
343 fs_stream_constructed (GObject *obj)
344 {
345 FsStream *stream = FS_STREAM (obj);
346 FsSession *session;
347 FsConference *conference;
348
349 g_object_get (stream, "session", &session, NULL);
350 g_object_get (session, "conference", &conference, NULL);
351
352 g_signal_connect_object (conference, "pad-removed",
353 G_CALLBACK (fs_stream_pad_removed), obj, G_CONNECT_SWAPPED);
354 g_object_unref (session);
355 g_object_unref (conference);
356 }
357
358 static void
341359 fs_stream_finalize (GObject *obj)
342360 {
343361 FsStream *stream = FS_STREAM (obj);
531549
532550
533551 static void
534 src_pad_parent_unset (GstObject *srcpad, GstObject *parent, gpointer user_data)
535 {
536 FsStream *stream = FS_STREAM (user_data);
537
552 fs_stream_pad_removed (FsStream *stream, GstPad *pad)
553 {
538554 FS_STREAM_LOCK (stream);
539 stream->priv->src_pads = g_list_remove (stream->priv->src_pads, srcpad);
555 stream->priv->src_pads = g_list_remove (stream->priv->src_pads, pad);
540556 stream->priv->src_pads_cookie++;
541557 FS_STREAM_UNLOCK (stream);
542558 }
560576 g_assert (!g_list_find (stream->priv->src_pads, pad));
561577 stream->priv->src_pads = g_list_append (stream->priv->src_pads, pad);
562578 stream->priv->src_pads_cookie++;
563 g_signal_connect_object (pad, "parent-unset",
564 G_CALLBACK (src_pad_parent_unset), stream, 0);
565579 FS_STREAM_UNLOCK (stream);
566580
567581 g_signal_emit (stream, signals[SRC_PAD_ADDED], 0, pad, codec);
568 }
569
570 static GstIteratorItem
571 src_pad_iterator_item_func (GstIterator*iter, gpointer item)
572 {
573 gst_object_ref (item);
574
575 return GST_ITERATOR_ITEM_PASS;
576582 }
577583
578584 /**
591597 {
592598 return gst_iterator_new_list (GST_TYPE_PAD, stream->priv->mutex,
593599 &stream->priv->src_pads_cookie, &stream->priv->src_pads,
594 g_object_ref (stream), src_pad_iterator_item_func, g_object_unref);
600 g_object_ref (stream), NULL);
595601 }
596602
597603
601607 * @transmitter: Name of the type of transmitter to use for this stream
602608 * @stream_transmitter_n_parameters: Number of parametrs passed to the stream
603609 * transmitter
604 * @stream_transmitter_parameters:
605 * (array length=stream_transmitter_n_parameters) (allow-none):
610 * @stream_transmitter_parameters: (array length=stream_transmitter_n_parameters) (allow-none):
606611 * an array of n_parameters #GParameter struct that will be passed
607612 * to the newly-create #FsStreamTransmitter
608613 * @error: location of a #GError, or %NULL if no error occured
106106 * FsTransmitter:gst-src:
107107 *
108108 * A network source #GstElement to be used by the #FsSession
109 * This element MUST provide a source pad named "src%d" per component.
110 * These pads number must start at 1 (the %d corresponds to the component
109 * This element MUST provide a source pad named "src_%u" per component.
110 * These pads number must start at 1 (the %u corresponds to the component
111111 * number).
112112 * These pads MUST be static pads.
113113 *
125125 *
126126 * A network source #GstElement to be used by the #FsSession
127127 * These element's sink must have async=FALSE
128 * This element MUST provide a pad named "sink\%d" per component.
129 * These pads number must start at 1 (the \%d corresponds to the component
128 * This element MUST provide a pad named "sink_\%u" per component.
129 * These pads number must start at 1 (the \%u corresponds to the component
130130 * number).
131131 * These pads MUST be static pads.
132132 *
198198 G_TYPE_NONE, 2, FS_TYPE_ERROR, G_TYPE_STRING);
199199
200200 /**
201 * FsTransmitter::get-recvonly-filter
201 * FsTransmitter::get-recvonly-filter:
202202 * @self: #FsTransmitter that emitted the signal
203203 * @component: The component that the filter will be used for
204204 *
4141 GList *codec_prefs = NULL;
4242 gchar *filename;
4343
44 filename = g_build_filename (path, PACKAGE, FS_MAJORMINOR, element_name,
44 filename = g_build_filename (path, PACKAGE, FS_APIVERSION, element_name,
4545 "default-codec-preferences", NULL);
4646 codec_prefs = fs_codec_list_from_keyfile (filename, NULL);
4747 g_free (filename);
100100 }
101101
102102 /**
103 * fs_utils_get_default_element_properties: (skip):
103 * fs_utils_get_default_element_properties: (skip)
104104 * @element: Element for which to fetch default element properties
105105 *
106106 * This function produces a #GKeyFile that can be fed to
120120 gchar *filename;
121121 const gchar *factory_name = factory_name_from_element (element);
122122
123 filename = g_build_filename (PACKAGE, FS_MAJORMINOR, factory_name,
123 filename = g_build_filename (PACKAGE, FS_APIVERSION, factory_name,
124124 "default-element-properties", NULL);
125125 file_loaded = g_key_file_load_from_data_dirs (keyfile, filename, NULL,
126126 G_KEY_FILE_NONE, NULL);
218218 GList *rtp_hdrext_prefs = NULL;
219219 gchar *filename;
220220
221 filename = g_build_filename (path, PACKAGE, FS_MAJORMINOR, element_name,
221 filename = g_build_filename (path, PACKAGE, FS_APIVERSION, element_name,
222222 "default-codec-preferences", NULL);
223223 rtp_hdrext_prefs = fs_rtp_header_extension_list_from_keyfile (filename,
224224 media_type, NULL);
228228 }
229229
230230 /**
231 * fs_utils_get_default_rtp_header_extension_preferences
231 * fs_utils_get_default_rtp_header_extension_preferences:
232232 * @element: Element for which to fetch default RTP Header Extension preferences
233233 * @media_type: The #FsMediaType for which to get default RTP Header Extension
234234 * preferences
0 prefix=
1 exec_prefix=
2 abs_top_srcdir=@abs_top_srcdir@
3 abs_top_builddir=@abs_top_builddir@
4
5 includedir=@includedir@/farstream-@FS_APIVERSION@
6 pluginsdir=@libdir@/farstream-@FS_APIVERSION@
7
8 Name: Farstream
9 Description: Farstream base classes and utilities
10 Requires: gstreamer-@GST_MAJORMINOR@ gstreamer-base-@GST_MAJORMINOR@
11 Version: @VERSION@
12 Libs: ${abs_top_builddir}/farstream/libfarstream-@FS_APIVERSION@.la
13 Cflags: -I${abs_top_srcdir} -I${abs_top_builddir}
00 prefix=@prefix@
11 exec_prefix=@exec_prefix@
22 libdir=@libdir@
3 includedir=@includedir@/farstream-@FS_MAJORMINOR@
4 pluginsdir=@libdir@/farstream-@FS_MAJORMINOR@
3 includedir=@includedir@/farstream-@FS_APIVERSION@
4 pluginsdir=@libdir@/farstream-@FS_APIVERSION@
55
66 Name: Farstream
77 Description: Farstream base classes and utilities
8 Requires: gstreamer-@GST_MAJORMINOR@ gstreamer-base-@GST_MAJORMINOR@
8 Requires: gstreamer-@GST_API_VERSION@ gstreamer-base-@GST_API_VERSION@
99 Version: @VERSION@
10 Libs: -L${libdir} -lfarstream-@FS_MAJORMINOR@
10 Libs: -L${libdir} -lfarstream-@FS_APIVERSION@
1111 Cflags: -I${includedir}
1212
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3737 POST_UNINSTALL = :
3838 build_triplet = @build@
3939 host_triplet = @host@
40 target_triplet = @target@
4041 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
4142 $(top_srcdir)/common/parallel-subdirs.mak
4243 subdir = gst
4546 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4647 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4748 $(top_srcdir)/common/m4/as-libtool.m4 \
49 $(top_srcdir)/common/m4/as-python.m4 \
4850 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4951 $(top_srcdir)/common/m4/as-version.m4 \
5052 $(top_srcdir)/common/m4/gst-arch.m4 \
5759 $(top_srcdir)/common/m4/gst.m4 \
5860 $(top_srcdir)/common/m4/gtk-doc.m4 \
5961 $(top_srcdir)/common/m4/pkg.m4 \
60 $(top_srcdir)/m4/as-check-python-headers.m4 \
6162 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
6263 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
6364 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
6869 CONFIG_HEADER = $(top_builddir)/config.h
6970 CONFIG_CLEAN_FILES =
7071 CONFIG_CLEAN_VPATH_FILES =
71 AM_V_GEN = $(am__v_GEN_$(V))
72 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
72 AM_V_GEN = $(am__v_GEN_@AM_V@)
73 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
7374 am__v_GEN_0 = @echo " GEN " $@;
74 AM_V_at = $(am__v_at_$(V))
75 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
75 AM_V_at = $(am__v_at_@AM_V@)
76 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
7677 am__v_at_0 = @
7778 SOURCES =
7879 DIST_SOURCES =
121122 AMTAR = @AMTAR@
122123 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
123124 AR = @AR@
125 AS = @AS@
124126 AUTOCONF = @AUTOCONF@
125127 AUTOHEADER = @AUTOHEADER@
126128 AUTOMAKE = @AUTOMAKE@
148150 FGREP = @FGREP@
149151 FS_AGE = @FS_AGE@
150152 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
153 FS_APIVERSION = @FS_APIVERSION@
154 FS_API_VERSION = @FS_API_VERSION@
151155 FS_CFLAGS = @FS_CFLAGS@
152156 FS_CURRENT = @FS_CURRENT@
153157 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
156160 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
157161 FS_LICENSE = @FS_LICENSE@
158162 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
159 FS_MAJORMINOR = @FS_MAJORMINOR@
160 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
161163 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
162164 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
163165 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
170172 GCOV = @GCOV@
171173 GCOV_CFLAGS = @GCOV_CFLAGS@
172174 GCOV_LIBS = @GCOV_LIBS@
175 GIO_CFLAGS = @GIO_CFLAGS@
176 GIO_LDFLAGS = @GIO_LDFLAGS@
177 GIO_LIBS = @GIO_LIBS@
173178 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
174179 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
175180 GLIB_CFLAGS = @GLIB_CFLAGS@
179184 GLIB_REQ = @GLIB_REQ@
180185 GREP = @GREP@
181186 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
187 GST_API_VERSION = @GST_API_VERSION@
182188 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
183189 GST_BASE_LIBS = @GST_BASE_LIBS@
184190 GST_CFLAGS = @GST_CFLAGS@
187193 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
188194 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
189195 GST_LIBS = @GST_LIBS@
190 GST_MAJORMINOR = @GST_MAJORMINOR@
191196 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
192197 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
193198 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
197202 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
198203 GST_TOOLS_DIR = @GST_TOOLS_DIR@
199204 GTKDOC_CHECK = @GTKDOC_CHECK@
205 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
206 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
207 GTKDOC_MKPDF = @GTKDOC_MKPDF@
208 GTKDOC_REBASE = @GTKDOC_REBASE@
200209 GUPNP_CFLAGS = @GUPNP_CFLAGS@
201210 GUPNP_LIBS = @GUPNP_LIBS@
202211 HTML_DIR = @HTML_DIR@
248257 PKG_CONFIG = @PKG_CONFIG@
249258 PLUGINDIR = @PLUGINDIR@
250259 PROFILE_CFLAGS = @PROFILE_CFLAGS@
251 PYCODEGEN = @PYCODEGEN@
252 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
253 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
254 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
255 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
256260 PYTHON = @PYTHON@
257261 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
258 PYTHON_INCLUDES = @PYTHON_INCLUDES@
259262 PYTHON_PLATFORM = @PYTHON_PLATFORM@
260263 PYTHON_PREFIX = @PYTHON_PREFIX@
261264 PYTHON_VERSION = @PYTHON_VERSION@
322325 sharedstatedir = @sharedstatedir@
323326 srcdir = @srcdir@
324327 sysconfdir = @sysconfdir@
328 target = @target@
325329 target_alias = @target_alias@
330 target_cpu = @target_cpu@
331 target_os = @target_os@
332 target_vendor = @target_vendor@
326333 top_build_prefix = @top_build_prefix@
327334 top_builddir = @top_builddir@
328335 top_srcdir = @top_srcdir@
352359 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
353360 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
354361 esac;
362 $(top_srcdir)/common/parallel-subdirs.mak:
355363
356364 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
357365 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
576584
577585 installcheck: installcheck-recursive
578586 install-strip:
579 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
580 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
581 `test -z '$(STRIP)' || \
582 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
587 if test -z '$(STRIP)'; then \
588 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
589 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
590 install; \
591 else \
592 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
593 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
594 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
595 fi
583596 mostlyclean-generic:
584597
585598 clean-generic:
+0
-14
gst/fsfunnel/Makefile.am less more
0 plugin_LTLIBRARIES = libfsfunnel.la
1
2 libfsfunnel_la_SOURCES = fs-funnel.c
3 libfsfunnel_la_CFLAGS = \
4 $(FS_CFLAGS) \
5 $(GST_BASE_CFLAGS) \
6 $(GST_CFLAGS)
7 libfsfunnel_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
8 libfsfunnel_la_LIBADD = \
9 $(FS_LIBS) \
10 $(GST_BASE_LIBS) \
11 $(GST_LIBS)
12
13 noinst_HEADERS = fs-funnel.h
+0
-678
gst/fsfunnel/Makefile.in less more
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16
17
18 VPATH = @srcdir@
19 pkgdatadir = $(datadir)/@PACKAGE@
20 pkgincludedir = $(includedir)/@PACKAGE@
21 pkglibdir = $(libdir)/@PACKAGE@
22 pkglibexecdir = $(libexecdir)/@PACKAGE@
23 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
24 install_sh_DATA = $(install_sh) -c -m 644
25 install_sh_PROGRAM = $(install_sh) -c
26 install_sh_SCRIPT = $(install_sh) -c
27 INSTALL_HEADER = $(INSTALL_DATA)
28 transform = $(program_transform_name)
29 NORMAL_INSTALL = :
30 PRE_INSTALL = :
31 POST_INSTALL = :
32 NORMAL_UNINSTALL = :
33 PRE_UNINSTALL = :
34 POST_UNINSTALL = :
35 build_triplet = @build@
36 host_triplet = @host@
37 subdir = gst/fsfunnel
38 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
39 $(srcdir)/Makefile.in
40 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
41 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
42 $(top_srcdir)/common/m4/as-auto-alt.m4 \
43 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
44 $(top_srcdir)/common/m4/as-libtool.m4 \
45 $(top_srcdir)/common/m4/as-scrub-include.m4 \
46 $(top_srcdir)/common/m4/as-version.m4 \
47 $(top_srcdir)/common/m4/gst-arch.m4 \
48 $(top_srcdir)/common/m4/gst-args.m4 \
49 $(top_srcdir)/common/m4/gst-check.m4 \
50 $(top_srcdir)/common/m4/gst-error.m4 \
51 $(top_srcdir)/common/m4/gst-glib2.m4 \
52 $(top_srcdir)/common/m4/gst-plugin-docs.m4 \
53 $(top_srcdir)/common/m4/gst-plugindir.m4 \
54 $(top_srcdir)/common/m4/gst.m4 \
55 $(top_srcdir)/common/m4/gtk-doc.m4 \
56 $(top_srcdir)/common/m4/pkg.m4 \
57 $(top_srcdir)/m4/as-check-python-headers.m4 \
58 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
59 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
60 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
61 $(top_srcdir)/configure.ac
62 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
63 $(ACLOCAL_M4)
64 mkinstalldirs = $(install_sh) -d
65 CONFIG_HEADER = $(top_builddir)/config.h
66 CONFIG_CLEAN_FILES =
67 CONFIG_CLEAN_VPATH_FILES =
68 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
69 am__vpath_adj = case $$p in \
70 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
71 *) f=$$p;; \
72 esac;
73 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
74 am__install_max = 40
75 am__nobase_strip_setup = \
76 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
77 am__nobase_strip = \
78 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
79 am__nobase_list = $(am__nobase_strip_setup); \
80 for p in $$list; do echo "$$p $$p"; done | \
81 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
82 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
83 if (++n[$$2] == $(am__install_max)) \
84 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
85 END { for (dir in files) print dir, files[dir] }'
86 am__base_list = \
87 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
88 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
89 am__installdirs = "$(DESTDIR)$(plugindir)"
90 LTLIBRARIES = $(plugin_LTLIBRARIES)
91 am__DEPENDENCIES_1 =
92 libfsfunnel_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
93 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
94 am_libfsfunnel_la_OBJECTS = libfsfunnel_la-fs-funnel.lo
95 libfsfunnel_la_OBJECTS = $(am_libfsfunnel_la_OBJECTS)
96 AM_V_lt = $(am__v_lt_$(V))
97 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
98 am__v_lt_0 = --silent
99 libfsfunnel_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
100 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
101 $(libfsfunnel_la_CFLAGS) $(CFLAGS) $(libfsfunnel_la_LDFLAGS) \
102 $(LDFLAGS) -o $@
103 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
104 depcomp = $(SHELL) $(top_srcdir)/depcomp
105 am__depfiles_maybe = depfiles
106 am__mv = mv -f
107 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
108 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
109 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
110 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
111 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
112 $(AM_CFLAGS) $(CFLAGS)
113 AM_V_CC = $(am__v_CC_$(V))
114 am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
115 am__v_CC_0 = @echo " CC " $@;
116 AM_V_at = $(am__v_at_$(V))
117 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
118 am__v_at_0 = @
119 CCLD = $(CC)
120 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
121 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
122 $(AM_LDFLAGS) $(LDFLAGS) -o $@
123 AM_V_CCLD = $(am__v_CCLD_$(V))
124 am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
125 am__v_CCLD_0 = @echo " CCLD " $@;
126 AM_V_GEN = $(am__v_GEN_$(V))
127 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
128 am__v_GEN_0 = @echo " GEN " $@;
129 SOURCES = $(libfsfunnel_la_SOURCES)
130 DIST_SOURCES = $(libfsfunnel_la_SOURCES)
131 HEADERS = $(noinst_HEADERS)
132 ETAGS = etags
133 CTAGS = ctags
134 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
135 ACLOCAL = @ACLOCAL@
136 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
137 AMTAR = @AMTAR@
138 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
139 AR = @AR@
140 AUTOCONF = @AUTOCONF@
141 AUTOHEADER = @AUTOHEADER@
142 AUTOMAKE = @AUTOMAKE@
143 AWK = @AWK@
144 CC = @CC@
145 CCASFLAGS = @CCASFLAGS@
146 CCDEPMODE = @CCDEPMODE@
147 CFLAGS = @CFLAGS@
148 CPP = @CPP@
149 CPPFLAGS = @CPPFLAGS@
150 CXXFLAGS = @CXXFLAGS@
151 CYGPATH_W = @CYGPATH_W@
152 DEFS = @DEFS@
153 DEPDIR = @DEPDIR@
154 DLLTOOL = @DLLTOOL@
155 DSYMUTIL = @DSYMUTIL@
156 DUMPBIN = @DUMPBIN@
157 ECHO_C = @ECHO_C@
158 ECHO_N = @ECHO_N@
159 ECHO_T = @ECHO_T@
160 EGREP = @EGREP@
161 ERROR_CFLAGS = @ERROR_CFLAGS@
162 EXEEXT = @EXEEXT@
163 FFLAGS = @FFLAGS@
164 FGREP = @FGREP@
165 FS_AGE = @FS_AGE@
166 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
167 FS_CFLAGS = @FS_CFLAGS@
168 FS_CURRENT = @FS_CURRENT@
169 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
170 FS_LIBS = @FS_LIBS@
171 FS_LIBVERSION = @FS_LIBVERSION@
172 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
173 FS_LICENSE = @FS_LICENSE@
174 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
175 FS_MAJORMINOR = @FS_MAJORMINOR@
176 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
177 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
178 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
179 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
180 FS_PLUGIN_LDFLAGS = @FS_PLUGIN_LDFLAGS@
181 FS_PLUGIN_PATH = @FS_PLUGIN_PATH@
182 FS_PREFIX = @FS_PREFIX@
183 FS_REVISION = @FS_REVISION@
184 FS_TRANSMITTER_PLUGINS_ALL = @FS_TRANSMITTER_PLUGINS_ALL@
185 FS_TRANSMITTER_PLUGINS_SELECTED = @FS_TRANSMITTER_PLUGINS_SELECTED@
186 GCOV = @GCOV@
187 GCOV_CFLAGS = @GCOV_CFLAGS@
188 GCOV_LIBS = @GCOV_LIBS@
189 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
190 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
191 GLIB_CFLAGS = @GLIB_CFLAGS@
192 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
193 GLIB_LIBS = @GLIB_LIBS@
194 GLIB_PREFIX = @GLIB_PREFIX@
195 GLIB_REQ = @GLIB_REQ@
196 GREP = @GREP@
197 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
198 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
199 GST_BASE_LIBS = @GST_BASE_LIBS@
200 GST_CFLAGS = @GST_CFLAGS@
201 GST_CHECK_CFLAGS = @GST_CHECK_CFLAGS@
202 GST_CHECK_LIBS = @GST_CHECK_LIBS@
203 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
204 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
205 GST_LIBS = @GST_LIBS@
206 GST_MAJORMINOR = @GST_MAJORMINOR@
207 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
208 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
209 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
210 GST_PLUGINS_BASE_DIR = @GST_PLUGINS_BASE_DIR@
211 GST_PLUGINS_BASE_LIBS = @GST_PLUGINS_BASE_LIBS@
212 GST_PLUGINS_DIR = @GST_PLUGINS_DIR@
213 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
214 GST_TOOLS_DIR = @GST_TOOLS_DIR@
215 GTKDOC_CHECK = @GTKDOC_CHECK@
216 GUPNP_CFLAGS = @GUPNP_CFLAGS@
217 GUPNP_LIBS = @GUPNP_LIBS@
218 HTML_DIR = @HTML_DIR@
219 INSTALL = @INSTALL@
220 INSTALL_DATA = @INSTALL_DATA@
221 INSTALL_PROGRAM = @INSTALL_PROGRAM@
222 INSTALL_SCRIPT = @INSTALL_SCRIPT@
223 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
224 INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
225 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
226 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
227 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
228 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
229 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
230 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
231 INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
232 LD = @LD@
233 LDFLAGS = @LDFLAGS@
234 LIBOBJS = @LIBOBJS@
235 LIBS = @LIBS@
236 LIBTOOL = @LIBTOOL@
237 LIPO = @LIPO@
238 LN_S = @LN_S@
239 LTLIBOBJS = @LTLIBOBJS@
240 MAKEINFO = @MAKEINFO@
241 MANIFEST_TOOL = @MANIFEST_TOOL@
242 MKDIR_P = @MKDIR_P@
243 NICE_CFLAGS = @NICE_CFLAGS@
244 NICE_LIBS = @NICE_LIBS@
245 NM = @NM@
246 NMEDIT = @NMEDIT@
247 OBJDUMP = @OBJDUMP@
248 OBJEXT = @OBJEXT@
249 OTOOL = @OTOOL@
250 OTOOL64 = @OTOOL64@
251 PACKAGE = @PACKAGE@
252 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
253 PACKAGE_NAME = @PACKAGE_NAME@
254 PACKAGE_STRING = @PACKAGE_STRING@
255 PACKAGE_TARNAME = @PACKAGE_TARNAME@
256 PACKAGE_URL = @PACKAGE_URL@
257 PACKAGE_VERSION = @PACKAGE_VERSION@
258 PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@
259 PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@
260 PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@
261 PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@
262 PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@
263 PATH_SEPARATOR = @PATH_SEPARATOR@
264 PKG_CONFIG = @PKG_CONFIG@
265 PLUGINDIR = @PLUGINDIR@
266 PROFILE_CFLAGS = @PROFILE_CFLAGS@
267 PYCODEGEN = @PYCODEGEN@
268 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
269 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
270 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
271 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
272 PYTHON = @PYTHON@
273 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
274 PYTHON_INCLUDES = @PYTHON_INCLUDES@
275 PYTHON_PLATFORM = @PYTHON_PLATFORM@
276 PYTHON_PREFIX = @PYTHON_PREFIX@
277 PYTHON_VERSION = @PYTHON_VERSION@
278 RANLIB = @RANLIB@
279 SED = @SED@
280 SET_MAKE = @SET_MAKE@
281 SHELL = @SHELL@
282 STRIP = @STRIP@
283 VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
284 VALGRIND_LIBS = @VALGRIND_LIBS@
285 VALGRIND_PATH = @VALGRIND_PATH@
286 VERSION = @VERSION@
287 WARNING_CFLAGS = @WARNING_CFLAGS@
288 abs_builddir = @abs_builddir@
289 abs_srcdir = @abs_srcdir@
290 abs_top_builddir = @abs_top_builddir@
291 abs_top_srcdir = @abs_top_srcdir@
292 ac_ct_AR = @ac_ct_AR@
293 ac_ct_CC = @ac_ct_CC@
294 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
295 am__include = @am__include@
296 am__leading_dot = @am__leading_dot@
297 am__quote = @am__quote@
298 am__tar = @am__tar@
299 am__untar = @am__untar@
300 bindir = @bindir@
301 build = @build@
302 build_alias = @build_alias@
303 build_cpu = @build_cpu@
304 build_os = @build_os@
305 build_vendor = @build_vendor@
306 builddir = @builddir@
307 datadir = @datadir@
308 datarootdir = @datarootdir@
309 docdir = @docdir@
310 dvidir = @dvidir@
311 exec_prefix = @exec_prefix@
312 host = @host@
313 host_alias = @host_alias@
314 host_cpu = @host_cpu@
315 host_os = @host_os@
316 host_vendor = @host_vendor@
317 htmldir = @htmldir@
318 includedir = @includedir@
319 infodir = @infodir@
320 install_sh = @install_sh@
321 libdir = @libdir@
322 libexecdir = @libexecdir@
323 localedir = @localedir@
324 localstatedir = @localstatedir@
325 mandir = @mandir@
326 mkdir_p = @mkdir_p@
327 oldincludedir = @oldincludedir@
328 pdfdir = @pdfdir@
329 pkgpyexecdir = @pkgpyexecdir@
330 pkgpythondir = @pkgpythondir@
331 plugindir = @plugindir@
332 prefix = @prefix@
333 program_transform_name = @program_transform_name@
334 psdir = @psdir@
335 pyexecdir = @pyexecdir@
336 pythondir = @pythondir@
337 sbindir = @sbindir@
338 sharedstatedir = @sharedstatedir@
339 srcdir = @srcdir@
340 sysconfdir = @sysconfdir@
341 target_alias = @target_alias@
342 top_build_prefix = @top_build_prefix@
343 top_builddir = @top_builddir@
344 top_srcdir = @top_srcdir@
345 plugin_LTLIBRARIES = libfsfunnel.la
346 libfsfunnel_la_SOURCES = fs-funnel.c
347 libfsfunnel_la_CFLAGS = \
348 $(FS_CFLAGS) \
349 $(GST_BASE_CFLAGS) \
350 $(GST_CFLAGS)
351
352 libfsfunnel_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
353 libfsfunnel_la_LIBADD = \
354 $(FS_LIBS) \
355 $(GST_BASE_LIBS) \
356 $(GST_LIBS)
357
358 noinst_HEADERS = fs-funnel.h
359 all: all-am
360
361 .SUFFIXES:
362 .SUFFIXES: .c .lo .o .obj
363 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
364 @for dep in $?; do \
365 case '$(am__configure_deps)' in \
366 *$$dep*) \
367 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
368 && { if test -f $@; then exit 0; else break; fi; }; \
369 exit 1;; \
370 esac; \
371 done; \
372 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/fsfunnel/Makefile'; \
373 $(am__cd) $(top_srcdir) && \
374 $(AUTOMAKE) --gnu gst/fsfunnel/Makefile
375 .PRECIOUS: Makefile
376 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
377 @case '$?' in \
378 *config.status*) \
379 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
380 *) \
381 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
382 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
383 esac;
384
385 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
386 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
387
388 $(top_srcdir)/configure: $(am__configure_deps)
389 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
390 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
391 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
392 $(am__aclocal_m4_deps):
393 install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
394 @$(NORMAL_INSTALL)
395 test -z "$(plugindir)" || $(MKDIR_P) "$(DESTDIR)$(plugindir)"
396 @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
397 list2=; for p in $$list; do \
398 if test -f $$p; then \
399 list2="$$list2 $$p"; \
400 else :; fi; \
401 done; \
402 test -z "$$list2" || { \
403 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
404 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
405 }
406
407 uninstall-pluginLTLIBRARIES:
408 @$(NORMAL_UNINSTALL)
409 @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
410 for p in $$list; do \
411 $(am__strip_dir) \
412 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
413 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
414 done
415
416 clean-pluginLTLIBRARIES:
417 -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
418 @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
419 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
420 test "$$dir" != "$$p" || dir=.; \
421 echo "rm -f \"$${dir}/so_locations\""; \
422 rm -f "$${dir}/so_locations"; \
423 done
424 libfsfunnel.la: $(libfsfunnel_la_OBJECTS) $(libfsfunnel_la_DEPENDENCIES)
425 $(AM_V_CCLD)$(libfsfunnel_la_LINK) -rpath $(plugindir) $(libfsfunnel_la_OBJECTS) $(libfsfunnel_la_LIBADD) $(LIBS)
426
427 mostlyclean-compile:
428 -rm -f *.$(OBJEXT)
429
430 distclean-compile:
431 -rm -f *.tab.c
432
433 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfsfunnel_la-fs-funnel.Plo@am__quote@
434
435 .c.o:
436 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
437 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
438 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
439 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
440 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
441 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
442
443 .c.obj:
444 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
445 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
446 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
447 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
448 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
449 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
450
451 .c.lo:
452 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
453 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
454 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
455 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
456 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
457 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
458
459 libfsfunnel_la-fs-funnel.lo: fs-funnel.c
460 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfsfunnel_la_CFLAGS) $(CFLAGS) -MT libfsfunnel_la-fs-funnel.lo -MD -MP -MF $(DEPDIR)/libfsfunnel_la-fs-funnel.Tpo -c -o libfsfunnel_la-fs-funnel.lo `test -f 'fs-funnel.c' || echo '$(srcdir)/'`fs-funnel.c
461 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfsfunnel_la-fs-funnel.Tpo $(DEPDIR)/libfsfunnel_la-fs-funnel.Plo
462 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
463 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-funnel.c' object='libfsfunnel_la-fs-funnel.lo' libtool=yes @AMDEPBACKSLASH@
464 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
465 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfsfunnel_la_CFLAGS) $(CFLAGS) -c -o libfsfunnel_la-fs-funnel.lo `test -f 'fs-funnel.c' || echo '$(srcdir)/'`fs-funnel.c
466
467 mostlyclean-libtool:
468 -rm -f *.lo
469
470 clean-libtool:
471 -rm -rf .libs _libs
472
473 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
474 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
475 unique=`for i in $$list; do \
476 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
477 done | \
478 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
479 END { if (nonempty) { for (i in files) print i; }; }'`; \
480 mkid -fID $$unique
481 tags: TAGS
482
483 TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
484 $(TAGS_FILES) $(LISP)
485 set x; \
486 here=`pwd`; \
487 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
488 unique=`for i in $$list; do \
489 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
490 done | \
491 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
492 END { if (nonempty) { for (i in files) print i; }; }'`; \
493 shift; \
494 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
495 test -n "$$unique" || unique=$$empty_fix; \
496 if test $$# -gt 0; then \
497 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
498 "$$@" $$unique; \
499 else \
500 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
501 $$unique; \
502 fi; \
503 fi
504 ctags: CTAGS
505 CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
506 $(TAGS_FILES) $(LISP)
507 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
508 unique=`for i in $$list; do \
509 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
510 done | \
511 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
512 END { if (nonempty) { for (i in files) print i; }; }'`; \
513 test -z "$(CTAGS_ARGS)$$unique" \
514 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
515 $$unique
516
517 GTAGS:
518 here=`$(am__cd) $(top_builddir) && pwd` \
519 && $(am__cd) $(top_srcdir) \
520 && gtags -i $(GTAGS_ARGS) "$$here"
521
522 distclean-tags:
523 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
524
525 distdir: $(DISTFILES)
526 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
527 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
528 list='$(DISTFILES)'; \
529 dist_files=`for file in $$list; do echo $$file; done | \
530 sed -e "s|^$$srcdirstrip/||;t" \
531 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
532 case $$dist_files in \
533 */*) $(MKDIR_P) `echo "$$dist_files" | \
534 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
535 sort -u` ;; \
536 esac; \
537 for file in $$dist_files; do \
538 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
539 if test -d $$d/$$file; then \
540 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
541 if test -d "$(distdir)/$$file"; then \
542 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
543 fi; \
544 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
545 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
546 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
547 fi; \
548 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
549 else \
550 test -f "$(distdir)/$$file" \
551 || cp -p $$d/$$file "$(distdir)/$$file" \
552 || exit 1; \
553 fi; \
554 done
555 check-am: all-am
556 check: check-am
557 all-am: Makefile $(LTLIBRARIES) $(HEADERS)
558 installdirs:
559 for dir in "$(DESTDIR)$(plugindir)"; do \
560 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
561 done
562 install: install-am
563 install-exec: install-exec-am
564 install-data: install-data-am
565 uninstall: uninstall-am
566
567 install-am: all-am
568 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
569
570 installcheck: installcheck-am
571 install-strip:
572 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
573 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
574 `test -z '$(STRIP)' || \
575 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
576 mostlyclean-generic:
577
578 clean-generic:
579
580 distclean-generic:
581 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
582 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
583
584 maintainer-clean-generic:
585 @echo "This command is intended for maintainers to use"
586 @echo "it deletes files that may require special tools to rebuild."
587 clean: clean-am
588
589 clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
590 mostlyclean-am
591
592 distclean: distclean-am
593 -rm -rf ./$(DEPDIR)
594 -rm -f Makefile
595 distclean-am: clean-am distclean-compile distclean-generic \
596 distclean-tags
597
598 dvi: dvi-am
599
600 dvi-am:
601
602 html: html-am
603
604 html-am:
605
606 info: info-am
607
608 info-am:
609
610 install-data-am: install-pluginLTLIBRARIES
611
612 install-dvi: install-dvi-am
613
614 install-dvi-am:
615
616 install-exec-am:
617
618 install-html: install-html-am
619
620 install-html-am:
621
622 install-info: install-info-am
623
624 install-info-am:
625
626 install-man:
627
628 install-pdf: install-pdf-am
629
630 install-pdf-am:
631
632 install-ps: install-ps-am
633
634 install-ps-am:
635
636 installcheck-am:
637
638 maintainer-clean: maintainer-clean-am
639 -rm -rf ./$(DEPDIR)
640 -rm -f Makefile
641 maintainer-clean-am: distclean-am maintainer-clean-generic
642
643 mostlyclean: mostlyclean-am
644
645 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
646 mostlyclean-libtool
647
648 pdf: pdf-am
649
650 pdf-am:
651
652 ps: ps-am
653
654 ps-am:
655
656 uninstall-am: uninstall-pluginLTLIBRARIES
657
658 .MAKE: install-am install-strip
659
660 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
661 clean-libtool clean-pluginLTLIBRARIES ctags distclean \
662 distclean-compile distclean-generic distclean-libtool \
663 distclean-tags distdir dvi dvi-am html html-am info info-am \
664 install install-am install-data install-data-am install-dvi \
665 install-dvi-am install-exec install-exec-am install-html \
666 install-html-am install-info install-info-am install-man \
667 install-pdf install-pdf-am install-pluginLTLIBRARIES \
668 install-ps install-ps-am install-strip installcheck \
669 installcheck-am installdirs maintainer-clean \
670 maintainer-clean-generic mostlyclean mostlyclean-compile \
671 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
672 tags uninstall uninstall-am uninstall-pluginLTLIBRARIES
673
674
675 # Tell versions [3.59,3.63) of GNU make to not export all variables.
676 # Otherwise a system limit (for SysV at least) may be exceeded.
677 .NOEXPORT:
+0
-443
gst/fsfunnel/fs-funnel.c less more
0 /*
1 * Farstream - Farstream Funnel element
2 *
3 * Copyright 2007 Collabora Ltd.
4 * @author: Olivier Crete <olivier.crete@collabora.co.uk>
5 * Copyright 2007 Nokia Corp.
6 *
7 * fs-funnel.c: Simple Funnel element
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 */
23
24 /**
25 * SECTION:element-fsfunnel
26 * @short_description: N-to-1 simple funnel
27 *
28 * Takes packets from various input sinks into one output source
29 */
30
31 #ifdef HAVE_CONFIG_H
32 # include "config.h"
33 #endif
34
35 #include "fs-funnel.h"
36
37 GST_DEBUG_CATEGORY_STATIC (fs_funnel_debug);
38 #define GST_CAT_DEFAULT fs_funnel_debug
39
40 static const GstElementDetails fs_funnel_details =
41 GST_ELEMENT_DETAILS(
42 "Farstream Funnel pipe fitting",
43 "Generic",
44 "N-to-1 pipe fitting",
45 "Olivier Crete <olivier.crete@collabora.co.uk>");
46
47 static GstStaticPadTemplate funnel_sink_template =
48 GST_STATIC_PAD_TEMPLATE ("sink%d",
49 GST_PAD_SINK,
50 GST_PAD_REQUEST,
51 GST_STATIC_CAPS_ANY);
52
53 static GstStaticPadTemplate funnel_src_template =
54 GST_STATIC_PAD_TEMPLATE ("src",
55 GST_PAD_SRC,
56 GST_PAD_ALWAYS,
57 GST_STATIC_CAPS_ANY);
58
59
60 static void
61 _do_init (GType type)
62 {
63 GST_DEBUG_CATEGORY_INIT
64 (fs_funnel_debug, "fsfunnel", 0, "fsfunnel element");
65 }
66
67 GST_BOILERPLATE_FULL (FsFunnel, fs_funnel, GstElement, GST_TYPE_ELEMENT,
68 _do_init);
69
70
71
72 static GstStateChangeReturn fs_funnel_change_state (GstElement *element,
73 GstStateChange transition);
74
75 static GstPad *fs_funnel_request_new_pad (GstElement * element,
76 GstPadTemplate * templ, const gchar * name);
77 static void fs_funnel_release_pad (GstElement * element, GstPad * pad);
78
79 static GstFlowReturn fs_funnel_buffer_alloc (GstPad * pad, guint64 offset,
80 guint size, GstCaps * caps, GstBuffer ** buf);
81 static GstFlowReturn fs_funnel_chain (GstPad * pad, GstBuffer * buffer);
82 static gboolean fs_funnel_event (GstPad * pad, GstEvent * event);
83 static gboolean fs_funnel_src_event (GstPad * pad, GstEvent * event);
84 static GstCaps* fs_funnel_getcaps (GstPad * pad);
85
86
87 typedef struct {
88 GstSegment segment;
89 } FsFunnelPadPrivate;
90
91 static void
92 fs_funnel_base_init (gpointer g_class)
93 {
94 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class);
95
96 gst_element_class_set_details (gstelement_class, &fs_funnel_details);
97
98 gst_element_class_add_pad_template (gstelement_class,
99 gst_static_pad_template_get (&funnel_sink_template));
100 gst_element_class_add_pad_template (gstelement_class,
101 gst_static_pad_template_get (&funnel_src_template));
102 }
103
104
105 static void
106 fs_funnel_dispose (GObject * object)
107 {
108 GList *item;
109
110 restart:
111 for (item = GST_ELEMENT_PADS (object); item; item = g_list_next (item))
112 {
113 GstPad *pad = GST_PAD (item->data);
114
115 if (GST_PAD_IS_SINK (pad))
116 {
117 gst_element_release_request_pad (GST_ELEMENT (object), pad);
118 goto restart;
119 }
120 }
121
122 G_OBJECT_CLASS (parent_class)->dispose (object);
123 }
124
125 static void
126 fs_funnel_class_init (FsFunnelClass * klass)
127 {
128 GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
129 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
130
131 gobject_class->dispose = GST_DEBUG_FUNCPTR (fs_funnel_dispose);
132
133 gstelement_class->request_new_pad =
134 GST_DEBUG_FUNCPTR (fs_funnel_request_new_pad);
135 gstelement_class->release_pad = GST_DEBUG_FUNCPTR (fs_funnel_release_pad);
136 gstelement_class->change_state = GST_DEBUG_FUNCPTR (fs_funnel_change_state);
137 }
138
139 static void
140 fs_funnel_init (FsFunnel * funnel, FsFunnelClass * g_class)
141 {
142 funnel->srcpad = gst_pad_new_from_static_template (&funnel_src_template,
143 "src");
144 gst_pad_set_event_function (funnel->srcpad, fs_funnel_src_event);
145 gst_pad_use_fixed_caps (funnel->srcpad);
146 gst_element_add_pad (GST_ELEMENT (funnel), funnel->srcpad);
147 }
148
149 static GstFlowReturn
150 fs_funnel_buffer_alloc (GstPad * pad, guint64 offset, guint size,
151 GstCaps * caps, GstBuffer ** buf)
152 {
153 FsFunnel *funnel = FS_FUNNEL (gst_pad_get_parent_element (pad));
154 GstFlowReturn ret = GST_FLOW_OK;
155
156 ret = gst_pad_alloc_buffer (funnel->srcpad, offset, size, caps, buf);
157
158 gst_object_unref (funnel);
159
160 return ret;
161 }
162
163
164 static GstPad *
165 fs_funnel_request_new_pad (GstElement * element, GstPadTemplate * templ,
166 const gchar * name)
167 {
168 GstPad *sinkpad;
169 FsFunnelPadPrivate *priv = g_slice_alloc0 (sizeof(FsFunnelPadPrivate));
170
171 GST_DEBUG_OBJECT (element, "requesting pad");
172
173 sinkpad = gst_pad_new_from_template (templ, name);
174
175 gst_pad_set_chain_function (sinkpad, GST_DEBUG_FUNCPTR (fs_funnel_chain));
176 gst_pad_set_event_function (sinkpad, GST_DEBUG_FUNCPTR (fs_funnel_event));
177 gst_pad_set_getcaps_function (sinkpad, GST_DEBUG_FUNCPTR (fs_funnel_getcaps));
178 gst_pad_set_bufferalloc_function (sinkpad,
179 GST_DEBUG_FUNCPTR (fs_funnel_buffer_alloc));
180
181 gst_segment_init (&priv->segment, GST_FORMAT_UNDEFINED);
182 gst_pad_set_element_private (sinkpad, priv);
183
184 gst_pad_set_active (sinkpad, TRUE);
185
186 gst_element_add_pad (element, sinkpad);
187
188 return sinkpad;
189 }
190
191 static void
192 fs_funnel_release_pad (GstElement * element, GstPad * pad)
193 {
194 FsFunnel *funnel = FS_FUNNEL (element);
195 FsFunnelPadPrivate *priv = gst_pad_get_element_private (pad);
196
197 GST_DEBUG_OBJECT (funnel, "releasing pad");
198
199 gst_pad_set_active (pad, FALSE);
200
201 if (priv)
202 g_slice_free1 (sizeof(FsFunnelPadPrivate), priv);
203
204 gst_element_remove_pad (GST_ELEMENT_CAST (funnel), pad);
205 }
206
207 static GstCaps*
208 fs_funnel_getcaps (GstPad * pad)
209 {
210 FsFunnel *funnel = FS_FUNNEL (gst_pad_get_parent (pad));
211 GstCaps *caps;
212
213 caps = gst_pad_peer_get_caps_reffed (funnel->srcpad);
214 if (caps == NULL)
215 caps = gst_caps_copy (gst_pad_get_pad_template_caps (pad));
216
217 gst_object_unref (funnel);
218
219 return caps;
220 }
221
222 static GstFlowReturn
223 fs_funnel_chain (GstPad * pad, GstBuffer * buffer)
224 {
225 GstFlowReturn res;
226 FsFunnel *funnel = FS_FUNNEL (gst_pad_get_parent (pad));
227 FsFunnelPadPrivate *priv = gst_pad_get_element_private (pad);
228 GstEvent *event = NULL;
229 GstClockTime newts;
230 GstCaps *padcaps;
231
232 GST_DEBUG_OBJECT (funnel, "received buffer %p", buffer);
233
234 GST_OBJECT_LOCK (funnel);
235 if (priv->segment.format == GST_FORMAT_UNDEFINED) {
236 GST_WARNING_OBJECT (funnel, "Got buffer without segment,"
237 " setting segment [0,inf[");
238 gst_segment_set_newsegment_full (&priv->segment, FALSE, 1.0, 1.0,
239 GST_FORMAT_TIME, 0, -1, 0);
240 }
241
242 if (GST_CLOCK_TIME_IS_VALID (GST_BUFFER_TIMESTAMP (buffer)))
243 gst_segment_set_last_stop (&priv->segment, priv->segment.format,
244 GST_BUFFER_TIMESTAMP (buffer));
245
246 newts = gst_segment_to_running_time (&priv->segment,
247 priv->segment.format, GST_BUFFER_TIMESTAMP (buffer));
248 if (newts != GST_BUFFER_TIMESTAMP (buffer)) {
249 buffer = gst_buffer_make_metadata_writable (buffer);
250 GST_BUFFER_TIMESTAMP (buffer) = newts;
251 }
252
253 if (!funnel->has_segment)
254 {
255 event = gst_event_new_new_segment_full (FALSE, 1.0, 1.0, GST_FORMAT_TIME,
256 0, -1, 0);
257 funnel->has_segment = TRUE;
258 }
259 GST_OBJECT_UNLOCK (funnel);
260
261 if (event) {
262 if (!gst_pad_push_event (funnel->srcpad, event))
263 GST_WARNING_OBJECT (funnel, "Could not push out newsegment event");
264 }
265
266
267 GST_OBJECT_LOCK (pad);
268 padcaps = GST_PAD_CAPS (funnel->srcpad);
269 GST_OBJECT_UNLOCK (pad);
270
271 if (GST_BUFFER_CAPS (buffer) && GST_BUFFER_CAPS (buffer) != padcaps) {
272 if (!gst_pad_set_caps (funnel->srcpad, GST_BUFFER_CAPS (buffer))) {
273 res = GST_FLOW_NOT_NEGOTIATED;
274 goto out;
275 }
276 }
277
278 res = gst_pad_push (funnel->srcpad, buffer);
279
280 GST_LOG_OBJECT (funnel, "handled buffer %s", gst_flow_get_name (res));
281
282 out:
283 gst_object_unref (funnel);
284
285 return res;
286 }
287
288 static gboolean
289 fs_funnel_event (GstPad * pad, GstEvent * event)
290 {
291 FsFunnel *funnel = FS_FUNNEL (gst_pad_get_parent (pad));
292 FsFunnelPadPrivate *priv = gst_pad_get_element_private (pad);
293 gboolean forward = TRUE;
294 gboolean res = TRUE;
295
296 switch (GST_EVENT_TYPE (event)) {
297 case GST_EVENT_NEWSEGMENT:
298 {
299 gboolean update;
300 gdouble rate, arate;
301 GstFormat format;
302 gint64 start;
303 gint64 stop;
304 gint64 time;
305
306 gst_event_parse_new_segment_full (event, &update, &rate, &arate,
307 &format, &start, &stop, &time);
308
309
310 GST_OBJECT_LOCK (funnel);
311 gst_segment_set_newsegment_full (&priv->segment, update, rate, arate,
312 format, start, stop, time);
313 GST_OBJECT_UNLOCK (funnel);
314
315 forward = FALSE;
316 gst_event_unref (event);
317 }
318 break;
319 case GST_EVENT_FLUSH_STOP:
320 {
321 GST_OBJECT_LOCK (funnel);
322 gst_segment_init (&priv->segment, GST_FORMAT_UNDEFINED);
323 GST_OBJECT_UNLOCK (funnel);
324 }
325 break;
326 default:
327 break;
328 }
329
330
331 if (forward)
332 res = gst_pad_push_event (funnel->srcpad, event);
333
334 gst_object_unref (funnel);
335
336 return res;
337 }
338
339 static gboolean
340 fs_funnel_src_event (GstPad * pad, GstEvent * event)
341 {
342 GstElement *funnel;
343 GstIterator *iter;
344 GstPad *sinkpad;
345 gboolean result = FALSE;
346 gboolean done = FALSE;
347
348 funnel = gst_pad_get_parent_element (pad);
349 g_return_val_if_fail (funnel != NULL, FALSE);
350
351 iter = gst_element_iterate_sink_pads (funnel);
352
353 while (!done) {
354 switch (gst_iterator_next (iter, (gpointer) &sinkpad)) {
355 case GST_ITERATOR_OK:
356 gst_event_ref (event);
357 result |= gst_pad_push_event (sinkpad, event);
358 gst_object_unref (sinkpad);
359 break;
360 case GST_ITERATOR_RESYNC:
361 gst_iterator_resync (iter);
362 result = FALSE;
363 break;
364 case GST_ITERATOR_ERROR:
365 GST_WARNING_OBJECT (funnel, "Error iterating sinkpads");
366 case GST_ITERATOR_DONE:
367 done = TRUE;
368 break;
369 }
370 }
371 gst_iterator_free (iter);
372 gst_object_unref (funnel);
373 gst_event_unref (event);
374
375 return result;
376 }
377
378 static void
379 reset_pad (gpointer data, gpointer user_data)
380 {
381 GstPad *pad = data;
382 FsFunnelPadPrivate *priv = gst_pad_get_element_private (pad);
383
384 GST_OBJECT_LOCK (pad);
385 gst_segment_init (&priv->segment, GST_FORMAT_UNDEFINED);
386 GST_OBJECT_UNLOCK (pad);
387 gst_object_unref (pad);
388 }
389
390 static GstStateChangeReturn
391 fs_funnel_change_state (GstElement *element, GstStateChange transition)
392 {
393 FsFunnel *funnel = FS_FUNNEL (element);
394 GstStateChangeReturn ret;
395
396 switch (transition) {
397 case GST_STATE_CHANGE_READY_TO_PAUSED:
398 {
399 GstIterator *iter = gst_element_iterate_sink_pads (element);
400 GstIteratorResult res;
401
402 do {
403 res = gst_iterator_foreach (iter, reset_pad, NULL);
404 } while (res == GST_ITERATOR_RESYNC);
405
406 gst_iterator_free (iter);
407
408 if (res == GST_ITERATOR_ERROR)
409 return GST_STATE_CHANGE_FAILURE;
410
411 GST_OBJECT_LOCK (funnel);
412 funnel->has_segment = FALSE;
413 GST_OBJECT_UNLOCK (funnel);
414 }
415 break;
416 default:
417 break;
418 }
419
420 ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
421
422 return ret;
423 }
424
425
426 static gboolean plugin_init (GstPlugin * plugin)
427 {
428 return gst_element_register (plugin, "fsfunnel",
429 GST_RANK_NONE, FS_TYPE_FUNNEL);
430 }
431
432 GST_PLUGIN_DEFINE (
433 GST_VERSION_MAJOR,
434 GST_VERSION_MINOR,
435 "fsfunnel",
436 "Farstream Funnel plugin",
437 plugin_init,
438 VERSION,
439 "LGPL",
440 "Farstream",
441 "http://farstream.freedesktop.org/"
442 )
+0
-69
gst/fsfunnel/fs-funnel.h less more
0 /*
1 * Farstream - Farstream Funnel element
2 *
3 * Copyright 2007 Collabora Ltd.
4 * @author: Olivier Crete <olivier.crete@collabora.co.uk>
5 * Copyright 2007 Nokia Corp.
6 *
7 * fs-funnel.h: Simple Funnel element
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 */
23
24
25 #ifndef __FS_FUNNEL_H__
26 #define __FS_FUNNEL_H__
27
28 #include <gst/gst.h>
29
30 G_BEGIN_DECLS
31
32 #define FS_TYPE_FUNNEL \
33 (fs_funnel_get_type ())
34 #define FS_FUNNEL(obj) \
35 (G_TYPE_CHECK_INSTANCE_CAST((obj),FS_TYPE_FUNNEL,FsFunnel))
36 #define FS_FUNNEL_CLASS(klass) \
37 (G_TYPE_CHECK_CLASS_CAST((klass),FS_TYPE_FUNNEL,FsFunnelClass))
38 #define FS_IS_FUNNEL(obj) \
39 (G_TYPE_CHECK_INSTANCE_TYPE((obj),FS_TYPE_FUNNEL))
40 #define FS_IS_FUNNEL_CLASS(klass) \
41 (G_TYPE_CHECK_CLASS_TYPE((klass),FS_TYPE_FUNNEL))
42
43 typedef struct _FsFunnel FsFunnel;
44 typedef struct _FsFunnelClass FsFunnelClass;
45
46 /**
47 * FsFunnel:
48 *
49 * Opaque #FsFunnel data structure.
50 */
51 struct _FsFunnel {
52 GstElement element;
53
54 /*< private >*/
55 GstPad *srcpad;
56
57 gboolean has_segment;
58 };
59
60 struct _FsFunnelClass {
61 GstElementClass parent_class;
62 };
63
64 GType fs_funnel_get_type (void);
65
66 G_END_DECLS
67
68 #endif /* __FS_FUNNEL_H__ */
55 noinst_LTLIBRARIES = libfsmsnconference-convenience.la
66
77 libfsmsnconference_convenience_la_SOURCES = \
8 fs-msn-conference.c \
8 fs-msn-cam-recv-conference.c \
9 fs-msn-cam-send-conference.c \
910 fs-msn-participant.c \
1011 fs-msn-session.c \
1112 fs-msn-connection.c \
3132 # Build the main plugin
3233
3334 libfsmsnconference_la_SOURCES = \
34 fs-msn-cam-recv-conference.c \
35 fs-msn-cam-send-conference.c
35 fs-msn-conference.c
3636
3737 libfsmsnconference_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
3838 libfsmsnconference_la_LIBADD = \
3939 libfsmsnconference-convenience.la \
40 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
40 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
4141 $(FS_LIBS) \
4242 $(GST_BASE_LIBS) \
4343 $(GST_LIBS) \
5050 if ENABLE_GTK_DOC
5151 noinst_LTLIBRARIES += libfsmsnconference_doc.la
5252
53 nodist_libfsmsnconference_doc_la_SOURCES = \
54 fs-msn-cam-recv-conference.doc.c \
55 fs-msn-cam-send-conference.doc.c
53 nodist_libfsmsnconference_doc_la_CFLAGS = -DBUILD_GTK_DOC
5654
57 libfsmsnconference_doc_la_LIBADD = $(libfsmsnconference_la_LIBADD)
55 nodist_libfsmsnconference_doc_la_SOURCES = $(libfsmsnconference_la_SOURCES)
5856
59 %.doc.c: %.c
60 $(AM_V_GEN)sed -e 's:GST_PLUGIN_DEFINE:GST_PLUGIN_DEFINE_STATIC:' $< > $@
6157
62 BUILT_SOURCES = $(nodist_libfsmsnconference_doc_la_SOURCES)
58 libfsmsnconference_doc_la_LIBADD = libfsmsnconference-convenience.la \
59 $(libfsmsnconference_la_LIBADD)
6360
6461 CLEANFILES = $(BUILT_SOURCES)
6562
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3434 POST_UNINSTALL = :
3535 build_triplet = @build@
3636 host_triplet = @host@
37 target_triplet = @target@
3738
3839 # Optionally build a library to allow building the gtk-doc
3940 @ENABLE_GTK_DOC_TRUE@am__append_1 = libfsmsnconference_doc.la
4546 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4647 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4748 $(top_srcdir)/common/m4/as-libtool.m4 \
49 $(top_srcdir)/common/m4/as-python.m4 \
4850 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4951 $(top_srcdir)/common/m4/as-version.m4 \
5052 $(top_srcdir)/common/m4/gst-arch.m4 \
5759 $(top_srcdir)/common/m4/gst.m4 \
5860 $(top_srcdir)/common/m4/gtk-doc.m4 \
5961 $(top_srcdir)/common/m4/pkg.m4 \
60 $(top_srcdir)/m4/as-check-python-headers.m4 \
6162 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
6263 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
6364 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
8990 am__base_list = \
9091 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
9192 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
93 am__uninstall_files_from_dir = { \
94 test -z "$$files" \
95 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
96 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
97 $(am__cd) "$$dir" && rm -f $$files; }; \
98 }
9299 am__installdirs = "$(DESTDIR)$(plugindir)"
93100 LTLIBRARIES = $(noinst_LTLIBRARIES) $(plugin_LTLIBRARIES)
94101 libfsmsnconference_convenience_la_LIBADD =
95 am_libfsmsnconference_convenience_la_OBJECTS = fs-msn-conference.lo \
102 am_libfsmsnconference_convenience_la_OBJECTS = \
103 fs-msn-cam-recv-conference.lo fs-msn-cam-send-conference.lo \
96104 fs-msn-participant.lo fs-msn-session.lo fs-msn-connection.lo \
97105 fs-msn-stream.lo
98106 libfsmsnconference_convenience_la_OBJECTS = \
99107 $(am_libfsmsnconference_convenience_la_OBJECTS)
100 AM_V_lt = $(am__v_lt_$(V))
101 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
108 AM_V_lt = $(am__v_lt_@AM_V@)
109 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
102110 am__v_lt_0 = --silent
103111 am__DEPENDENCIES_1 =
104112 libfsmsnconference_la_DEPENDENCIES = \
105113 libfsmsnconference-convenience.la \
106 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
114 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
107115 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
108116 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
109 am_libfsmsnconference_la_OBJECTS = fs-msn-cam-recv-conference.lo \
110 fs-msn-cam-send-conference.lo
117 am_libfsmsnconference_la_OBJECTS = fs-msn-conference.lo
111118 libfsmsnconference_la_OBJECTS = $(am_libfsmsnconference_la_OBJECTS)
112119 libfsmsnconference_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
113120 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
114121 $(AM_CFLAGS) $(CFLAGS) $(libfsmsnconference_la_LDFLAGS) \
115122 $(LDFLAGS) -o $@
116123 am__DEPENDENCIES_2 = libfsmsnconference-convenience.la \
117 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
124 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
118125 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
119126 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
120127 @ENABLE_GTK_DOC_TRUE@libfsmsnconference_doc_la_DEPENDENCIES = \
128 @ENABLE_GTK_DOC_TRUE@ libfsmsnconference-convenience.la \
121129 @ENABLE_GTK_DOC_TRUE@ $(am__DEPENDENCIES_2)
130 am__objects_1 = fs-msn-conference.lo
122131 @ENABLE_GTK_DOC_TRUE@nodist_libfsmsnconference_doc_la_OBJECTS = \
123 @ENABLE_GTK_DOC_TRUE@ fs-msn-cam-recv-conference.doc.lo \
124 @ENABLE_GTK_DOC_TRUE@ fs-msn-cam-send-conference.doc.lo
132 @ENABLE_GTK_DOC_TRUE@ $(am__objects_1)
125133 libfsmsnconference_doc_la_OBJECTS = \
126134 $(nodist_libfsmsnconference_doc_la_OBJECTS)
127135 @ENABLE_GTK_DOC_TRUE@am_libfsmsnconference_doc_la_rpath =
135143 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
136144 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
137145 $(AM_CFLAGS) $(CFLAGS)
138 AM_V_CC = $(am__v_CC_$(V))
139 am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
146 AM_V_CC = $(am__v_CC_@AM_V@)
147 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
140148 am__v_CC_0 = @echo " CC " $@;
141 AM_V_at = $(am__v_at_$(V))
142 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
149 AM_V_at = $(am__v_at_@AM_V@)
150 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
143151 am__v_at_0 = @
144152 CCLD = $(CC)
145153 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
146154 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
147155 $(AM_LDFLAGS) $(LDFLAGS) -o $@
148 AM_V_CCLD = $(am__v_CCLD_$(V))
149 am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
156 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
157 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
150158 am__v_CCLD_0 = @echo " CCLD " $@;
151 AM_V_GEN = $(am__v_GEN_$(V))
152 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
159 AM_V_GEN = $(am__v_GEN_@AM_V@)
160 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
153161 am__v_GEN_0 = @echo " GEN " $@;
154162 SOURCES = $(libfsmsnconference_convenience_la_SOURCES) \
155163 $(libfsmsnconference_la_SOURCES) \
165173 AMTAR = @AMTAR@
166174 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
167175 AR = @AR@
176 AS = @AS@
168177 AUTOCONF = @AUTOCONF@
169178 AUTOHEADER = @AUTOHEADER@
170179 AUTOMAKE = @AUTOMAKE@
192201 FGREP = @FGREP@
193202 FS_AGE = @FS_AGE@
194203 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
204 FS_APIVERSION = @FS_APIVERSION@
205 FS_API_VERSION = @FS_API_VERSION@
195206 FS_CFLAGS = @FS_CFLAGS@
196207 FS_CURRENT = @FS_CURRENT@
197208 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
200211 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
201212 FS_LICENSE = @FS_LICENSE@
202213 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
203 FS_MAJORMINOR = @FS_MAJORMINOR@
204 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
205214 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
206215 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
207216 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
214223 GCOV = @GCOV@
215224 GCOV_CFLAGS = @GCOV_CFLAGS@
216225 GCOV_LIBS = @GCOV_LIBS@
226 GIO_CFLAGS = @GIO_CFLAGS@
227 GIO_LDFLAGS = @GIO_LDFLAGS@
228 GIO_LIBS = @GIO_LIBS@
217229 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
218230 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
219231 GLIB_CFLAGS = @GLIB_CFLAGS@
223235 GLIB_REQ = @GLIB_REQ@
224236 GREP = @GREP@
225237 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
238 GST_API_VERSION = @GST_API_VERSION@
226239 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
227240 GST_BASE_LIBS = @GST_BASE_LIBS@
228241 GST_CFLAGS = @GST_CFLAGS@
231244 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
232245 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
233246 GST_LIBS = @GST_LIBS@
234 GST_MAJORMINOR = @GST_MAJORMINOR@
235247 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
236248 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
237249 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
241253 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
242254 GST_TOOLS_DIR = @GST_TOOLS_DIR@
243255 GTKDOC_CHECK = @GTKDOC_CHECK@
256 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
257 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
258 GTKDOC_MKPDF = @GTKDOC_MKPDF@
259 GTKDOC_REBASE = @GTKDOC_REBASE@
244260 GUPNP_CFLAGS = @GUPNP_CFLAGS@
245261 GUPNP_LIBS = @GUPNP_LIBS@
246262 HTML_DIR = @HTML_DIR@
292308 PKG_CONFIG = @PKG_CONFIG@
293309 PLUGINDIR = @PLUGINDIR@
294310 PROFILE_CFLAGS = @PROFILE_CFLAGS@
295 PYCODEGEN = @PYCODEGEN@
296 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
297 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
298 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
299 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
300311 PYTHON = @PYTHON@
301312 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
302 PYTHON_INCLUDES = @PYTHON_INCLUDES@
303313 PYTHON_PLATFORM = @PYTHON_PLATFORM@
304314 PYTHON_PREFIX = @PYTHON_PREFIX@
305315 PYTHON_VERSION = @PYTHON_VERSION@
366376 sharedstatedir = @sharedstatedir@
367377 srcdir = @srcdir@
368378 sysconfdir = @sysconfdir@
379 target = @target@
369380 target_alias = @target_alias@
381 target_cpu = @target_cpu@
382 target_os = @target_os@
383 target_vendor = @target_vendor@
370384 top_build_prefix = @top_build_prefix@
371385 top_builddir = @top_builddir@
372386 top_srcdir = @top_srcdir@
375389 # First build a convenience lib with the common stuff so its not built twice
376390 noinst_LTLIBRARIES = libfsmsnconference-convenience.la $(am__append_1)
377391 libfsmsnconference_convenience_la_SOURCES = \
378 fs-msn-conference.c \
392 fs-msn-cam-recv-conference.c \
393 fs-msn-cam-send-conference.c \
379394 fs-msn-participant.c \
380395 fs-msn-session.c \
381396 fs-msn-connection.c \
400415
401416 # Build the main plugin
402417 libfsmsnconference_la_SOURCES = \
403 fs-msn-cam-recv-conference.c \
404 fs-msn-cam-send-conference.c
418 fs-msn-conference.c
405419
406420 libfsmsnconference_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
407421 libfsmsnconference_la_LIBADD = \
408422 libfsmsnconference-convenience.la \
409 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
423 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
410424 $(FS_LIBS) \
411425 $(GST_BASE_LIBS) \
412426 $(GST_LIBS) \
413427 $(NICE_LIBS)
414428
415 @ENABLE_GTK_DOC_TRUE@nodist_libfsmsnconference_doc_la_SOURCES = \
416 @ENABLE_GTK_DOC_TRUE@ fs-msn-cam-recv-conference.doc.c \
417 @ENABLE_GTK_DOC_TRUE@ fs-msn-cam-send-conference.doc.c
418
419 @ENABLE_GTK_DOC_TRUE@libfsmsnconference_doc_la_LIBADD = $(libfsmsnconference_la_LIBADD)
420 @ENABLE_GTK_DOC_TRUE@BUILT_SOURCES = $(nodist_libfsmsnconference_doc_la_SOURCES)
429 @ENABLE_GTK_DOC_TRUE@nodist_libfsmsnconference_doc_la_CFLAGS = -DBUILD_GTK_DOC
430 @ENABLE_GTK_DOC_TRUE@nodist_libfsmsnconference_doc_la_SOURCES = $(libfsmsnconference_la_SOURCES)
431 @ENABLE_GTK_DOC_TRUE@libfsmsnconference_doc_la_LIBADD = libfsmsnconference-convenience.la \
432 @ENABLE_GTK_DOC_TRUE@ $(libfsmsnconference_la_LIBADD)
433
421434 @ENABLE_GTK_DOC_TRUE@CLEANFILES = $(BUILT_SOURCES)
422 all: $(BUILT_SOURCES)
423 $(MAKE) $(AM_MAKEFLAGS) all-am
435 all: all-am
424436
425437 .SUFFIXES:
426438 .SUFFIXES: .c .lo .o .obj
494506 echo "rm -f \"$${dir}/so_locations\""; \
495507 rm -f "$${dir}/so_locations"; \
496508 done
497 libfsmsnconference-convenience.la: $(libfsmsnconference_convenience_la_OBJECTS) $(libfsmsnconference_convenience_la_DEPENDENCIES)
509 libfsmsnconference-convenience.la: $(libfsmsnconference_convenience_la_OBJECTS) $(libfsmsnconference_convenience_la_DEPENDENCIES) $(EXTRA_libfsmsnconference_convenience_la_DEPENDENCIES)
498510 $(AM_V_CCLD)$(LINK) $(libfsmsnconference_convenience_la_OBJECTS) $(libfsmsnconference_convenience_la_LIBADD) $(LIBS)
499 libfsmsnconference.la: $(libfsmsnconference_la_OBJECTS) $(libfsmsnconference_la_DEPENDENCIES)
511 libfsmsnconference.la: $(libfsmsnconference_la_OBJECTS) $(libfsmsnconference_la_DEPENDENCIES) $(EXTRA_libfsmsnconference_la_DEPENDENCIES)
500512 $(AM_V_CCLD)$(libfsmsnconference_la_LINK) -rpath $(plugindir) $(libfsmsnconference_la_OBJECTS) $(libfsmsnconference_la_LIBADD) $(LIBS)
501 libfsmsnconference_doc.la: $(libfsmsnconference_doc_la_OBJECTS) $(libfsmsnconference_doc_la_DEPENDENCIES)
513 libfsmsnconference_doc.la: $(libfsmsnconference_doc_la_OBJECTS) $(libfsmsnconference_doc_la_DEPENDENCIES) $(EXTRA_libfsmsnconference_doc_la_DEPENDENCIES)
502514 $(AM_V_CCLD)$(LINK) $(am_libfsmsnconference_doc_la_rpath) $(libfsmsnconference_doc_la_OBJECTS) $(libfsmsnconference_doc_la_LIBADD) $(LIBS)
503515
504516 mostlyclean-compile:
508520 -rm -f *.tab.c
509521
510522 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-msn-cam-recv-conference.Plo@am__quote@
511 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-msn-cam-recv-conference.doc.Plo@am__quote@
512523 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-msn-cam-send-conference.Plo@am__quote@
513 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-msn-cam-send-conference.doc.Plo@am__quote@
514524 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-msn-conference.Plo@am__quote@
515525 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-msn-connection.Plo@am__quote@
516526 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-msn-participant.Plo@am__quote@
520530 .c.o:
521531 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
522532 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
523 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
524 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
533 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
525534 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
526 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
535 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
527536
528537 .c.obj:
529538 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
530539 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
531 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
532 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
540 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
533541 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
534 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
542 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
535543
536544 .c.lo:
537545 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
538546 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
539 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
540 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
547 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
541548 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
542 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
549 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
543550
544551 mostlyclean-libtool:
545552 -rm -f *.lo
630637 fi; \
631638 done
632639 check-am: all-am
633 check: $(BUILT_SOURCES)
634 $(MAKE) $(AM_MAKEFLAGS) check-am
640 check: check-am
635641 all-am: Makefile $(LTLIBRARIES) $(HEADERS)
636642 installdirs:
637643 for dir in "$(DESTDIR)$(plugindir)"; do \
638644 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
639645 done
640 install: $(BUILT_SOURCES)
641 $(MAKE) $(AM_MAKEFLAGS) install-am
646 install: install-am
642647 install-exec: install-exec-am
643648 install-data: install-data-am
644649 uninstall: uninstall-am
648653
649654 installcheck: installcheck-am
650655 install-strip:
651 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
652 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
653 `test -z '$(STRIP)' || \
654 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
656 if test -z '$(STRIP)'; then \
657 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
658 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
659 install; \
660 else \
661 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
662 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
663 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
664 fi
655665 mostlyclean-generic:
656666
657667 clean-generic:
664674 maintainer-clean-generic:
665675 @echo "This command is intended for maintainers to use"
666676 @echo "it deletes files that may require special tools to rebuild."
667 -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
668677 clean: clean-am
669678
670679 clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
736745
737746 uninstall-am: uninstall-pluginLTLIBRARIES
738747
739 .MAKE: all check install install-am install-strip
748 .MAKE: install-am install-strip
740749
741750 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
742751 clean-libtool clean-noinstLTLIBRARIES clean-pluginLTLIBRARIES \
754763 uninstall-pluginLTLIBRARIES
755764
756765
757 @ENABLE_GTK_DOC_TRUE@%.doc.c: %.c
758 @ENABLE_GTK_DOC_TRUE@ $(AM_V_GEN)sed -e 's:GST_PLUGIN_DEFINE:GST_PLUGIN_DEFINE_STATIC:' $< > $@
759
760766 # Tell versions [3.59,3.63) of GNU make to not export all variables.
761767 # Otherwise a system limit (for SysV at least) may be exceeded.
762768 .NOEXPORT:
4545
4646 #define GST_CAT_DEFAULT fsmsnconference_debug
4747
48 /* Signals */
49 enum
50 {
51 LAST_SIGNAL
52 };
5348
54 /* Properties */
55 enum
56 {
57 PROP_0
58 };
49 G_DEFINE_TYPE (FsMsnCamRecvConference, fs_msn_cam_recv_conference,
50 FS_TYPE_MSN_CONFERENCE);
5951
60
61 static GstElementDetails fs_msn_cam_recv_conference_details =
62 {
63 "Farstream MSN Reception Conference",
64 "Generic/Bin/MSN",
65 "A Farstream MSN Reception Conference",
66 "Richard Spiers <richard.spiers@gmail.com>, "
67 "Youness Alaoui <youness.alaoui@collabora.co.uk>, "
68 "Olivier Crete <olivier.crete@collabora.co.uk>"
69 };
70
71
72 static void fs_msn_cam_recv_conference_do_init (GType type);
73
74 GST_BOILERPLATE_FULL (FsMsnCamRecvConference, fs_msn_cam_recv_conference,
75 FsMsnConference, FS_TYPE_MSN_CONFERENCE, fs_msn_cam_recv_conference_do_init);
76
77 static void
78 fs_msn_cam_recv_conference_do_init (GType type)
79 {
80 }
8152
8253 static void
8354 fs_msn_cam_recv_conference_class_init (FsMsnCamRecvConferenceClass * klass)
8455 {
56 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
57
58 gst_element_class_set_metadata (gstelement_class,
59 "Farstream MSN Reception Conference",
60 "Generic/Bin/MSN",
61 "A Farstream MSN Reception Conference",
62 "Richard Spiers <richard.spiers@gmail.com>, "
63 "Youness Alaoui <youness.alaoui@collabora.com>, "
64 "Olivier Crete <olivier.crete@collabora.com>");
8565 }
8666
8767 static void
88 fs_msn_cam_recv_conference_base_init (gpointer g_class)
89 {
90 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class);
91
92 gst_element_class_set_details (gstelement_class, &fs_msn_cam_recv_conference_details);
93 }
94
95 static void
96 fs_msn_cam_recv_conference_init (FsMsnCamRecvConference *self,
97 FsMsnCamRecvConferenceClass *bclass)
68 fs_msn_cam_recv_conference_init (FsMsnCamRecvConference *self)
9869 {
9970 FsMsnConference *conf = FS_MSN_CONFERENCE (self);
10071 GstElementFactory *fact = NULL;
4545
4646 #define GST_CAT_DEFAULT fsmsnconference_debug
4747
48 /* Signals */
49 enum
50 {
51 LAST_SIGNAL
52 };
5348
54 /* Properties */
55 enum
56 {
57 PROP_0
58 };
59
60
61 static GstElementDetails fs_msn_cam_send_conference_details =
62 {
63 "Farstream MSN Sending Conference",
64 "Generic/Bin/MSN",
65 "A Farstream MSN Sending Conference",
66 "Richard Spiers <richard.spiers@gmail.com>, "
67 "Youness Alaoui <youness.alaoui@collabora.co.uk>, "
68 "Olivier Crete <olivier.crete@collabora.co.uk>"
69 };
70
71
72 static void fs_msn_cam_send_conference_do_init (GType type);
73
74 GST_BOILERPLATE_FULL (FsMsnCamSendConference, fs_msn_cam_send_conference,
75 FsMsnConference, FS_TYPE_MSN_CONFERENCE, fs_msn_cam_send_conference_do_init);
76
77 static void
78 fs_msn_cam_send_conference_do_init (GType type)
79 {
80 }
49 G_DEFINE_TYPE (FsMsnCamSendConference, fs_msn_cam_send_conference,
50 FS_TYPE_MSN_CONFERENCE);
8151
8252 static void
8353 fs_msn_cam_send_conference_class_init (FsMsnCamSendConferenceClass * klass)
8454 {
55 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
56
57 gst_element_class_set_metadata (gstelement_class,
58 "Farstream MSN Sending Conference",
59 "Generic/Bin/MSN",
60 "A Farstream MSN Sending Conference",
61 "Richard Spiers <richard.spiers@gmail.com>, "
62 "Youness Alaoui <youness.alaoui@collabora.co.uk>, "
63 "Olivier Crete <olivier.crete@collabora.co.uk>");
8564 }
8665
8766 static void
88 fs_msn_cam_send_conference_base_init (gpointer g_class)
89 {
90 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class);
91
92 gst_element_class_set_details (gstelement_class, &fs_msn_cam_send_conference_details);
93 }
94
95 static void
96 fs_msn_cam_send_conference_init (FsMsnCamSendConference *self,
97 FsMsnCamSendConferenceClass *bclass)
67 fs_msn_cam_send_conference_init (FsMsnCamSendConference *self)
9868 {
9969 FsMsnConference *conf = FS_MSN_CONFERENCE (self);
10070 GstElementFactory *fact = NULL;
8787 FsMsnSession *session;
8888 };
8989
90 static void fs_msn_conference_do_init (GType type);
91
92
93 GST_BOILERPLATE_FULL (FsMsnConference, fs_msn_conference, FsConference,
94 FS_TYPE_CONFERENCE, fs_msn_conference_do_init);
90 G_DEFINE_ABSTRACT_TYPE (FsMsnConference, fs_msn_conference,
91 FS_TYPE_CONFERENCE);
9592
9693 static FsSession *fs_msn_conference_new_session (FsConference *conf,
9794 FsMediaType media_type,
104101 GObject *where_the_object_was);
105102 static void _remove_participant (gpointer user_data,
106103 GObject *where_the_object_was);
107
108 static void
109 fs_msn_conference_do_init (GType type)
110 {
111 GST_DEBUG_CATEGORY_INIT (fsmsnconference_debug, "fsmsnconference", 0,
112 "Farstream MSN Conference Element");
113 }
114104
115105 static void
116106 fs_msn_conference_dispose (GObject * object)
135125
136126 g_clear_error (&self->missing_element_error);
137127
138 G_OBJECT_CLASS (parent_class)->dispose (object);
128 G_OBJECT_CLASS (fs_msn_conference_parent_class)->dispose (object);
139129 }
140130
141131 static void
142132 fs_msn_conference_class_init (FsMsnConferenceClass * klass)
143133 {
144134 GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
135 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
145136 FsConferenceClass *baseconf_class = FS_CONFERENCE_CLASS (klass);
146137
147138 g_type_class_add_private (klass, sizeof (FsMsnConferencePrivate));
139
140 GST_DEBUG_CATEGORY_INIT (fsmsnconference_debug, "fsmsnconference", 0,
141 "Farstream MSN Conference Element");
142
143 gst_element_class_add_pad_template (gstelement_class,
144 gst_static_pad_template_get (&fs_msn_conference_sink_template));
145 gst_element_class_add_pad_template (gstelement_class,
146 gst_static_pad_template_get (&fs_msn_conference_src_template));
148147
149148 baseconf_class->new_session =
150149 GST_DEBUG_FUNCPTR (fs_msn_conference_new_session);
154153 gobject_class->dispose = GST_DEBUG_FUNCPTR (fs_msn_conference_dispose);
155154 }
156155
157 static void
158 fs_msn_conference_base_init (gpointer g_class)
159 {
160 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class);
161
162 gst_element_class_add_pad_template (gstelement_class,
163 gst_static_pad_template_get (&fs_msn_conference_sink_template));
164 gst_element_class_add_pad_template (gstelement_class,
165 gst_static_pad_template_get (&fs_msn_conference_src_template));
166 }
167
168 static void
169 fs_msn_conference_init (FsMsnConference *conf,
170 FsMsnConferenceClass *bclass)
156
157 static void
158 fs_msn_conference_init (FsMsnConference *conf)
171159 {
172160 GST_DEBUG_OBJECT (conf, "fs_msn_conference_init");
173161
294282 GST_RANK_NONE, FS_TYPE_MSN_CAM_RECV_CONFERENCE);
295283 }
296284
285
286
287 #ifdef BUILD_GTK_DOC
288 void
289 fs_msn_plugin_init_real (void)
290 {
291 gst_plugin_register_static (
292 #else
297293 GST_PLUGIN_DEFINE (
294 #endif
298295 GST_VERSION_MAJOR,
299296 GST_VERSION_MINOR,
300 "fsmsnconference",
297 fsmsnconference,
301298 "Farstream MSN Conference plugin",
302299 plugin_init,
303300 VERSION,
304301 "LGPL",
305302 "Farstream",
306 "http://farstream.freedesktop.org/"
303 "http://www.freedesktop.org/wiki/Software/Farstream"
304 #ifdef BUILD_GTK_DOC
305 );
306 }
307 #else
307308 )
309 #endif
310
717717 {
718718 gboolean success = FALSE;
719719
720 GST_DEBUG ("handler called on fd %d. %d %d %d %d", pollfd->pollfd.fd,
720 GST_DEBUG ("handler called on fd:%d server: %d status:%d r:%d w:%d",
721 pollfd->pollfd.fd,
721722 pollfd->server, pollfd->status,
722723 gst_poll_fd_can_read (self->poll, &pollfd->pollfd),
723724 gst_poll_fd_can_write (self->poll, &pollfd->pollfd));
725726 if (gst_poll_fd_has_error (self->poll, &pollfd->pollfd) ||
726727 gst_poll_fd_has_closed (self->poll, &pollfd->pollfd))
727728 {
728 GST_WARNING ("connecton closed or error");
729 GST_WARNING ("connecton closed or error (error: %d closed: %d)",
730 gst_poll_fd_has_error (self->poll, &pollfd->pollfd),
731 gst_poll_fd_has_closed (self->poll, &pollfd->pollfd));
729732 goto error;
730733 }
731734
5656 #include <unistd.h>
5757
5858 #include <gst/gst.h>
59
60 #include <gst/base/gstbasesrc.h>
61
5962
6063 #include "fs-msn-connection.h"
6164
530533 "fdsrc name=fdsrc do-timestamp=true ! mimdec ! valve name=recv_valve", TRUE, &error);
531534 else
532535 codecbin = gst_parse_bin_from_description (
533 "ffmpegcolorspace ! videoscale ! mimenc name=enc !"
536 "videoconvert ! videoscale ! mimenc name=enc !"
534537 " fdsink name=fdsink sync=false async=false",
535538 TRUE, &error);
536539
554557 }
555558
556559 if (self->priv->conference->max_direction == FS_DIRECTION_RECV)
560 {
557561 fdelem = gst_bin_get_by_name (GST_BIN (codecbin), "fdsrc");
562 gst_base_src_set_format (GST_BASE_SRC (fdelem), GST_FORMAT_TIME);
563 }
558564 else
565 {
559566 fdelem = gst_bin_get_by_name (GST_BIN (codecbin), "fdsink");
567 }
560568
561569 if (!fdelem)
562570 {
3030 libfsrawconference_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
3131 libfsrawconference_la_LIBADD = \
3232 libfsrawconference-convenience.la \
33 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
33 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
3434 $(FS_LIBS) \
3535 $(GST_BASE_LIBS) \
3636 $(GST_LIBS)
3737
38 preferencesdir = $(datadir)/$(PACKAGE_TARNAME)/$(FS_MAJORMINOR)/fsrawconference
38 preferencesdir = $(datadir)/$(PACKAGE_TARNAME)/$(FS_APIVERSION)/fsrawconference
3939 preferences_DATA = \
4040 default-element-properties
4141
4646 if ENABLE_GTK_DOC
4747 noinst_LTLIBRARIES += libfsrawconference_doc.la
4848
49 nodist_libfsrawconference_doc_la_CFLAGS = -DBUILD_GTK_DOC
50
4951 nodist_libfsrawconference_doc_la_SOURCES = \
50 fs-raw-conference-plugin.doc.c \
5152 $(libfsrawconference_la_SOURCES)
5253
5354 libfsrawconference_doc_la_LIBADD = $(libfsrawconference_la_LIBADD)
54
55 %.doc.c: %.c
56 $(AM_V_GEN)sed -e 's:GST_PLUGIN_DEFINE:GST_PLUGIN_DEFINE_STATIC:' $< > $@
57
58 BUILT_SOURCES = fs-raw-conference-plugin.doc.c
5955
6056 CLEANFILES = $(BUILT_SOURCES)
6157
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3535 POST_UNINSTALL = :
3636 build_triplet = @build@
3737 host_triplet = @host@
38 target_triplet = @target@
3839
3940 # Optionally build a library to allow building the gtk-doc
4041 @ENABLE_GTK_DOC_TRUE@am__append_1 = libfsrawconference_doc.la
4647 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4748 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4849 $(top_srcdir)/common/m4/as-libtool.m4 \
50 $(top_srcdir)/common/m4/as-python.m4 \
4951 $(top_srcdir)/common/m4/as-scrub-include.m4 \
5052 $(top_srcdir)/common/m4/as-version.m4 \
5153 $(top_srcdir)/common/m4/gst-arch.m4 \
5860 $(top_srcdir)/common/m4/gst.m4 \
5961 $(top_srcdir)/common/m4/gtk-doc.m4 \
6062 $(top_srcdir)/common/m4/pkg.m4 \
61 $(top_srcdir)/m4/as-check-python-headers.m4 \
6263 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
6364 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
6465 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
9091 am__base_list = \
9192 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
9293 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
94 am__uninstall_files_from_dir = { \
95 test -z "$$files" \
96 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
97 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
98 $(am__cd) "$$dir" && rm -f $$files; }; \
99 }
93100 am__installdirs = "$(DESTDIR)$(plugindir)" \
94101 "$(DESTDIR)$(preferencesdir)"
95102 LTLIBRARIES = $(noinst_LTLIBRARIES) $(plugin_LTLIBRARIES)
98105 fs-raw-session.lo fs-raw-stream.lo fs-raw-participant.lo
99106 libfsrawconference_convenience_la_OBJECTS = \
100107 $(am_libfsrawconference_convenience_la_OBJECTS)
101 AM_V_lt = $(am__v_lt_$(V))
102 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
108 AM_V_lt = $(am__v_lt_@AM_V@)
109 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
103110 am__v_lt_0 = --silent
104111 am__DEPENDENCIES_1 =
105112 libfsrawconference_la_DEPENDENCIES = \
106113 libfsrawconference-convenience.la \
107 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
114 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
108115 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
109116 $(am__DEPENDENCIES_1)
110117 am_libfsrawconference_la_OBJECTS = fs-raw-conference-plugin.lo
114121 $(AM_CFLAGS) $(CFLAGS) $(libfsrawconference_la_LDFLAGS) \
115122 $(LDFLAGS) -o $@
116123 am__DEPENDENCIES_2 = libfsrawconference-convenience.la \
117 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
124 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
118125 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
119126 $(am__DEPENDENCIES_1)
120127 @ENABLE_GTK_DOC_TRUE@libfsrawconference_doc_la_DEPENDENCIES = \
121128 @ENABLE_GTK_DOC_TRUE@ $(am__DEPENDENCIES_2)
122129 am__objects_1 = fs-raw-conference-plugin.lo
123130 @ENABLE_GTK_DOC_TRUE@nodist_libfsrawconference_doc_la_OBJECTS = \
124 @ENABLE_GTK_DOC_TRUE@ fs-raw-conference-plugin.doc.lo \
125131 @ENABLE_GTK_DOC_TRUE@ $(am__objects_1)
126132 libfsrawconference_doc_la_OBJECTS = \
127133 $(nodist_libfsrawconference_doc_la_OBJECTS)
136142 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
137143 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
138144 $(AM_CFLAGS) $(CFLAGS)
139 AM_V_CC = $(am__v_CC_$(V))
140 am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
145 AM_V_CC = $(am__v_CC_@AM_V@)
146 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
141147 am__v_CC_0 = @echo " CC " $@;
142 AM_V_at = $(am__v_at_$(V))
143 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
148 AM_V_at = $(am__v_at_@AM_V@)
149 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
144150 am__v_at_0 = @
145151 CCLD = $(CC)
146152 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
147153 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
148154 $(AM_LDFLAGS) $(LDFLAGS) -o $@
149 AM_V_CCLD = $(am__v_CCLD_$(V))
150 am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
155 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
156 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
151157 am__v_CCLD_0 = @echo " CCLD " $@;
152 AM_V_GEN = $(am__v_GEN_$(V))
153 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
158 AM_V_GEN = $(am__v_GEN_@AM_V@)
159 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
154160 am__v_GEN_0 = @echo " GEN " $@;
155161 SOURCES = $(libfsrawconference_convenience_la_SOURCES) \
156162 $(libfsrawconference_la_SOURCES) \
167173 AMTAR = @AMTAR@
168174 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
169175 AR = @AR@
176 AS = @AS@
170177 AUTOCONF = @AUTOCONF@
171178 AUTOHEADER = @AUTOHEADER@
172179 AUTOMAKE = @AUTOMAKE@
194201 FGREP = @FGREP@
195202 FS_AGE = @FS_AGE@
196203 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
204 FS_APIVERSION = @FS_APIVERSION@
205 FS_API_VERSION = @FS_API_VERSION@
197206 FS_CFLAGS = @FS_CFLAGS@
198207 FS_CURRENT = @FS_CURRENT@
199208 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
202211 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
203212 FS_LICENSE = @FS_LICENSE@
204213 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
205 FS_MAJORMINOR = @FS_MAJORMINOR@
206 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
207214 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
208215 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
209216 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
216223 GCOV = @GCOV@
217224 GCOV_CFLAGS = @GCOV_CFLAGS@
218225 GCOV_LIBS = @GCOV_LIBS@
226 GIO_CFLAGS = @GIO_CFLAGS@
227 GIO_LDFLAGS = @GIO_LDFLAGS@
228 GIO_LIBS = @GIO_LIBS@
219229 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
220230 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
221231 GLIB_CFLAGS = @GLIB_CFLAGS@
225235 GLIB_REQ = @GLIB_REQ@
226236 GREP = @GREP@
227237 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
238 GST_API_VERSION = @GST_API_VERSION@
228239 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
229240 GST_BASE_LIBS = @GST_BASE_LIBS@
230241 GST_CFLAGS = @GST_CFLAGS@
233244 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
234245 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
235246 GST_LIBS = @GST_LIBS@
236 GST_MAJORMINOR = @GST_MAJORMINOR@
237247 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
238248 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
239249 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
243253 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
244254 GST_TOOLS_DIR = @GST_TOOLS_DIR@
245255 GTKDOC_CHECK = @GTKDOC_CHECK@
256 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
257 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
258 GTKDOC_MKPDF = @GTKDOC_MKPDF@
259 GTKDOC_REBASE = @GTKDOC_REBASE@
246260 GUPNP_CFLAGS = @GUPNP_CFLAGS@
247261 GUPNP_LIBS = @GUPNP_LIBS@
248262 HTML_DIR = @HTML_DIR@
294308 PKG_CONFIG = @PKG_CONFIG@
295309 PLUGINDIR = @PLUGINDIR@
296310 PROFILE_CFLAGS = @PROFILE_CFLAGS@
297 PYCODEGEN = @PYCODEGEN@
298 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
299 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
300 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
301 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
302311 PYTHON = @PYTHON@
303312 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
304 PYTHON_INCLUDES = @PYTHON_INCLUDES@
305313 PYTHON_PLATFORM = @PYTHON_PLATFORM@
306314 PYTHON_PREFIX = @PYTHON_PREFIX@
307315 PYTHON_VERSION = @PYTHON_VERSION@
368376 sharedstatedir = @sharedstatedir@
369377 srcdir = @srcdir@
370378 sysconfdir = @sysconfdir@
379 target = @target@
371380 target_alias = @target_alias@
381 target_cpu = @target_cpu@
382 target_os = @target_os@
383 target_vendor = @target_vendor@
372384 top_build_prefix = @top_build_prefix@
373385 top_builddir = @top_builddir@
374386 top_srcdir = @top_srcdir@
400412 libfsrawconference_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
401413 libfsrawconference_la_LIBADD = \
402414 libfsrawconference-convenience.la \
403 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
415 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
404416 $(FS_LIBS) \
405417 $(GST_BASE_LIBS) \
406418 $(GST_LIBS)
407419
408 preferencesdir = $(datadir)/$(PACKAGE_TARNAME)/$(FS_MAJORMINOR)/fsrawconference
420 preferencesdir = $(datadir)/$(PACKAGE_TARNAME)/$(FS_APIVERSION)/fsrawconference
409421 preferences_DATA = \
410422 default-element-properties
411423
412424 EXTRA_DIST = $(preferences_DATA)
425 @ENABLE_GTK_DOC_TRUE@nodist_libfsrawconference_doc_la_CFLAGS = -DBUILD_GTK_DOC
413426 @ENABLE_GTK_DOC_TRUE@nodist_libfsrawconference_doc_la_SOURCES = \
414 @ENABLE_GTK_DOC_TRUE@ fs-raw-conference-plugin.doc.c \
415427 @ENABLE_GTK_DOC_TRUE@ $(libfsrawconference_la_SOURCES)
416428
417429 @ENABLE_GTK_DOC_TRUE@libfsrawconference_doc_la_LIBADD = $(libfsrawconference_la_LIBADD)
418 @ENABLE_GTK_DOC_TRUE@BUILT_SOURCES = fs-raw-conference-plugin.doc.c
419430 @ENABLE_GTK_DOC_TRUE@CLEANFILES = $(BUILT_SOURCES)
420 all: $(BUILT_SOURCES)
421 $(MAKE) $(AM_MAKEFLAGS) all-am
431 all: all-am
422432
423433 .SUFFIXES:
424434 .SUFFIXES: .c .lo .o .obj
492502 echo "rm -f \"$${dir}/so_locations\""; \
493503 rm -f "$${dir}/so_locations"; \
494504 done
495 libfsrawconference-convenience.la: $(libfsrawconference_convenience_la_OBJECTS) $(libfsrawconference_convenience_la_DEPENDENCIES)
505 libfsrawconference-convenience.la: $(libfsrawconference_convenience_la_OBJECTS) $(libfsrawconference_convenience_la_DEPENDENCIES) $(EXTRA_libfsrawconference_convenience_la_DEPENDENCIES)
496506 $(AM_V_CCLD)$(LINK) $(libfsrawconference_convenience_la_OBJECTS) $(libfsrawconference_convenience_la_LIBADD) $(LIBS)
497 libfsrawconference.la: $(libfsrawconference_la_OBJECTS) $(libfsrawconference_la_DEPENDENCIES)
507 libfsrawconference.la: $(libfsrawconference_la_OBJECTS) $(libfsrawconference_la_DEPENDENCIES) $(EXTRA_libfsrawconference_la_DEPENDENCIES)
498508 $(AM_V_CCLD)$(libfsrawconference_la_LINK) -rpath $(plugindir) $(libfsrawconference_la_OBJECTS) $(libfsrawconference_la_LIBADD) $(LIBS)
499 libfsrawconference_doc.la: $(libfsrawconference_doc_la_OBJECTS) $(libfsrawconference_doc_la_DEPENDENCIES)
509 libfsrawconference_doc.la: $(libfsrawconference_doc_la_OBJECTS) $(libfsrawconference_doc_la_DEPENDENCIES) $(EXTRA_libfsrawconference_doc_la_DEPENDENCIES)
500510 $(AM_V_CCLD)$(LINK) $(am_libfsrawconference_doc_la_rpath) $(libfsrawconference_doc_la_OBJECTS) $(libfsrawconference_doc_la_LIBADD) $(LIBS)
501511
502512 mostlyclean-compile:
506516 -rm -f *.tab.c
507517
508518 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-raw-conference-plugin.Plo@am__quote@
509 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-raw-conference-plugin.doc.Plo@am__quote@
510519 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-raw-conference.Plo@am__quote@
511520 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-raw-participant.Plo@am__quote@
512521 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-raw-session.Plo@am__quote@
515524 .c.o:
516525 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
517526 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
518 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
519 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
527 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
520528 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
521 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
529 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
522530
523531 .c.obj:
524532 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
525533 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
526 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
527 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
534 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
528535 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
529 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
536 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
530537
531538 .c.lo:
532539 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
533540 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
534 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
535 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
541 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
536542 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
537 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
543 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
538544
539545 mostlyclean-libtool:
540546 -rm -f *.lo
558564 @$(NORMAL_UNINSTALL)
559565 @list='$(preferences_DATA)'; test -n "$(preferencesdir)" || list=; \
560566 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
561 test -n "$$files" || exit 0; \
562 echo " ( cd '$(DESTDIR)$(preferencesdir)' && rm -f" $$files ")"; \
563 cd "$(DESTDIR)$(preferencesdir)" && rm -f $$files
567 dir='$(DESTDIR)$(preferencesdir)'; $(am__uninstall_files_from_dir)
564568
565569 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
566570 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
645649 fi; \
646650 done
647651 check-am: all-am
648 check: $(BUILT_SOURCES)
649 $(MAKE) $(AM_MAKEFLAGS) check-am
652 check: check-am
650653 all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS)
651654 installdirs:
652655 for dir in "$(DESTDIR)$(plugindir)" "$(DESTDIR)$(preferencesdir)"; do \
653656 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
654657 done
655 install: $(BUILT_SOURCES)
656 $(MAKE) $(AM_MAKEFLAGS) install-am
658 install: install-am
657659 install-exec: install-exec-am
658660 install-data: install-data-am
659661 uninstall: uninstall-am
663665
664666 installcheck: installcheck-am
665667 install-strip:
666 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
667 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
668 `test -z '$(STRIP)' || \
669 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
668 if test -z '$(STRIP)'; then \
669 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
670 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
671 install; \
672 else \
673 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
674 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
675 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
676 fi
670677 mostlyclean-generic:
671678
672679 clean-generic:
679686 maintainer-clean-generic:
680687 @echo "This command is intended for maintainers to use"
681688 @echo "it deletes files that may require special tools to rebuild."
682 -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
683689 clean: clean-am
684690
685691 clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
751757
752758 uninstall-am: uninstall-pluginLTLIBRARIES uninstall-preferencesDATA
753759
754 .MAKE: all check install install-am install-strip
760 .MAKE: install-am install-strip
755761
756762 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
757763 clean-libtool clean-noinstLTLIBRARIES clean-pluginLTLIBRARIES \
770776 uninstall-preferencesDATA
771777
772778
773 @ENABLE_GTK_DOC_TRUE@%.doc.c: %.c
774 @ENABLE_GTK_DOC_TRUE@ $(AM_V_GEN)sed -e 's:GST_PLUGIN_DEFINE:GST_PLUGIN_DEFINE_STATIC:' $< > $@
775
776779 # Tell versions [3.59,3.63) of GNU make to not export all variables.
777780 # Otherwise a system limit (for SysV at least) may be exceeded.
778781 .NOEXPORT:
3737 GST_RANK_NONE, FS_TYPE_RAW_CONFERENCE);
3838 }
3939
40 #ifdef BUILD_GTK_DOC
41 void
42 fs_raw_plugin_init_real (void)
43 {
44 gst_plugin_register_static (
45 #else
4046 GST_PLUGIN_DEFINE (
47 #endif
4148 GST_VERSION_MAJOR,
4249 GST_VERSION_MINOR,
43 "fsrawconference",
50 fsrawconference,
4451 "Farstream Raw Conference plugin",
4552 plugin_init,
4653 VERSION,
4754 "LGPL",
4855 "Farstream",
49 "http://farstream.freedesktop.org/"
56 "http://www.freedesktop.org/wiki/Software/Farstream"
57 #ifdef BUILD_GTK_DOC
58 );
59 }
60 #else
5061 )
62 #endif
8888 GPtrArray *threads;
8989 };
9090
91 static void fs_raw_conference_do_init (GType type);
92
93
94 GST_BOILERPLATE_FULL (FsRawConference, fs_raw_conference, FsConference,
95 FS_TYPE_CONFERENCE, fs_raw_conference_do_init);
91 G_DEFINE_TYPE (FsRawConference, fs_raw_conference, FS_TYPE_CONFERENCE);
9692
9793 static FsSession *fs_raw_conference_new_session (FsConference *conf,
9894 FsMediaType media_type,
110106 static void fs_raw_conference_handle_message (
111107 GstBin * bin,
112108 GstMessage * message);
113
114
115 static void
116 fs_raw_conference_do_init (GType type)
117 {
118 GST_DEBUG_CATEGORY_INIT (fsrawconference_debug, "fsrawconference", 0,
119 "Farstream Raw Conference Element");
120 }
121109
122110 static void
123111 fs_raw_conference_dispose (GObject * object)
137125
138126 self->priv->disposed = TRUE;
139127
140 G_OBJECT_CLASS (parent_class)->dispose (object);
128 G_OBJECT_CLASS (fs_raw_conference_parent_class)->dispose (object);
141129 }
142130
143131 static void
147135
148136 g_ptr_array_free (self->priv->threads, TRUE);
149137
150 G_OBJECT_CLASS (parent_class)->finalize (object);
138 G_OBJECT_CLASS (fs_raw_conference_parent_class)->finalize (object);
151139 }
152140
153141 static void
154142 fs_raw_conference_class_init (FsRawConferenceClass * klass)
155143 {
156144 GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
145 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
157146 FsConferenceClass *baseconf_class = FS_CONFERENCE_CLASS (klass);
158147 GstBinClass *gstbin_class = GST_BIN_CLASS (klass);
159148
160149 g_type_class_add_private (klass, sizeof (FsRawConferencePrivate));
150
151 GST_DEBUG_CATEGORY_INIT (fsrawconference_debug, "fsrawconference", 0,
152 "Farstream Raw Conference Element");
153
154 gst_element_class_add_pad_template (gstelement_class,
155 gst_static_pad_template_get (&fs_raw_conference_sink_template));
156 gst_element_class_add_pad_template (gstelement_class,
157 gst_static_pad_template_get (&fs_raw_conference_src_template));
161158
162159 baseconf_class->new_session =
163160 GST_DEBUG_FUNCPTR (fs_raw_conference_new_session);
171168 gobject_class->dispose = GST_DEBUG_FUNCPTR (fs_raw_conference_dispose);
172169 }
173170
174 static void
175 fs_raw_conference_base_init (gpointer g_class)
176 {
177 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class);
178
179 gst_element_class_add_pad_template (gstelement_class,
180 gst_static_pad_template_get (&fs_raw_conference_sink_template));
181 gst_element_class_add_pad_template (gstelement_class,
182 gst_static_pad_template_get (&fs_raw_conference_src_template));
183 }
184
185 static void
186 fs_raw_conference_init (FsRawConference *conf,
187 FsRawConferenceClass *bclass)
171
172 static void
173 fs_raw_conference_init (FsRawConference *conf)
188174 {
189175 GST_DEBUG_OBJECT (conf, "fs_raw_conference_init");
190176
349335 }
350336
351337 /* forward all messages to the parent */
352 GST_BIN_CLASS (parent_class)->handle_message (bin, message);
338 GST_BIN_CLASS (fs_raw_conference_parent_class)->handle_message (bin,
339 message);
353340 }
354341
355342 /**
609609 }
610610
611611 self->priv->send_tee_pad = gst_element_get_request_pad (self->priv->send_tee,
612 "src%d");
612 "src_%u");
613613
614614 if (self->priv->send_tee_pad == NULL)
615615 {
662662 return;
663663 }
664664
665 if (!gst_element_link_pads (self->priv->send_tee, "src%d",
665 if (!gst_element_link_pads (self->priv->send_tee, "src_%u",
666666 self->priv->fakesink, "sink"))
667667 {
668668 self->priv->construction_error = g_error_new (FS_ERROR,
769769 "audioconvert ! audioresample ! audioconvert", TRUE, NULL,
770770 GST_PARSE_FLAG_NONE, error);
771771 else if (mtype == FS_MEDIA_TYPE_VIDEO)
772 return gst_parse_bin_from_description_full ("ffmpegcolorspace ! videoscale",
772 return gst_parse_bin_from_description_full ("videoconvert ! videoscale",
773773 TRUE, NULL, GST_PARSE_FLAG_NONE, error);
774774
775775 g_set_error (error, FS_ERROR, FS_ERROR_NOT_IMPLEMENTED,
948948 if (self->priv->transmitter_recv_probe_id)
949949 {
950950 if (self->priv->transmitter_src_pad)
951 gst_pad_remove_data_probe (self->priv->transmitter_src_pad,
951 gst_pad_remove_probe (self->priv->transmitter_src_pad,
952952 self->priv->transmitter_recv_probe_id);
953953 self->priv->transmitter_recv_probe_id = 0;
954954 }
12381238 return transmitter_type;
12391239 }
12401240
1241 static gboolean
1242 _transmitter_pad_have_data_callback (GstPad *pad, GstBuffer *buffer,
1241 static GstPadProbeReturn
1242 _transmitter_pad_have_data_callback (GstPad *pad, GstPadProbeInfo *info,
12431243 gpointer user_data)
12441244 {
12451245 FsRawSession *self = FS_RAW_SESSION (user_data);
12521252 FsCodec *codec;
12531253
12541254 if (!conference)
1255 return FALSE;
1255 return GST_PAD_PROBE_REMOVE;
12561256
12571257 GST_OBJECT_LOCK (conference);
12581258 if (!self->priv->codecs ||
12611261 {
12621262 GST_OBJECT_UNLOCK (conference);
12631263 gst_object_unref (conference);
1264 return FALSE;
1264 return GST_PAD_PROBE_DROP;
12651265 }
12661266
12671267 recv_capsfilter = gst_object_ref (self->priv->recv_capsfilter);
1268 gst_pad_remove_data_probe (pad, self->priv->transmitter_recv_probe_id);
12691268 self->priv->transmitter_recv_probe_id = 0;
12701269 codec = fs_codec_copy (self->priv->codecs->data);
12711270 GST_OBJECT_UNLOCK (conference);
13131312 gst_object_unref (conference);
13141313 gst_object_unref (recv_capsfilter);
13151314
1316 return TRUE;
1315 return GST_PAD_PROBE_REMOVE;
13171316
13181317 error:
13191318 fs_codec_destroy (codec);
13201319 gst_object_unref (conference);
13211320 gst_object_unref (recv_capsfilter);
13221321
1323 return FALSE;
1322 return GST_PAD_PROBE_REMOVE;
13241323 }
13251324
13261325
14491448 goto error;
14501449 }
14511450
1452 if (!gst_element_link_pads (transmitter_src, "src1",
1451 if (!gst_element_link_pads (transmitter_src, "src_1",
14531452 valve, "sink"))
14541453 {
14551454 g_set_error (error, FS_ERROR, FS_ERROR_CONSTRUCTION,
14571456 goto error;
14581457 }
14591458
1460 transmitter_src_pad = gst_element_get_static_pad (transmitter_src, "src1");
1459 transmitter_src_pad = gst_element_get_static_pad (transmitter_src, "src_1");
14611460
14621461 GST_OBJECT_LOCK (conference);
14631462 self->priv->transmitter = fstransmitter;
14641463 self->priv->transmitter_src_pad = transmitter_src_pad;
14651464 GST_OBJECT_UNLOCK (conference);
14661465
1467 self->priv->transmitter_recv_probe_id = gst_pad_add_data_probe (
1468 self->priv->transmitter_src_pad,
1469 G_CALLBACK (_transmitter_pad_have_data_callback), self);
1466 self->priv->transmitter_recv_probe_id = gst_pad_add_probe (
1467 self->priv->transmitter_src_pad, GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM,
1468 _transmitter_pad_have_data_callback, g_object_ref (self),
1469 g_object_unref);
14701470
14711471 if (!gst_element_sync_state_with_parent (transmitter_src))
14721472 {
1111 libfsrtcpfilter_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
1212 libfsrtcpfilter_la_LIBADD = \
1313 $(FS_LIBS) \
14 -lgstrtp-@GST_MAJORMINOR@ \
14 -lgstrtp-@GST_API_VERSION@ \
1515 $(GST_BASE_LIBS) \
1616 $(GST_PLUGINS_BASE_LIBS) \
1717 $(GST_LIBS)
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3434 POST_UNINSTALL = :
3535 build_triplet = @build@
3636 host_triplet = @host@
37 target_triplet = @target@
3738 subdir = gst/fsrtcpfilter
3839 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
3940 $(srcdir)/Makefile.in
4243 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4344 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4445 $(top_srcdir)/common/m4/as-libtool.m4 \
46 $(top_srcdir)/common/m4/as-python.m4 \
4547 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4648 $(top_srcdir)/common/m4/as-version.m4 \
4749 $(top_srcdir)/common/m4/gst-arch.m4 \
5456 $(top_srcdir)/common/m4/gst.m4 \
5557 $(top_srcdir)/common/m4/gtk-doc.m4 \
5658 $(top_srcdir)/common/m4/pkg.m4 \
57 $(top_srcdir)/m4/as-check-python-headers.m4 \
5859 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
5960 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
6061 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
8687 am__base_list = \
8788 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
8889 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
90 am__uninstall_files_from_dir = { \
91 test -z "$$files" \
92 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
93 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
94 $(am__cd) "$$dir" && rm -f $$files; }; \
95 }
8996 am__installdirs = "$(DESTDIR)$(plugindir)"
9097 LTLIBRARIES = $(plugin_LTLIBRARIES)
9198 am__DEPENDENCIES_1 =
94101 $(am__DEPENDENCIES_1)
95102 am_libfsrtcpfilter_la_OBJECTS = libfsrtcpfilter_la-fs-rtcp-filter.lo
96103 libfsrtcpfilter_la_OBJECTS = $(am_libfsrtcpfilter_la_OBJECTS)
97 AM_V_lt = $(am__v_lt_$(V))
98 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
104 AM_V_lt = $(am__v_lt_@AM_V@)
105 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
99106 am__v_lt_0 = --silent
100107 libfsrtcpfilter_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
101108 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
111118 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
112119 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
113120 $(AM_CFLAGS) $(CFLAGS)
114 AM_V_CC = $(am__v_CC_$(V))
115 am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
121 AM_V_CC = $(am__v_CC_@AM_V@)
122 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
116123 am__v_CC_0 = @echo " CC " $@;
117 AM_V_at = $(am__v_at_$(V))
118 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
124 AM_V_at = $(am__v_at_@AM_V@)
125 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
119126 am__v_at_0 = @
120127 CCLD = $(CC)
121128 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
122129 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
123130 $(AM_LDFLAGS) $(LDFLAGS) -o $@
124 AM_V_CCLD = $(am__v_CCLD_$(V))
125 am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
131 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
132 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
126133 am__v_CCLD_0 = @echo " CCLD " $@;
127 AM_V_GEN = $(am__v_GEN_$(V))
128 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
134 AM_V_GEN = $(am__v_GEN_@AM_V@)
135 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
129136 am__v_GEN_0 = @echo " GEN " $@;
130137 SOURCES = $(libfsrtcpfilter_la_SOURCES)
131138 DIST_SOURCES = $(libfsrtcpfilter_la_SOURCES)
138145 AMTAR = @AMTAR@
139146 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
140147 AR = @AR@
148 AS = @AS@
141149 AUTOCONF = @AUTOCONF@
142150 AUTOHEADER = @AUTOHEADER@
143151 AUTOMAKE = @AUTOMAKE@
165173 FGREP = @FGREP@
166174 FS_AGE = @FS_AGE@
167175 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
176 FS_APIVERSION = @FS_APIVERSION@
177 FS_API_VERSION = @FS_API_VERSION@
168178 FS_CFLAGS = @FS_CFLAGS@
169179 FS_CURRENT = @FS_CURRENT@
170180 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
173183 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
174184 FS_LICENSE = @FS_LICENSE@
175185 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
176 FS_MAJORMINOR = @FS_MAJORMINOR@
177 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
178186 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
179187 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
180188 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
187195 GCOV = @GCOV@
188196 GCOV_CFLAGS = @GCOV_CFLAGS@
189197 GCOV_LIBS = @GCOV_LIBS@
198 GIO_CFLAGS = @GIO_CFLAGS@
199 GIO_LDFLAGS = @GIO_LDFLAGS@
200 GIO_LIBS = @GIO_LIBS@
190201 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
191202 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
192203 GLIB_CFLAGS = @GLIB_CFLAGS@
196207 GLIB_REQ = @GLIB_REQ@
197208 GREP = @GREP@
198209 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
210 GST_API_VERSION = @GST_API_VERSION@
199211 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
200212 GST_BASE_LIBS = @GST_BASE_LIBS@
201213 GST_CFLAGS = @GST_CFLAGS@
204216 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
205217 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
206218 GST_LIBS = @GST_LIBS@
207 GST_MAJORMINOR = @GST_MAJORMINOR@
208219 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
209220 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
210221 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
214225 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
215226 GST_TOOLS_DIR = @GST_TOOLS_DIR@
216227 GTKDOC_CHECK = @GTKDOC_CHECK@
228 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
229 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
230 GTKDOC_MKPDF = @GTKDOC_MKPDF@
231 GTKDOC_REBASE = @GTKDOC_REBASE@
217232 GUPNP_CFLAGS = @GUPNP_CFLAGS@
218233 GUPNP_LIBS = @GUPNP_LIBS@
219234 HTML_DIR = @HTML_DIR@
265280 PKG_CONFIG = @PKG_CONFIG@
266281 PLUGINDIR = @PLUGINDIR@
267282 PROFILE_CFLAGS = @PROFILE_CFLAGS@
268 PYCODEGEN = @PYCODEGEN@
269 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
270 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
271 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
272 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
273283 PYTHON = @PYTHON@
274284 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
275 PYTHON_INCLUDES = @PYTHON_INCLUDES@
276285 PYTHON_PLATFORM = @PYTHON_PLATFORM@
277286 PYTHON_PREFIX = @PYTHON_PREFIX@
278287 PYTHON_VERSION = @PYTHON_VERSION@
339348 sharedstatedir = @sharedstatedir@
340349 srcdir = @srcdir@
341350 sysconfdir = @sysconfdir@
351 target = @target@
342352 target_alias = @target_alias@
353 target_cpu = @target_cpu@
354 target_os = @target_os@
355 target_vendor = @target_vendor@
343356 top_build_prefix = @top_build_prefix@
344357 top_builddir = @top_builddir@
345358 top_srcdir = @top_srcdir@
355368 libfsrtcpfilter_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
356369 libfsrtcpfilter_la_LIBADD = \
357370 $(FS_LIBS) \
358 -lgstrtp-@GST_MAJORMINOR@ \
371 -lgstrtp-@GST_API_VERSION@ \
359372 $(GST_BASE_LIBS) \
360373 $(GST_PLUGINS_BASE_LIBS) \
361374 $(GST_LIBS)
425438 echo "rm -f \"$${dir}/so_locations\""; \
426439 rm -f "$${dir}/so_locations"; \
427440 done
428 libfsrtcpfilter.la: $(libfsrtcpfilter_la_OBJECTS) $(libfsrtcpfilter_la_DEPENDENCIES)
441 libfsrtcpfilter.la: $(libfsrtcpfilter_la_OBJECTS) $(libfsrtcpfilter_la_DEPENDENCIES) $(EXTRA_libfsrtcpfilter_la_DEPENDENCIES)
429442 $(AM_V_CCLD)$(libfsrtcpfilter_la_LINK) -rpath $(plugindir) $(libfsrtcpfilter_la_OBJECTS) $(libfsrtcpfilter_la_LIBADD) $(LIBS)
430443
431444 mostlyclean-compile:
439452 .c.o:
440453 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
441454 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
442 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
443 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
455 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
444456 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
445 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
457 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
446458
447459 .c.obj:
448460 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
449461 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
450 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
451 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
462 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
452463 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
453 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
464 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
454465
455466 .c.lo:
456467 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
457468 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
458 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
459 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
469 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
460470 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
461 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
471 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
462472
463473 libfsrtcpfilter_la-fs-rtcp-filter.lo: fs-rtcp-filter.c
464474 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfsrtcpfilter_la_CFLAGS) $(CFLAGS) -MT libfsrtcpfilter_la-fs-rtcp-filter.lo -MD -MP -MF $(DEPDIR)/libfsrtcpfilter_la-fs-rtcp-filter.Tpo -c -o libfsrtcpfilter_la-fs-rtcp-filter.lo `test -f 'fs-rtcp-filter.c' || echo '$(srcdir)/'`fs-rtcp-filter.c
465475 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfsrtcpfilter_la-fs-rtcp-filter.Tpo $(DEPDIR)/libfsrtcpfilter_la-fs-rtcp-filter.Plo
466 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
467 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-rtcp-filter.c' object='libfsrtcpfilter_la-fs-rtcp-filter.lo' libtool=yes @AMDEPBACKSLASH@
476 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-rtcp-filter.c' object='libfsrtcpfilter_la-fs-rtcp-filter.lo' libtool=yes @AMDEPBACKSLASH@
468477 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
469 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfsrtcpfilter_la_CFLAGS) $(CFLAGS) -c -o libfsrtcpfilter_la-fs-rtcp-filter.lo `test -f 'fs-rtcp-filter.c' || echo '$(srcdir)/'`fs-rtcp-filter.c
478 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfsrtcpfilter_la_CFLAGS) $(CFLAGS) -c -o libfsrtcpfilter_la-fs-rtcp-filter.lo `test -f 'fs-rtcp-filter.c' || echo '$(srcdir)/'`fs-rtcp-filter.c
470479
471480 mostlyclean-libtool:
472481 -rm -f *.lo
573582
574583 installcheck: installcheck-am
575584 install-strip:
576 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
577 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
578 `test -z '$(STRIP)' || \
579 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
585 if test -z '$(STRIP)'; then \
586 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
587 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
588 install; \
589 else \
590 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
591 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
592 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
593 fi
580594 mostlyclean-generic:
581595
582596 clean-generic:
00 /*
11 * Farstream Voice+Video library
22 *
3 * Copyright 2008 Collabora Ltd,
3 * Copyright 2008-2012 Collabora Ltd,
44 * Copyright 2008 Nokia Corporation
55 * @author: Olivier Crete <olivier.crete@collabora.co.uk>
66 *
4242 GST_DEBUG_CATEGORY (rtcp_filter_debug);
4343 #define GST_CAT_DEFAULT (rtcp_filter_debug)
4444
45 /* elementfactory information */
46 static const GstElementDetails fs_rtcp_filter_details =
47 GST_ELEMENT_DETAILS (
48 "RTCP Filter element",
49 "Filter",
50 "This element removes unneeded parts of rtcp buffers",
51 "Olivier Crete <olivier.crete@collabora.co.uk>");
52
53
5445 static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
5546 GST_PAD_SINK,
5647 GST_PAD_ALWAYS,
8677 static GstFlowReturn
8778 fs_rtcp_filter_transform_ip (GstBaseTransform *transform, GstBuffer *buf);
8879
89 static void
90 _do_init (GType type)
91 {
80 G_DEFINE_TYPE (FsRtcpFilter, fs_rtcp_filter, GST_TYPE_BASE_TRANSFORM);
81
82 static void
83 fs_rtcp_filter_class_init (FsRtcpFilterClass *klass)
84 {
85 GObjectClass *gobject_class;
86 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
87 GstBaseTransformClass *gstbasetransform_class;
88
89 gobject_class = (GObjectClass *) klass;
90 gstbasetransform_class = (GstBaseTransformClass *) klass;
91
9292 GST_DEBUG_CATEGORY_INIT
9393 (rtcp_filter_debug, "fsrtcpfilter", 0, "fsrtcpfilter");
94 }
95
96 GST_BOILERPLATE_FULL (FsRtcpFilter, fs_rtcp_filter, GstBaseTransform,
97 GST_TYPE_BASE_TRANSFORM, _do_init);
98
99 static void
100 fs_rtcp_filter_base_init (gpointer klass)
101 {
102 GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
103
104 gst_element_class_add_pad_template (element_class,
94
95 gst_element_class_add_pad_template (gstelement_class,
10596 gst_static_pad_template_get (&srctemplate));
106 gst_element_class_add_pad_template (element_class,
97 gst_element_class_add_pad_template (gstelement_class,
10798 gst_static_pad_template_get (&sinktemplate));
10899
109 gst_element_class_set_details (element_class, &fs_rtcp_filter_details);
110 }
111
112 static void
113 fs_rtcp_filter_class_init (FsRtcpFilterClass *klass)
114 {
115 GObjectClass *gobject_class;
116 GstBaseTransformClass *gstbasetransform_class;
117
118 gobject_class = (GObjectClass *) klass;
119 gstbasetransform_class = (GstBaseTransformClass *) klass;
120
121 gobject_class->set_property = GST_DEBUG_FUNCPTR (fs_rtcp_filter_set_property);
122 gobject_class->get_property = GST_DEBUG_FUNCPTR (fs_rtcp_filter_get_property);
100 gst_element_class_set_metadata (gstelement_class,
101 "RTCP Filter element",
102 "Filter",
103 "This element removes unneeded parts of rtcp buffers",
104 "Olivier Crete <olivier.crete@collabora.com>");
105
106 gobject_class->set_property = fs_rtcp_filter_set_property;
107 gobject_class->get_property = fs_rtcp_filter_get_property;
123108
124109 gstbasetransform_class->transform_ip = fs_rtcp_filter_transform_ip;
125110
133118 }
134119
135120 static void
136 fs_rtcp_filter_init (FsRtcpFilter *rtcpfilter,
137 FsRtcpFilterClass *klass)
121 fs_rtcp_filter_init (FsRtcpFilter *rtcpfilter)
138122 {
139123 rtcpfilter->sending = FALSE;
140124 }
195179
196180 if (!filter->sending)
197181 {
182 GstRTCPBuffer rtcpbuffer = GST_RTCP_BUFFER_INIT;
198183 GstRTCPPacket packet;
199 gboolean modified = FALSE;
200
201 if (gst_rtcp_buffer_get_first_packet (buf, &packet))
184
185 gst_rtcp_buffer_map (buf, GST_MAP_READWRITE, &rtcpbuffer);
186
187 if (gst_rtcp_buffer_get_first_packet (&rtcpbuffer, &packet))
202188 {
203189 for (;;)
204190 {
206192 {
207193 GstRTCPPacket nextpacket = packet;
208194
209 modified = TRUE;
210195 if (gst_rtcp_packet_move_to_next (&nextpacket) &&
211196 gst_rtcp_packet_get_type (&nextpacket) == GST_RTCP_TYPE_RR)
212197 {
215200 }
216201 else
217202 {
218 guchar *data = GST_BUFFER_DATA (buf) + packet.offset;
203 guchar *data = rtcpbuffer.map.data + packet.offset;
219204
220205 /* If there is no RR, lets add an empty one */
221206 data[0] = (GST_RTCP_VERSION << 6);
222207 data[1] = GST_RTCP_TYPE_RR;
223208 data[2] = 0;
224209 data[3] = 1;
225 memmove (GST_BUFFER_DATA (buf) + packet.offset + 8,
226 GST_BUFFER_DATA (buf) + nextpacket.offset,
227 GST_BUFFER_SIZE (buf) - nextpacket.offset);
228 GST_BUFFER_SIZE (buf) -= nextpacket.offset - packet.offset - 8;
229
230 if (!gst_rtcp_buffer_get_first_packet (buf, &packet))
210 memmove (rtcpbuffer.map.data + packet.offset + 8,
211 rtcpbuffer.map.data + nextpacket.offset,
212 rtcpbuffer.map.size - nextpacket.offset);
213
214 rtcpbuffer.map.size -= nextpacket.offset - packet.offset - 8 ;
215
216 if (!gst_rtcp_buffer_get_first_packet (&rtcpbuffer, &packet))
231217 break;
232218 }
233219
239225 }
240226 }
241227 }
242
243 if (modified)
244 gst_rtcp_buffer_end (buf);
228 gst_rtcp_buffer_unmap (&rtcpbuffer);
245229 }
246230
247231 GST_OBJECT_UNLOCK (filter);
258242
259243 GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
260244 GST_VERSION_MINOR,
261 "fsrtcpfilter",
245 fsrtcpfilter,
262246 "RtcpFilter",
263247 fs_rtcp_filter_plugin_init, VERSION, "LGPL", "Farstream",
264 "http://farstream.sf.net")
248 "http://www.freedesktop.org/wiki/Software/Farstream")
6161
6262 libfsrtpconference_la_LIBADD = \
6363 libfsrtpconference-convenience.la \
64 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
64 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
6565 $(FS_LIBS) \
6666 $(GST_PLUGINS_BASE_LIBS) \
6767 $(GST_LIBS) \
68 -lgstrtp-@GST_MAJORMINOR@ \
68 -lgstrtp-@GST_API_VERSION@ \
6969 -lm
7070
7171 libfsrtpconference_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
7272
73 preferencesdir = $(datadir)/$(PACKAGE_TARNAME)/$(FS_MAJORMINOR)/fsrtpconference
73 preferencesdir = $(datadir)/$(PACKAGE_TARNAME)/$(FS_APIVERSION)/fsrtpconference
7474 preferences_DATA = \
7575 default-codec-preferences \
7676 default-element-properties
8282 if ENABLE_GTK_DOC
8383 noinst_LTLIBRARIES += libfsrtpconference_doc.la
8484
85 nodist_libfsrtpconference_doc_la_CFLAGS = -DBUILD_GTK_DOC
86
8587 nodist_libfsrtpconference_doc_la_SOURCES = \
86 fs-rtp-conference-plugin.doc.c \
87 $(nodist_libfsrtpconference_la_SOURCES)
88 $(libfsrtpconference_la_SOURCES)
8889 libfsrtpconference_doc_la_LIBADD = $(libfsrtpconference_la_LIBADD)
8990
90 %.doc.c: %.c
91 $(AM_V_GEN)sed -e 's:GST_PLUGIN_DEFINE:GST_PLUGIN_DEFINE_STATIC:' $< > $@
92
93 BUILT_SOURCES += fs-rtp-conference-plugin.doc.c
9491 endif
9592
9693 # Build the build sources
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
4343 POST_UNINSTALL = :
4444 build_triplet = @build@
4545 host_triplet = @host@
46 target_triplet = @target@
4647
4748 # Optionally build a library to allow building the gtk-doc
4849 @ENABLE_GTK_DOC_TRUE@am__append_1 = libfsrtpconference_doc.la
49 @ENABLE_GTK_DOC_TRUE@am__append_2 = fs-rtp-conference-plugin.doc.c
5050 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
5151 $(srcdir)/Makefile.in $(top_srcdir)/common/gst-glib-gen.mak
5252 subdir = gst/fsrtpconference
5555 $(top_srcdir)/common/m4/as-auto-alt.m4 \
5656 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
5757 $(top_srcdir)/common/m4/as-libtool.m4 \
58 $(top_srcdir)/common/m4/as-python.m4 \
5859 $(top_srcdir)/common/m4/as-scrub-include.m4 \
5960 $(top_srcdir)/common/m4/as-version.m4 \
6061 $(top_srcdir)/common/m4/gst-arch.m4 \
6768 $(top_srcdir)/common/m4/gst.m4 \
6869 $(top_srcdir)/common/m4/gtk-doc.m4 \
6970 $(top_srcdir)/common/m4/pkg.m4 \
70 $(top_srcdir)/m4/as-check-python-headers.m4 \
7171 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
7272 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
7373 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
9999 am__base_list = \
100100 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
101101 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
102 am__uninstall_files_from_dir = { \
103 test -z "$$files" \
104 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
105 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
106 $(am__cd) "$$dir" && rm -f $$files; }; \
107 }
102108 am__installdirs = "$(DESTDIR)$(plugindir)" \
103109 "$(DESTDIR)$(preferencesdir)"
104110 LTLIBRARIES = $(noinst_LTLIBRARIES) $(plugin_LTLIBRARIES)
115121 libfsrtpconference_convenience_la_OBJECTS = \
116122 $(am_libfsrtpconference_convenience_la_OBJECTS) \
117123 $(nodist_libfsrtpconference_convenience_la_OBJECTS)
118 AM_V_lt = $(am__v_lt_$(V))
119 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
124 AM_V_lt = $(am__v_lt_@AM_V@)
125 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
120126 am__v_lt_0 = --silent
121127 am__DEPENDENCIES_1 =
122128 libfsrtpconference_la_DEPENDENCIES = \
123129 libfsrtpconference-convenience.la \
124 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
130 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
125131 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
126132 $(am__DEPENDENCIES_1)
127133 am_libfsrtpconference_la_OBJECTS = fs-rtp-conference-plugin.lo
131137 $(AM_CFLAGS) $(CFLAGS) $(libfsrtpconference_la_LDFLAGS) \
132138 $(LDFLAGS) -o $@
133139 am__DEPENDENCIES_2 = libfsrtpconference-convenience.la \
134 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
140 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
135141 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
136142 $(am__DEPENDENCIES_1)
137143 @ENABLE_GTK_DOC_TRUE@libfsrtpconference_doc_la_DEPENDENCIES = \
138144 @ENABLE_GTK_DOC_TRUE@ $(am__DEPENDENCIES_2)
145 am__objects_1 = fs-rtp-conference-plugin.lo
139146 @ENABLE_GTK_DOC_TRUE@nodist_libfsrtpconference_doc_la_OBJECTS = \
140 @ENABLE_GTK_DOC_TRUE@ fs-rtp-conference-plugin.doc.lo
147 @ENABLE_GTK_DOC_TRUE@ $(am__objects_1)
141148 libfsrtpconference_doc_la_OBJECTS = \
142149 $(nodist_libfsrtpconference_doc_la_OBJECTS)
143150 @ENABLE_GTK_DOC_TRUE@am_libfsrtpconference_doc_la_rpath =
151158 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
152159 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
153160 $(AM_CFLAGS) $(CFLAGS)
154 AM_V_CC = $(am__v_CC_$(V))
155 am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
161 AM_V_CC = $(am__v_CC_@AM_V@)
162 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
156163 am__v_CC_0 = @echo " CC " $@;
157 AM_V_at = $(am__v_at_$(V))
158 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
164 AM_V_at = $(am__v_at_@AM_V@)
165 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
159166 am__v_at_0 = @
160167 CCLD = $(CC)
161168 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
162169 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
163170 $(AM_LDFLAGS) $(LDFLAGS) -o $@
164 AM_V_CCLD = $(am__v_CCLD_$(V))
165 am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
171 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
172 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
166173 am__v_CCLD_0 = @echo " CCLD " $@;
167 AM_V_GEN = $(am__v_GEN_$(V))
168 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
174 AM_V_GEN = $(am__v_GEN_@AM_V@)
175 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
169176 am__v_GEN_0 = @echo " GEN " $@;
170177 SOURCES = $(libfsrtpconference_convenience_la_SOURCES) \
171178 $(nodist_libfsrtpconference_convenience_la_SOURCES) \
183190 AMTAR = @AMTAR@
184191 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
185192 AR = @AR@
193 AS = @AS@
186194 AUTOCONF = @AUTOCONF@
187195 AUTOHEADER = @AUTOHEADER@
188196 AUTOMAKE = @AUTOMAKE@
210218 FGREP = @FGREP@
211219 FS_AGE = @FS_AGE@
212220 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
221 FS_APIVERSION = @FS_APIVERSION@
222 FS_API_VERSION = @FS_API_VERSION@
213223 FS_CFLAGS = @FS_CFLAGS@
214224 FS_CURRENT = @FS_CURRENT@
215225 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
218228 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
219229 FS_LICENSE = @FS_LICENSE@
220230 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
221 FS_MAJORMINOR = @FS_MAJORMINOR@
222 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
223231 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
224232 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
225233 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
232240 GCOV = @GCOV@
233241 GCOV_CFLAGS = @GCOV_CFLAGS@
234242 GCOV_LIBS = @GCOV_LIBS@
243 GIO_CFLAGS = @GIO_CFLAGS@
244 GIO_LDFLAGS = @GIO_LDFLAGS@
245 GIO_LIBS = @GIO_LIBS@
235246 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
236247 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
237248 GLIB_CFLAGS = @GLIB_CFLAGS@
241252 GLIB_REQ = @GLIB_REQ@
242253 GREP = @GREP@
243254 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
255 GST_API_VERSION = @GST_API_VERSION@
244256 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
245257 GST_BASE_LIBS = @GST_BASE_LIBS@
246258 GST_CFLAGS = @GST_CFLAGS@
249261 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
250262 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
251263 GST_LIBS = @GST_LIBS@
252 GST_MAJORMINOR = @GST_MAJORMINOR@
253264 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
254265 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
255266 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
259270 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
260271 GST_TOOLS_DIR = @GST_TOOLS_DIR@
261272 GTKDOC_CHECK = @GTKDOC_CHECK@
273 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
274 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
275 GTKDOC_MKPDF = @GTKDOC_MKPDF@
276 GTKDOC_REBASE = @GTKDOC_REBASE@
262277 GUPNP_CFLAGS = @GUPNP_CFLAGS@
263278 GUPNP_LIBS = @GUPNP_LIBS@
264279 HTML_DIR = @HTML_DIR@
310325 PKG_CONFIG = @PKG_CONFIG@
311326 PLUGINDIR = @PLUGINDIR@
312327 PROFILE_CFLAGS = @PROFILE_CFLAGS@
313 PYCODEGEN = @PYCODEGEN@
314 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
315 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
316 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
317 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
318328 PYTHON = @PYTHON@
319329 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
320 PYTHON_INCLUDES = @PYTHON_INCLUDES@
321330 PYTHON_PLATFORM = @PYTHON_PLATFORM@
322331 PYTHON_PREFIX = @PYTHON_PREFIX@
323332 PYTHON_VERSION = @PYTHON_VERSION@
384393 sharedstatedir = @sharedstatedir@
385394 srcdir = @srcdir@
386395 sysconfdir = @sysconfdir@
396 target = @target@
387397 target_alias = @target_alias@
398 target_cpu = @target_cpu@
399 target_os = @target_os@
400 target_vendor = @target_vendor@
388401 top_build_prefix = @top_build_prefix@
389402 top_builddir = @top_builddir@
390403 top_srcdir = @top_srcdir@
415428 fs-rtp-marshal.c \
416429 fs-rtp-marshal.h
417430
418 BUILT_SOURCES = $(nodist_libfsrtpconference_convenience_la_SOURCES) \
419 $(am__append_2)
431 BUILT_SOURCES = $(nodist_libfsrtpconference_convenience_la_SOURCES)
420432 noinst_HEADERS = \
421433 fs-rtp-conference.h \
422434 fs-rtp-participant.h \
448460 libfsrtpconference_la_SOURCES = fs-rtp-conference-plugin.c
449461 libfsrtpconference_la_LIBADD = \
450462 libfsrtpconference-convenience.la \
451 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
463 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
452464 $(FS_LIBS) \
453465 $(GST_PLUGINS_BASE_LIBS) \
454466 $(GST_LIBS) \
455 -lgstrtp-@GST_MAJORMINOR@ \
467 -lgstrtp-@GST_API_VERSION@ \
456468 -lm
457469
458470 libfsrtpconference_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
459 preferencesdir = $(datadir)/$(PACKAGE_TARNAME)/$(FS_MAJORMINOR)/fsrtpconference
471 preferencesdir = $(datadir)/$(PACKAGE_TARNAME)/$(FS_APIVERSION)/fsrtpconference
460472 preferences_DATA = \
461473 default-codec-preferences \
462474 default-element-properties
463475
464476 EXTRA_DIST = $(preferences_DATA)
477 @ENABLE_GTK_DOC_TRUE@nodist_libfsrtpconference_doc_la_CFLAGS = -DBUILD_GTK_DOC
465478 @ENABLE_GTK_DOC_TRUE@nodist_libfsrtpconference_doc_la_SOURCES = \
466 @ENABLE_GTK_DOC_TRUE@ fs-rtp-conference-plugin.doc.c \
467 @ENABLE_GTK_DOC_TRUE@ $(nodist_libfsrtpconference_la_SOURCES)
479 @ENABLE_GTK_DOC_TRUE@ $(libfsrtpconference_la_SOURCES)
468480
469481 @ENABLE_GTK_DOC_TRUE@libfsrtpconference_doc_la_LIBADD = $(libfsrtpconference_la_LIBADD)
470482 glib_enum_define = FS_RTP
497509 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
498510 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
499511 esac;
512 $(top_srcdir)/common/gst-glib-gen.mak:
500513
501514 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
502515 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
546559 echo "rm -f \"$${dir}/so_locations\""; \
547560 rm -f "$${dir}/so_locations"; \
548561 done
549 libfsrtpconference-convenience.la: $(libfsrtpconference_convenience_la_OBJECTS) $(libfsrtpconference_convenience_la_DEPENDENCIES)
562 libfsrtpconference-convenience.la: $(libfsrtpconference_convenience_la_OBJECTS) $(libfsrtpconference_convenience_la_DEPENDENCIES) $(EXTRA_libfsrtpconference_convenience_la_DEPENDENCIES)
550563 $(AM_V_CCLD)$(LINK) $(libfsrtpconference_convenience_la_OBJECTS) $(libfsrtpconference_convenience_la_LIBADD) $(LIBS)
551 libfsrtpconference.la: $(libfsrtpconference_la_OBJECTS) $(libfsrtpconference_la_DEPENDENCIES)
564 libfsrtpconference.la: $(libfsrtpconference_la_OBJECTS) $(libfsrtpconference_la_DEPENDENCIES) $(EXTRA_libfsrtpconference_la_DEPENDENCIES)
552565 $(AM_V_CCLD)$(libfsrtpconference_la_LINK) -rpath $(plugindir) $(libfsrtpconference_la_OBJECTS) $(libfsrtpconference_la_LIBADD) $(LIBS)
553 libfsrtpconference_doc.la: $(libfsrtpconference_doc_la_OBJECTS) $(libfsrtpconference_doc_la_DEPENDENCIES)
566 libfsrtpconference_doc.la: $(libfsrtpconference_doc_la_OBJECTS) $(libfsrtpconference_doc_la_DEPENDENCIES) $(EXTRA_libfsrtpconference_doc_la_DEPENDENCIES)
554567 $(AM_V_CCLD)$(LINK) $(am_libfsrtpconference_doc_la_rpath) $(libfsrtpconference_doc_la_OBJECTS) $(libfsrtpconference_doc_la_LIBADD) $(LIBS)
555568
556569 mostlyclean-compile:
564577 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-rtp-codec-negotiation.Plo@am__quote@
565578 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-rtp-codec-specific.Plo@am__quote@
566579 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-rtp-conference-plugin.Plo@am__quote@
567 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-rtp-conference-plugin.doc.Plo@am__quote@
568580 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-rtp-conference.Plo@am__quote@
569581 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-rtp-discover-codecs.Plo@am__quote@
570582 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs-rtp-dtmf-event-source.Plo@am__quote@
583595 .c.o:
584596 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
585597 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
586 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
587 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
598 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
588599 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
589 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
600 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
590601
591602 .c.obj:
592603 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
593604 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
594 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
595 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
605 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
596606 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
597 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
607 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
598608
599609 .c.lo:
600610 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
601611 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
602 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
603 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
612 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
604613 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
605 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
614 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
606615
607616 mostlyclean-libtool:
608617 -rm -f *.lo
626635 @$(NORMAL_UNINSTALL)
627636 @list='$(preferences_DATA)'; test -n "$(preferencesdir)" || list=; \
628637 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
629 test -n "$$files" || exit 0; \
630 echo " ( cd '$(DESTDIR)$(preferencesdir)' && rm -f" $$files ")"; \
631 cd "$(DESTDIR)$(preferencesdir)" && rm -f $$files
638 dir='$(DESTDIR)$(preferencesdir)'; $(am__uninstall_files_from_dir)
632639
633640 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
634641 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
731738
732739 installcheck: installcheck-am
733740 install-strip:
734 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
735 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
736 `test -z '$(STRIP)' || \
737 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
741 if test -z '$(STRIP)'; then \
742 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
743 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
744 install; \
745 else \
746 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
747 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
748 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
749 fi
738750 mostlyclean-generic:
739751
740752 clean-generic:
838850 uninstall-preferencesDATA
839851
840852
841 @ENABLE_GTK_DOC_TRUE@%.doc.c: %.c
842 @ENABLE_GTK_DOC_TRUE@ $(AM_V_GEN)sed -e 's:GST_PLUGIN_DEFINE:GST_PLUGIN_DEFINE_STATIC:' $< > $@
843
844853 # Build the build sources
845854
846855 fs-rtp-marshal.list: $(libfsrtpconference_convenience_la_SOURCES) Makefile.am
77 #
88
99 # 100ms for the jitterbuffer is a good tradeoff
10 [gstrtpbin]
10 [rtpbin]
1111 latency=100
1212
1313 [x264enc]
2727 #endif
2828
2929 #include "fs-rtp-bitrate-adapter.h"
30 #include <gst/video/video.h>
3031
3132 #include <math.h>
3233
4041 GST_STATIC_PAD_TEMPLATE ("sink",
4142 GST_PAD_SINK,
4243 GST_PAD_ALWAYS,
43 GST_STATIC_CAPS ("video/x-raw-yuv,"
44 "width = (int) [ 1, max ],"
45 "height = (int) [ 1, max ],"
46 "framerate = (fraction) [ 1/max, max ];"
47 "video/x-raw-rgb,"
48 "width = (int) [ 1, max ],"
49 "height = (int) [ 1, max ],"
50 "framerate = (fraction) [ 1/max, max ];"
51 "video/x-raw-gray,"
52 "width = (int) [ 1, max ],"
53 "height = (int) [ 1, max ],"
54 "framerate = (fraction) [ 1/max, max ]"));
44 GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (GST_VIDEO_FORMATS_ALL)));
5545
5646 static GstStaticPadTemplate fs_rtp_bitrate_adapter_src_template =
5747 GST_STATIC_PAD_TEMPLATE ("src",
5848 GST_PAD_SRC,
5949 GST_PAD_ALWAYS,
60 GST_STATIC_CAPS ("video/x-raw-yuv,"
61 "width = (int) [ 1, max ],"
62 "height = (int) [ 1, max ],"
63 "framerate = (fraction) [ 1/max, max ];"
64 "video/x-raw-rgb,"
65 "width = (int) [ 1, max ],"
66 "height = (int) [ 1, max ],"
67 "framerate = (fraction) [ 1/max, max ];"
68 "video/x-raw-gray,"
69 "width = (int) [ 1, max ],"
70 "height = (int) [ 1, max ],"
71 "framerate = (fraction) [ 1/max, max ]"));
72
50 GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (GST_VIDEO_FORMATS_ALL)));
7351 enum
7452 {
7553 PROP_0,
7755 PROP_INTERVAL,
7856 PROP_CAPS,
7957 };
80
81 enum
82 {
83 SIGNAL_RENEGOTIATE,
84 LAST_SIGNAL
85 };
86
87 static guint signals[LAST_SIGNAL] = { 0 };
8858
8959 #define PROP_INTERVAL_DEFAULT (10 * GST_SECOND)
9060
9969 GParamSpec *pspec);
10070
10171
102 GST_BOILERPLATE (FsRtpBitrateAdapter, fs_rtp_bitrate_adapter, GstElement,
103 GST_TYPE_ELEMENT);
72 G_DEFINE_TYPE (FsRtpBitrateAdapter, fs_rtp_bitrate_adapter, GST_TYPE_ELEMENT);
10473
10574 static GstFlowReturn fs_rtp_bitrate_adapter_chain (GstPad *pad,
106 GstBuffer *buffer);
107 static GstCaps *fs_rtp_bitrate_adapter_getcaps (GstPad *pad);
75 GstObject *parent, GstBuffer *buffer);
76 static gboolean fs_rtp_bitrate_adapter_query (GstPad *pad, GstObject *parent,
77 GstQuery *query);
10878
10979 static GstStateChangeReturn
11080 fs_rtp_bitrate_adapter_change_state (GstElement *element,
11181 GstStateChange transition);
11282
113 static void
114 fs_rtp_bitrate_adapter_base_init (gpointer klass)
115 {
83 static GParamSpec *caps_pspec;
84
85 static void
86 fs_rtp_bitrate_adapter_class_init (FsRtpBitrateAdapterClass *klass)
87 {
88 GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
11689 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
90
91 gobject_class->get_property = fs_rtp_bitrate_adapter_get_property;
92 gobject_class->set_property = fs_rtp_bitrate_adapter_set_property;
93 gobject_class->finalize = fs_rtp_bitrate_adapter_finalize;
94
95 gstelement_class->change_state = fs_rtp_bitrate_adapter_change_state;
11796
11897 GST_DEBUG_CATEGORY_INIT
11998 (fs_rtp_bitrate_adapter_debug, "fsrtpbitrateadapter", 0,
130109 gst_static_pad_template_get (&fs_rtp_bitrate_adapter_sink_template));
131110 gst_element_class_add_pad_template (gstelement_class,
132111 gst_static_pad_template_get (&fs_rtp_bitrate_adapter_src_template));
133
134 signals[SIGNAL_RENEGOTIATE] = g_signal_new ("renegotiate",
135 G_TYPE_FROM_CLASS (klass),
136 G_SIGNAL_RUN_LAST,
137 0,
138 NULL,
139 NULL,
140 g_cclosure_marshal_VOID__VOID,
141 G_TYPE_NONE, 0);
142 }
143
144 static GParamSpec *caps_pspec;
145
146 static void
147 fs_rtp_bitrate_adapter_class_init (FsRtpBitrateAdapterClass *klass)
148 {
149 GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
150 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
151
152 gobject_class->get_property = fs_rtp_bitrate_adapter_get_property;
153 gobject_class->set_property = fs_rtp_bitrate_adapter_set_property;
154 gobject_class->finalize = fs_rtp_bitrate_adapter_finalize;
155
156 gstelement_class->change_state = fs_rtp_bitrate_adapter_change_state;
157112
158113 g_object_class_install_property (gobject_class,
159114 PROP_BITRATE,
204159
205160
206161 static void
207 fs_rtp_bitrate_adapter_init (FsRtpBitrateAdapter *self,
208 FsRtpBitrateAdapterClass *klass)
162 fs_rtp_bitrate_adapter_init (FsRtpBitrateAdapter *self)
209163 {
210164 self->sinkpad = gst_pad_new_from_static_template (
211165 &fs_rtp_bitrate_adapter_sink_template, "sink");
212166 gst_pad_set_chain_function (self->sinkpad, fs_rtp_bitrate_adapter_chain);
213 gst_pad_set_setcaps_function (self->sinkpad, gst_pad_proxy_setcaps);
214 gst_pad_set_getcaps_function (self->sinkpad,
215 fs_rtp_bitrate_adapter_getcaps);
167 gst_pad_set_query_function (self->sinkpad, fs_rtp_bitrate_adapter_query);
168 GST_PAD_SET_PROXY_CAPS (self->sinkpad);
216169 gst_element_add_pad (GST_ELEMENT (self), self->sinkpad);
217170
218171 self->srcpad = gst_pad_new_from_static_template (
219172 &fs_rtp_bitrate_adapter_src_template, "src");
220 gst_pad_set_getcaps_function (self->srcpad,
221 fs_rtp_bitrate_adapter_getcaps);
173 gst_pad_set_query_function (self->sinkpad, fs_rtp_bitrate_adapter_query);
222174 gst_element_add_pad (GST_ELEMENT (self), self->srcpad);
223175
224176 g_queue_init (&self->bitrate_history);
240192 g_queue_foreach (&self->bitrate_history, (GFunc) bitrate_point_free, NULL);
241193 g_queue_clear(&self->bitrate_history);
242194
243 G_OBJECT_CLASS (parent_class)->finalize (object);
195 G_OBJECT_CLASS (fs_rtp_bitrate_adapter_parent_class)->finalize (object);
244196 }
245197
246198 struct Resolution {
302254 guint min_framerate, guint max_framerate, guint width, guint height,
303255 guint par_n, guint par_d)
304256 {
305 video_caps_add (caps, "video/x-raw-yuv", min_framerate, max_framerate,
306 width, height, par_n, par_d);
307 video_caps_add (caps, "video/x-raw-rgb", min_framerate, max_framerate,
308 width, height, par_n, par_d);
309 video_caps_add (caps_gray, "video/x-raw-gray", min_framerate, max_framerate,
257 video_caps_add (caps, "video/x-raw", min_framerate, max_framerate,
310258 width, height, par_n, par_d);
311259 }
312260
431379 gst_caps_unref (allowed_caps);
432380 gst_caps_unref (caps);
433381
434 gst_pad_fixate_caps (self->srcpad, wanted_caps);
435
436 return wanted_caps;
382 return gst_caps_fixate (wanted_caps);
437383 }
438384
439385
440386 static GstCaps *
441 fs_rtp_bitrate_adapter_getcaps (GstPad *pad)
442 {
443 FsRtpBitrateAdapter *self = FS_RTP_BITRATE_ADAPTER (
444 gst_pad_get_parent_element (pad));
387 fs_rtp_bitrate_adapter_getcaps (FsRtpBitrateAdapter *self, GstPad *pad,
388 GstCaps *filter)
389 {
445390 GstCaps *caps;
446391 GstPad *otherpad;
447392 GstCaps *peer_caps;
448
449 if (!self)
450 return gst_caps_new_empty ();
451393
452394 if (pad == self->srcpad)
453395 otherpad = self->sinkpad;
454396 else
455397 otherpad = self->srcpad;
456398
457 peer_caps = gst_pad_peer_get_caps_reffed (otherpad);
399 peer_caps = gst_pad_peer_query_caps (otherpad, filter);
458400
459401 GST_OBJECT_LOCK (self);
460 if (peer_caps)
461 {
462 if (self->caps)
463 caps = gst_caps_intersect_full (self->caps, peer_caps,
464 GST_CAPS_INTERSECT_FIRST);
465 else
466 caps = gst_caps_intersect (peer_caps,
467 gst_pad_get_pad_template_caps (pad));
468
469 gst_caps_unref (peer_caps);
470 }
402 if (self->caps)
403 caps = gst_caps_intersect_full (self->caps, peer_caps,
404 GST_CAPS_INTERSECT_FIRST);
471405 else
472 {
473 if (self->caps)
474 caps = gst_caps_intersect (self->caps,
475 gst_pad_get_pad_template_caps (pad));
476 else
477 caps = gst_caps_copy (gst_pad_get_pad_template_caps (pad));
478 }
406 caps = gst_caps_intersect (peer_caps,
407 gst_pad_get_pad_template_caps (pad));
408 gst_caps_unref (peer_caps);
479409 GST_OBJECT_UNLOCK (self);
480410
481 gst_object_unref (self);
482
483411 return caps;
484412 }
485413
414 static gboolean
415 fs_rtp_bitrate_adapter_query (GstPad *pad, GstObject *parent, GstQuery *query)
416 {
417 FsRtpBitrateAdapter *self = FS_RTP_BITRATE_ADAPTER (parent);
418 gboolean res;
419
420 switch (GST_QUERY_TYPE (query)) {
421 case GST_QUERY_CAPS:
422 {
423 GstCaps *caps, *filter;
424
425 gst_query_parse_caps (query, &filter);
426 caps = fs_rtp_bitrate_adapter_getcaps (self, pad, filter);
427 gst_query_set_caps_result (query, caps);
428 gst_caps_unref (caps);
429 res = TRUE;
430 break;
431 }
432 default:
433 res = gst_pad_query_default (pad, parent, query);
434 break;
435 }
436
437 return res;
438 }
439
486440 static GstFlowReturn
487 fs_rtp_bitrate_adapter_chain (GstPad *pad, GstBuffer *buffer)
488 {
489 FsRtpBitrateAdapter *self = FS_RTP_BITRATE_ADAPTER (
490 gst_pad_get_parent_element (pad));
441 fs_rtp_bitrate_adapter_chain (GstPad *pad, GstObject *parent,
442 GstBuffer *buffer)
443 {
444 FsRtpBitrateAdapter *self = FS_RTP_BITRATE_ADAPTER (parent);
491445 GstFlowReturn ret;
492446
493447 if (!self)
495449
496450 ret = gst_pad_push (self->srcpad, buffer);
497451
498 gst_object_unref (self);
499452 return ret;
500453 }
501454
536489 {
537490 GstCaps *wanted_caps;
538491 guint bitrate;
539 GstCaps *negotiated_caps;
492 GstCaps *current_caps;
540493
541494 bitrate = fs_rtp_bitrate_adapter_get_bitrate_locked (self);
542495 if (self->caps)
552505 self->caps = caps_from_bitrate (bitrate);
553506 GST_OBJECT_UNLOCK (self);
554507
555 negotiated_caps = gst_pad_get_negotiated_caps (self->sinkpad);
556 if (!negotiated_caps)
508 current_caps = gst_pad_get_current_caps (self->sinkpad);
509 if (!current_caps)
557510 return;
558511
559512 wanted_caps = fs_rtp_bitrate_adapter_get_suggested_caps (self);
560513
561514 GST_DEBUG ("wanted: %s", gst_caps_to_string (wanted_caps));
562 GST_DEBUG ("current: %s", gst_caps_to_string (negotiated_caps));
563
564 if (!gst_caps_is_equal_fixed (negotiated_caps, wanted_caps))
565 g_signal_emit (self, signals[SIGNAL_RENEGOTIATE], 0);
515 GST_DEBUG ("current: %s", gst_caps_to_string (current_caps));
516
517 if (!gst_caps_is_equal_fixed (current_caps, wanted_caps))
518 gst_pad_push_event (self->sinkpad,
519 gst_event_new_reconfigure ());
566520
567521 gst_caps_unref (wanted_caps);
568 gst_caps_unref (negotiated_caps);
522 gst_caps_unref (current_caps);
569523 }
570524
571525 static void
631585 {
632586 self->clockid = gst_clock_new_single_shot_id (self->system_clock,
633587 now + self->interval);
634 gst_clock_id_wait_async_full (self->clockid,
588 gst_clock_id_wait_async (self->clockid,
635589 clock_callback, gst_object_ref (self), gst_object_unref);
636590 }
637591
725679 }
726680
727681 if ((result =
728 GST_ELEMENT_CLASS (parent_class)->change_state (element,
729 transition)) == GST_STATE_CHANGE_FAILURE)
682 GST_ELEMENT_CLASS (fs_rtp_bitrate_adapter_parent_class)->change_state
683 (element, transition)) == GST_STATE_CHANGE_FAILURE)
730684 goto failure;
731685
732686 return result;
3333 # include <unistd.h>
3434 #endif
3535 #include <stdio.h>
36 #include <sys/types.h>
37 #include <sys/stat.h>
3638
3739 #include <farstream/fs-conference.h>
3840
6567 registry_xml_path = g_strdup (g_getenv ("GST_REGISTRY"));
6668 if (registry_xml_path == NULL) {
6769 registry_bin_path = g_build_filename (g_get_home_dir (),
68 ".gstreamer-" GST_MAJORMINOR, "registry." HOST_CPU ".bin", NULL);
70 ".gstreamer-" GST_API_VERSION, "registry." HOST_CPU ".bin", NULL);
6971 registry_xml_path = g_build_filename (g_get_home_dir (),
70 ".gstreamer-" GST_MAJORMINOR, "registry." HOST_CPU ".xml", NULL);
72 ".gstreamer-" GST_API_VERSION, "registry." HOST_CPU ".xml", NULL);
7173 } else {
7274 registry_bin_path = g_strdup (registry_xml_path);
7375 }
126126 static gint
127127 find_matching_pad (gconstpointer a, gconstpointer b)
128128 {
129 GstPad *pad = GST_PAD (a);
129 const GValue *val = a;
130 GstPad *pad = GST_PAD (g_value_get_object (val));
130131 GstCaps *caps = GST_CAPS (b);
131132 GstCaps *padcaps = NULL;
132133 gint ret = 1;
133134
134 padcaps = gst_pad_get_caps_reffed (pad);
135 padcaps = gst_pad_query_caps (pad, NULL);
135136
136137 if (gst_caps_can_intersect (caps, padcaps))
137138 ret = 0;
138139
139140 gst_caps_unref (padcaps);
140 gst_object_unref (pad);
141141
142142 return ret;
143143 }
150150 GstElement *bin = NULL;
151151 guint src_pad_count = 0, sink_pad_count = 0;
152152 GstCaps *caps;
153 gpointer matching_pad = NULL;
154153 GstIterator *iter;
154 gboolean has_matching_pad = FALSE;
155 GValue val = {0,};
155156
156157 bin = parse_bin_from_description_all_linked (bin_description,
157158 &src_pad_count, &sink_pad_count, &error);
173174 else
174175 iter = gst_element_iterate_sink_pads (bin);
175176
176 matching_pad = gst_iterator_find_custom (iter, find_matching_pad, caps);
177 has_matching_pad = gst_iterator_find_custom (iter, find_matching_pad,
178 &val, caps);
179 g_value_unset (&val);
177180 gst_iterator_free (iter);
178181
179 if (!matching_pad)
182 if (!has_matching_pad)
180183 {
181184 GST_WARNING ("Invalid profile (%s), has no %s pad that matches the codec"
182185 " details", is_send ? "src" : "sink", bin_description);
3636 GST_RANK_NONE, FS_TYPE_RTP_CONFERENCE);
3737 }
3838
39 #ifdef BUILD_GTK_DOC
40 void
41 fs_rtp_plugin_init_real (void)
42 {
43 gst_plugin_register_static (
44 #else
3945 GST_PLUGIN_DEFINE (
46 #endif
4047 GST_VERSION_MAJOR,
4148 GST_VERSION_MINOR,
42 "fsrtpconference",
49 fsrtpconference,
4350 "Farstream RTP Conference plugin",
4451 plugin_init,
4552 VERSION,
4653 "LGPL",
4754 "Farstream",
48 "http://farstream.freedesktop.org/"
55 "http://www.freedesktop.org/wiki/Software/Farstream"
56 #ifdef BUILD_GTK_DOC
57 );
58 }
59 #else
4960 )
61 #endif
6868 };
6969
7070
71 static const GstElementDetails fs_rtp_conference_details =
72 GST_ELEMENT_DETAILS (
73 "Farstream RTP Conference",
74 "Generic/Bin/RTP",
75 "A Farstream RTP Conference",
76 "Olivier Crete <olivier.crete@collabora.co.uk>");
77
78
7971 static GstStaticPadTemplate fs_rtp_conference_sink_template =
80 GST_STATIC_PAD_TEMPLATE ("sink_%d",
72 GST_STATIC_PAD_TEMPLATE ("sink_%u",
8173 GST_PAD_SINK,
8274 GST_PAD_SOMETIMES,
8375 GST_STATIC_CAPS_ANY);
8476
8577 static GstStaticPadTemplate fs_rtp_conference_src_template =
86 GST_STATIC_PAD_TEMPLATE ("src_%d_%d_%d",
78 GST_STATIC_PAD_TEMPLATE ("src_%u_%u_%u",
8779 GST_PAD_SRC,
8880 GST_PAD_SOMETIMES,
8981 GST_STATIC_CAPS_ANY);
10799 GPtrArray *threads;
108100 };
109101
110 static void fs_rtp_conference_do_init (GType type);
111
112
113 GST_BOILERPLATE_FULL (FsRtpConference, fs_rtp_conference, FsConference,
114 FS_TYPE_CONFERENCE, fs_rtp_conference_do_init);
102 G_DEFINE_TYPE (FsRtpConference, fs_rtp_conference, FS_TYPE_CONFERENCE);
115103
116104 static void fs_rtp_conference_get_property (GObject *object,
117105 guint prop_id,
167155 GstStateChange transition);
168156
169157
170 static void
171 fs_rtp_conference_do_init (GType type)
172 {
173 GST_DEBUG_CATEGORY_INIT (fsrtpconference_debug, "fsrtpconference", 0,
174 "Farstream RTP Conference Element");
175 GST_DEBUG_CATEGORY_INIT (fsrtpconference_disco, "fsrtpconference_disco",
176 0, "Farstream RTP Codec Discovery");
177 GST_DEBUG_CATEGORY_INIT (fsrtpconference_nego, "fsrtpconference_nego",
178 0, "Farstream RTP Codec Negotiation");
179 }
180158
181159 static void
182160 fs_rtp_conference_dispose (GObject * object)
187165 if (self->priv->disposed)
188166 return;
189167
190 if (self->gstrtpbin) {
191 gst_object_unref (self->gstrtpbin);
192 self->gstrtpbin = NULL;
168 if (self->rtpbin) {
169 gst_object_unref (self->rtpbin);
170 self->rtpbin = NULL;
193171 }
194172
195173 for (item = g_list_first (self->priv->sessions);
209187
210188 self->priv->disposed = TRUE;
211189
212 G_OBJECT_CLASS (parent_class)->dispose (object);
190 G_OBJECT_CLASS (fs_rtp_conference_parent_class)->dispose (object);
213191 }
214192
215193
223201
224202 g_ptr_array_free (self->priv->threads, TRUE);
225203
226 G_OBJECT_CLASS (parent_class)->finalize (object);
204 G_OBJECT_CLASS (fs_rtp_conference_parent_class)->finalize (object);
227205 }
228206
229207 static void
235213 GstBinClass *gstbin_class = GST_BIN_CLASS (klass);
236214
237215 g_type_class_add_private (klass, sizeof (FsRtpConferencePrivate));
216
217 GST_DEBUG_CATEGORY_INIT (fsrtpconference_debug, "fsrtpconference", 0,
218 "Farstream RTP Conference Element");
219 GST_DEBUG_CATEGORY_INIT (fsrtpconference_disco, "fsrtpconference_disco",
220 0, "Farstream RTP Codec Discovery");
221 GST_DEBUG_CATEGORY_INIT (fsrtpconference_nego, "fsrtpconference_nego",
222 0, "Farstream RTP Codec Negotiation");
223
224 gst_element_class_add_pad_template (gstelement_class,
225 gst_static_pad_template_get (&fs_rtp_conference_sink_template));
226 gst_element_class_add_pad_template (gstelement_class,
227 gst_static_pad_template_get (&fs_rtp_conference_src_template));
228
229 gst_element_class_set_metadata (gstelement_class,
230 "Farstream RTP Conference",
231 "Generic/Bin/RTP",
232 "A Farstream RTP Conference",
233 "Olivier Crete <olivier.crete@collabora.co.uk>");
238234
239235 baseconf_class->new_session =
240236 GST_DEBUG_FUNCPTR (fs_rtp_conference_new_session);
261257 }
262258
263259 static void
264 fs_rtp_conference_base_init (gpointer g_class)
265 {
266 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class);
267
268 gst_element_class_add_pad_template (gstelement_class,
269 gst_static_pad_template_get (&fs_rtp_conference_sink_template));
270 gst_element_class_add_pad_template (gstelement_class,
271 gst_static_pad_template_get (&fs_rtp_conference_src_template));
272
273 gst_element_class_set_details (gstelement_class, &fs_rtp_conference_details);
274 }
275
276 static void
277 fs_rtp_conference_init (FsRtpConference *conf,
278 FsRtpConferenceClass *bclass)
260 fs_rtp_conference_init (FsRtpConference *conf)
279261 {
280262 GST_DEBUG_OBJECT (conf, "fs_rtp_conference_init");
281263
286268
287269 conf->priv->threads = g_ptr_array_new ();
288270
289 conf->gstrtpbin = gst_element_factory_make ("gstrtpbin", "rtpbin");
290
291 if (!conf->gstrtpbin) {
292 GST_ERROR_OBJECT (conf, "Could not create GstRtpBin element");
271 conf->rtpbin = gst_element_factory_make ("rtpbin", NULL);
272
273 if (!conf->rtpbin) {
274 GST_ERROR_OBJECT (conf, "Could not create Rtpbin element");
293275 return;
294276 }
295277
296 if (!gst_bin_add (GST_BIN (conf), conf->gstrtpbin)) {
297 GST_ERROR_OBJECT (conf, "Could not add GstRtpBin element");
298 gst_object_unref (conf->gstrtpbin);
299 conf->gstrtpbin = NULL;
278 if (!gst_bin_add (GST_BIN (conf), conf->rtpbin)) {
279 GST_ERROR_OBJECT (conf, "Could not add Rtpbin element");
280 gst_object_unref (conf->rtpbin);
281 conf->rtpbin = NULL;
300282 return;
301283 }
302284
303 gst_object_ref (conf->gstrtpbin);
304
305 g_signal_connect (conf->gstrtpbin, "request-pt-map",
285 gst_object_ref (conf->rtpbin);
286
287 g_signal_connect (conf->rtpbin, "request-pt-map",
306288 G_CALLBACK (_rtpbin_request_pt_map), conf);
307 g_signal_connect (conf->gstrtpbin, "pad-added",
289 g_signal_connect (conf->rtpbin, "pad-added",
308290 G_CALLBACK (_rtpbin_pad_added), conf);
309 g_signal_connect (conf->gstrtpbin, "on-bye-ssrc",
291 g_signal_connect (conf->rtpbin, "on-bye-ssrc",
310292 G_CALLBACK (_rtpbin_on_bye_ssrc), conf);
311 g_signal_connect (conf->gstrtpbin, "on-ssrc-validated",
293 g_signal_connect (conf->rtpbin, "on-ssrc-validated",
312294 G_CALLBACK (_rtpbin_on_ssrc_validated), conf);
313295
314296 /* We have to ref the class here because the class initialization
327309 {
328310 FsRtpConference *self = FS_RTP_CONFERENCE (object);
329311
330 if (!self->gstrtpbin)
312 if (!self->rtpbin)
331313 return;
332314
333315 switch (prop_id)
334316 {
335317 case PROP_SDES:
336 g_object_get_property (G_OBJECT (self->gstrtpbin), "sdes", value);
318 g_object_get_property (G_OBJECT (self->rtpbin), "sdes", value);
337319 break;
338320 default:
339321 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
349331 {
350332 FsRtpConference *self = FS_RTP_CONFERENCE (object);
351333
352 if (!self->gstrtpbin)
334 if (!self->rtpbin)
353335 return;
354336
355337 switch (prop_id)
356338 {
357339 case PROP_SDES:
358 g_object_set_property (G_OBJECT (self->gstrtpbin), "sdes", value);
340 g_object_set_property (G_OBJECT (self->rtpbin), "sdes", value);
359341 break;
360342 default:
361343 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
377359 caps = fs_rtp_session_request_pt_map (session, pt);
378360 g_object_unref (session);
379361 } else {
380 GST_WARNING_OBJECT (self,"GstRtpBin %p tried to request the caps for "
362 GST_WARNING_OBJECT (self,"Rtpbin %p tried to request the caps for "
381363 " payload type %u for non-existent session %u",
382364 element, pt, session_id);
383365 }
392374 FsRtpConference *self = FS_RTP_CONFERENCE (user_data);
393375 gchar *name;
394376
395 GST_DEBUG_OBJECT (self, "pad %s added %" GST_PTR_FORMAT,
396 GST_PAD_NAME (new_pad), GST_PAD_CAPS (new_pad));
377 GST_DEBUG_OBJECT (self, "pad %s added" GST_PTR_FORMAT,
378 GST_PAD_NAME (new_pad));
397379
398380 name = gst_pad_get_name (new_pad);
399381
525507 FsSession *new_session = NULL;
526508 guint id;
527509
528 if (!self->gstrtpbin)
510 if (!self->rtpbin)
529511 {
530512 g_set_error (error, FS_ERROR, FS_ERROR_CONSTRUCTION,
531 "Could not create GstRtpBin");
513 "Could not create Rtpbin");
532514 return NULL;
533515 }
534516
563545 FsRtpConference *self = FS_RTP_CONFERENCE (conf);
564546 FsParticipant *new_participant = NULL;
565547
566 if (!self->gstrtpbin)
548 if (!self->rtpbin)
567549 {
568550 g_set_error (error, FS_ERROR, FS_ERROR_CONSTRUCTION,
569 "Could not create GstRtpBin");
551 "Could not create Rtpbin");
570552 return NULL;
571553 }
572554
590572 {
591573 FsRtpConference *self = FS_RTP_CONFERENCE (bin);
592574
593 if (!self->gstrtpbin)
575 if (!self->rtpbin)
594576 goto out;
595577
596578 switch (GST_MESSAGE_TYPE (message)) {
632614 fs_rtp_session_associate_ssrc_cname (session, ssrc, cname);
633615 g_object_unref (session);
634616 } else {
635 GST_WARNING_OBJECT (self,"Our GstRtpBin announced a new association"
617 GST_WARNING_OBJECT (self,"Our RtpBin announced a new association"
636618 "for non-existent session %u for ssrc: %u and cname %s",
637619 session_id, ssrc, cname);
638620 }
707689 out:
708690 /* forward all messages to the parent */
709691 if (message)
710 GST_BIN_CLASS (parent_class)->handle_message (bin, message);
692 GST_BIN_CLASS (fs_rtp_conference_parent_class)->handle_message (bin,
693 message);
711694 }
712695
713696 static GstStateChangeReturn
718701
719702 switch (transition) {
720703 case GST_STATE_CHANGE_NULL_TO_READY:
721 if (!self->gstrtpbin)
704 if (!self->rtpbin)
722705 {
723 GST_ERROR_OBJECT (element, "Could not create the GstRtpBin subelement");
706 GST_ERROR_OBJECT (element, "Could not create the RtpBin subelement");
724707 result = GST_STATE_CHANGE_FAILURE;
725708 goto failure;
726709 }
730713 }
731714
732715 if ((result =
733 GST_ELEMENT_CLASS (parent_class)->change_state (element,
734 transition)) == GST_STATE_CHANGE_FAILURE)
716 GST_ELEMENT_CLASS (fs_rtp_conference_parent_class)->change_state (
717 element, transition)) == GST_STATE_CHANGE_FAILURE)
735718 goto failure;
736719
737720 return result;
765748 if (codec == NULL)
766749 return NULL;
767750
768 structure = gst_structure_new ("application/x-rtp", NULL);
751 caps = gst_caps_new_empty_simple ("application/x-rtp");
752 structure = gst_caps_get_structure (caps, 0);
769753
770754 if (codec->encoding_name)
771755 {
833817 g_free (rtcpfb_name);
834818 }
835819
836 caps = gst_caps_new_full (structure, NULL);
837
838820 return caps;
839821 }
840822
5757 FsRtpConferencePrivate *priv;
5858
5959 /* Do not modify the pointer */
60 GstElement *gstrtpbin;
60 GstElement *rtpbin;
6161 };
6262
6363 struct _FsRtpConferenceClass
638638 codec_blueprint->send_pipeline_factory,
639639 g_list_append (NULL, tmpfact));
640640 }
641 tmpfact = gst_element_factory_find ("ffmpegcolorspace");
641 tmpfact = gst_element_factory_find ("videoconvert");
642642 if (tmpfact)
643643 {
644644 codec_blueprint->send_pipeline_factory = g_list_append (
912912 (rtp_intersection == NULL || !gst_caps_is_empty (rtp_intersection)))
913913 {
914914 if (item) {
915 GstCaps *new_caps = gst_caps_union (item->caps, intersection);
916915 GList *tmplist;
917916
918 gst_caps_unref (item->caps);
919 item->caps = new_caps;
917 item->caps = gst_caps_merge (item->caps, intersection);
920918
921919 for (tmplist = g_list_first (codec_cap2->element_list1->data);
922920 tmplist;
932930 } else {
933931
934932 item = g_slice_new0 (CodecCap);
935 item->caps = gst_caps_ref (intersection);
933 item->caps = intersection;
936934
937935 if (rtp_caps1 && rtp_caps2)
938936 {
962960
963961 intersection_list = g_list_append (intersection_list, item);
964962 if (rtp_intersection) {
965 gst_caps_unref (intersection);
966963 break;
967964 }
968965 }
969966 } else {
970967 if (rtp_intersection)
971968 gst_caps_unref (rtp_intersection);
972 }
973 gst_caps_unref (intersection);
969 gst_caps_unref (intersection);
970 }
974971 }
975972 }
976973
10531050 GstStaticPadTemplate *padtemplate;
10541051 GstCaps *padtemplate_caps = NULL;
10551052
1056 if (!factory->numpadtemplates)
1053 if (!gst_element_factory_get_num_pad_templates (factory))
10571054 {
10581055 return FALSE;
10591056 }
10601057
1061 pads = factory->staticpadtemplates;
1058 pads = gst_element_factory_get_static_pad_templates (factory);
10621059 while (pads)
10631060 {
10641061 padtemplate = (GstStaticPadTemplate *) (pads->data);
12161213 }
12171214 else
12181215 {
1219 GstCaps *newcaps;
1220
12211216 entry->element_list1->data =
12221217 g_list_append (entry->element_list1->data, factory);
12231218 gst_object_ref (factory);
12241219
12251220 if (rtp_caps) {
12261221 if (entry->rtp_caps) {
1227 GstCaps *new_rtp_caps;
1228 new_rtp_caps = gst_caps_union (rtp_caps, entry->rtp_caps);
1229 gst_caps_unref (entry->rtp_caps);
1230 entry->rtp_caps = new_rtp_caps;
1222 entry->rtp_caps = gst_caps_merge (gst_caps_copy (rtp_caps),
1223 entry->rtp_caps);
12311224 } else {
12321225 entry->rtp_caps = gst_caps_ref (rtp_caps);
12331226 /* This shouldn't happen, its we're looking at rtp elements
12351228 g_assert_not_reached ();
12361229 }
12371230 }
1238
1239 newcaps = gst_caps_union (cur_caps, entry->caps);
1240 gst_caps_unref (entry->caps);
1241 gst_caps_unref (cur_caps);
1242 entry->caps = newcaps;
1243
1231 entry->caps = gst_caps_merge (cur_caps, entry->caps);
12441232 }
12451233 }
12461234 done:
12851273 GList *list = NULL;
12861274 GstCaps *matched_caps = NULL;
12871275
1288 result = gst_registry_get_feature_list (gst_registry_get_default (),
1276 result = gst_registry_get_feature_list (gst_registry_get (),
12891277 GST_TYPE_ELEMENT_FACTORY);
12901278
12911279 result = g_list_sort (result, (GCompareFunc) compare_ranks);
12951283 GstElementFactory *factory = GST_ELEMENT_FACTORY (walk->data);
12961284
12971285 /* Ignore unranked plugins */
1298 if (gst_plugin_feature_get_rank (factory) == GST_RANK_NONE)
1286 if (gst_plugin_feature_get_rank (GST_PLUGIN_FEATURE (factory)) ==
1287 GST_RANK_NONE)
12991288 continue;
13001289
13011290 if (!filter (factory))
120120 };
121121
122122 static void
123 disable_keyframes (gpointer data, gpointer user_data)
124 {
125 GstElement *element = data;
123 disable_keyframes (const GValue *item, gpointer user_data)
124 {
125 GstElement *element = g_value_get_object (item);
126126 GstElementFactory *factory;
127127 const gchar *factory_name;
128128 guint i;
129129
130130 factory = gst_element_get_factory (element);
131131 if (!factory)
132 goto out;
132 return;
133133
134134 factory_name = gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (factory));
135135 if (!factory_name)
136 goto out;
136 return;
137137
138138 for (i = 0; no_keyframe_property[i].element; i++)
139139 if (!strcmp (no_keyframe_property[i].element, factory_name))
140140 g_object_set (element, no_keyframe_property[i].property,
141141 no_keyframe_property[i].value, NULL);
142142
143 out:
144 gst_object_unref (element);
145143 }
146144
147145 static void
182180 {
183181 guint position = 0;
184182 gboolean our_request = FALSE;
185
186 for (position = 0; position < GST_BUFFER_SIZE (fci); position += 8) {
187 guint8 *data = GST_BUFFER_DATA (fci) + position;
183 GstMapInfo mapinfo;
184
185 if (!gst_buffer_map (fci, &mapinfo, GST_MAP_READ))
186 return;
187
188 for (position = 0; position < mapinfo.size ; position += 8) {
189 guint8 *data = mapinfo.data + position;
188190 guint32 ssrc;
189191
190192 ssrc = GST_READ_UINT32_BE (data);
193195 our_request = TRUE;
194196 break;
195197 }
198 gst_buffer_unmap (fci, &mapinfo);
196199 if (!our_request)
197200 return;
198201 }
4343 GST_PAD_ALWAYS,
4444 GST_STATIC_CAPS ("application/x-rtp"));
4545
46 GST_BOILERPLATE (FsRtpPacketModder, fs_rtp_packet_modder, GstElement,
47 GST_TYPE_ELEMENT);
46 G_DEFINE_TYPE (FsRtpPacketModder, fs_rtp_packet_modder, GST_TYPE_ELEMENT);
4847
4948 static GstFlowReturn fs_rtp_packet_modder_chain (GstPad *pad,
50 GstBuffer *buffer);
51 static GstCaps *fs_rtp_packet_modder_getcaps (GstPad *pad);
52 static GstFlowReturn fs_rtp_packet_modder_bufferalloc (GstPad *pad,
53 guint64 offset, guint size, GstCaps *caps, GstBuffer **buf);
54 static gboolean fs_rtp_packet_modder_sink_event (GstPad *pad, GstEvent *event);
55 static gboolean fs_rtp_packet_modder_query (GstPad *pad, GstQuery *query);
49 GstObject *parent, GstBuffer *buffer);
50 static GstCaps *fs_rtp_packet_modder_getcaps (FsRtpPacketModder *self,
51 GstPad *pad, GstCaps *filter);
52 static gboolean fs_rtp_packet_modder_sink_event (GstPad *pad,
53 GstObject *parent,
54 GstEvent *event);
55 static gboolean fs_rtp_packet_modder_query (GstPad *pad,
56 GstObject *parent,
57 GstQuery *query);
5658 static GstStateChangeReturn fs_rtp_packet_modder_change_state (
5759 GstElement *element, GstStateChange transition);
5860
5961
60
6162 static void
62 fs_rtp_packet_modder_base_init (gpointer g_class)
63 {
64 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class);
63 fs_rtp_packet_modder_class_init (FsRtpPacketModderClass *klass)
64 {
65 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
6566
6667 GST_DEBUG_CATEGORY_INIT
6768 (fs_rtp_packet_modder_debug, "fsrtppacketmodder", 0,
7778 gst_static_pad_template_get (&fs_rtp_packet_modder_sink_template));
7879 gst_element_class_add_pad_template (gstelement_class,
7980 gst_static_pad_template_get (&fs_rtp_packet_modder_src_template));
80 }
81
82
81
82 gstelement_class->change_state = fs_rtp_packet_modder_change_state;
83 }
8384
8485 static void
85 fs_rtp_packet_modder_class_init (FsRtpPacketModderClass *klass)
86 {
87 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
88
89 gstelement_class->change_state = fs_rtp_packet_modder_change_state;
90 }
91
92 static void
93 fs_rtp_packet_modder_init (FsRtpPacketModder *self,
94 FsRtpPacketModderClass *g_class)
95 {
86 fs_rtp_packet_modder_init (FsRtpPacketModder *self)
87 {
88 gst_segment_init (&self->segment, GST_FORMAT_TIME);
89
9690 self->sinkpad = gst_pad_new_from_static_template (
9791 &fs_rtp_packet_modder_sink_template, "sink");
9892 gst_pad_set_chain_function (self->sinkpad, fs_rtp_packet_modder_chain);
99 gst_pad_set_setcaps_function (self->sinkpad, gst_pad_proxy_setcaps);
100 gst_pad_set_getcaps_function (self->sinkpad, fs_rtp_packet_modder_getcaps);
101 gst_pad_set_bufferalloc_function (self->sinkpad,
102 fs_rtp_packet_modder_bufferalloc);
93 gst_pad_set_query_function (self->sinkpad, fs_rtp_packet_modder_query);
10394 gst_pad_set_event_function (self->sinkpad, fs_rtp_packet_modder_sink_event);
95 GST_PAD_SET_PROXY_CAPS (self->sinkpad);
10496 gst_element_add_pad (GST_ELEMENT (self), self->sinkpad);
10597
10698 self->srcpad = gst_pad_new_from_static_template (
10799 &fs_rtp_packet_modder_src_template, "src");
108 gst_pad_set_getcaps_function (self->srcpad, fs_rtp_packet_modder_getcaps);
109100 gst_pad_set_query_function (self->srcpad, fs_rtp_packet_modder_query);
110101 gst_element_add_pad (GST_ELEMENT (self), self->srcpad);
111102 }
140131 GstClockReturn clockret;
141132
142133 GST_OBJECT_LOCK (self);
143 running_time = gst_segment_to_running_time (&self->segment, GST_FORMAT_TIME,
134 running_time = gst_segment_to_running_time (&self->segment, GST_FORMAT_TIME,
144135 buffer_ts);
145136
146137 do {
173164 }
174165
175166 static GstFlowReturn
176 fs_rtp_packet_modder_chain (GstPad *pad, GstBuffer *buffer)
177 {
178 FsRtpPacketModder *self = FS_RTP_PACKET_MODDER (gst_pad_get_parent (pad));
167 fs_rtp_packet_modder_chain (GstPad *pad, GstObject *parent, GstBuffer *buffer)
168 {
169 FsRtpPacketModder *self = FS_RTP_PACKET_MODDER (parent);
179170 GstFlowReturn ret = GST_FLOW_ERROR;
180171 GstClockTime buffer_ts = GST_BUFFER_TIMESTAMP (buffer);
181172
197188
198189 invalid:
199190
200 gst_object_unref (self);
201
202191 return ret;
203192 }
204193
205194
206195 static GstCaps *
207 fs_rtp_packet_modder_getcaps (GstPad *pad)
208 {
209 FsRtpPacketModder *self = FS_RTP_PACKET_MODDER (gst_pad_get_parent (pad));
210 GstCaps *peercaps;
196 fs_rtp_packet_modder_getcaps (FsRtpPacketModder *self, GstPad *pad,
197 GstCaps *filter)
198 {
199 GstPad *peer;
211200 GstCaps *caps;
212201 GstPad *otherpad = self->sinkpad == pad ? self->srcpad : self->sinkpad;
213202
214 peercaps = gst_pad_peer_get_caps_reffed (otherpad);
215
216 if (peercaps)
203 peer = gst_pad_get_peer (otherpad);
204
205 if (peer)
217206 {
207 GstCaps *peercaps;
208 peercaps = gst_pad_query_caps (peer, filter);
218209 caps = gst_caps_intersect (peercaps, gst_pad_get_pad_template_caps (pad));
219210 gst_caps_unref (peercaps);
211 gst_object_unref (peer);
220212 }
221213 else
222214 {
223 caps = gst_caps_copy (gst_pad_get_pad_template_caps (pad));
224 }
225
226 gst_object_unref (self);
215 caps = gst_caps_intersect (gst_pad_get_pad_template_caps (pad), filter);
216 }
217
227218 return caps;
228219 }
229220
230 static GstFlowReturn
231 fs_rtp_packet_modder_bufferalloc (GstPad *pad, guint64 offset, guint size,
232 GstCaps *caps, GstBuffer **buf)
233 {
234 FsRtpPacketModder *self = FS_RTP_PACKET_MODDER (gst_pad_get_parent (pad));
235 GstFlowReturn ret;
236
237 ret = gst_pad_alloc_buffer (self->srcpad, offset, size, caps, buf);
238
239 gst_object_unref (self);
240
241 return ret;
242 }
243
244221 static gboolean
245 fs_rtp_packet_modder_sink_event (GstPad *pad, GstEvent *event)
246 {
247 FsRtpPacketModder *self = FS_RTP_PACKET_MODDER (gst_pad_get_parent (pad));
248 gboolean ret;
222 fs_rtp_packet_modder_sink_event (GstPad *pad, GstObject *parent,
223 GstEvent *event)
224 {
225 FsRtpPacketModder *self = FS_RTP_PACKET_MODDER (parent);
249226
250227 switch (GST_EVENT_TYPE (event)) {
251 case GST_EVENT_NEWSEGMENT:
228 case GST_EVENT_SEGMENT:
252229 {
253 GstFormat format;
254 gdouble rate, arate;
255 gint64 start, stop, time;
256 gboolean update;
257
258 gst_event_parse_new_segment_full (event, &update, &rate, &arate, &format,
259 &start, &stop, &time);
260
261 /* we need time for now */
262 if (format != GST_FORMAT_TIME)
230 gst_event_copy_segment (event, &self->segment);
231
232 if (self->segment.format != GST_FORMAT_TIME)
263233 goto newseg_wrong_format;
264
265 GST_DEBUG_OBJECT (self,
266 "newsegment: update %d, rate %g, arate %g, start %" GST_TIME_FORMAT
267 ", stop %" GST_TIME_FORMAT ", time %" GST_TIME_FORMAT,
268 update, rate, arate, GST_TIME_ARGS (start), GST_TIME_ARGS (stop),
269 GST_TIME_ARGS (time));
270
271 /* now configure the values, we need these to time the release of the
272 * buffers on the srcpad. */
273 gst_segment_set_newsegment_full (&self->segment, update,
274 rate, arate, format, start, stop, time);
275
276 /* FIXME, push SEGMENT in the queue. Sorting order might be difficult. */
277 ret = gst_pad_push_event (self->srcpad, event);
278234 break;
279235 }
280236 case GST_EVENT_FLUSH_START:
285241 self->unscheduled = TRUE;
286242 }
287243 GST_OBJECT_UNLOCK (self);
288 ret = gst_pad_push_event (self->srcpad, event);
289 break;
290 case GST_EVENT_FLUSH_STOP:
291 ret = gst_pad_push_event (self->srcpad, event);
292 gst_segment_init (&self->segment, GST_FORMAT_TIME);
293244 break;
294245 default:
295 ret = gst_pad_push_event (self->srcpad, event);
296 break;
297 }
298
299 done:
300 gst_object_unref (self);
301 return ret;
246 break;
247 }
248
249 return gst_pad_push_event (self->srcpad, event);
302250
303251 newseg_wrong_format:
304 {
305 GST_DEBUG_OBJECT (self, "received non TIME newsegment");
306 ret = FALSE;
307 gst_event_unref (event);
308 goto done;
309 }
252
253 GST_DEBUG_OBJECT (self, "received non TIME segment");
254 gst_event_unref (event);
255 return FALSE;
310256 }
311257
312258 static GstStateChangeReturn
323269 GST_OBJECT_LOCK (self);
324270 /* reset negotiated values */
325271 self->peer_latency = 0;
326 gst_segment_init (&self->segment, GST_FORMAT_TIME);
327272 GST_OBJECT_UNLOCK (self);
328273 break;
329274 default:
330275 break;
331276 }
332277
333 ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
278 ret = GST_ELEMENT_CLASS (fs_rtp_packet_modder_parent_class)->change_state (
279 element, transition);
334280
335281 switch (transition) {
336282 case GST_STATE_CHANGE_READY_TO_PAUSED:
357303
358304
359305 static gboolean
360 fs_rtp_packet_modder_query (GstPad *pad, GstQuery *query)
361 {
362 FsRtpPacketModder *self = FS_RTP_PACKET_MODDER (gst_pad_get_parent (pad));
306 fs_rtp_packet_modder_query (GstPad *pad, GstObject *parent, GstQuery *query)
307 {
308 FsRtpPacketModder *self = FS_RTP_PACKET_MODDER (parent);
363309 gboolean res = FALSE;
364310
365311 switch (GST_QUERY_TYPE (query)) {
312 case GST_QUERY_CAPS:
313 {
314 GstCaps *caps, *filter;
315
316 gst_query_parse_caps (query, &filter);
317 caps = fs_rtp_packet_modder_getcaps (self, pad, filter);
318 gst_query_set_caps_result (query, caps);
319 gst_caps_unref (caps);
320 res = TRUE;
321 break;
322 }
366323 case GST_QUERY_LATENCY:
367324 {
368325 /* We need to send the query upstream and add the returned latency to our
395352 break;
396353 }
397354 default:
398 res = gst_pad_query_default (pad, query);
399 break;
400 }
401
402 gst_object_unref (self);
355 res = gst_pad_query_default (pad, parent, query);
356 break;
357 }
403358
404359 return res;
405360 }
204204
205205 GError *construction_error;
206206
207 GMutex *send_pad_blocked_mutex;
208 GMutex *discovery_pad_blocked_mutex;
207 gulong send_pad_block_id;
208 gulong discovery_pad_block_id;
209209
210210 /* IP Type of Service, protext by session mutex */
211211 guint tos;
255255 static gboolean fs_rtp_session_set_codec_preferences (FsSession *session,
256256 GList *codec_preferences,
257257 GError **error);
258 static void fs_rtp_session_verify_send_codec_bin (FsRtpSession *self);
258 static void fs_rtp_session_verify_send_codec_bin_locked (FsRtpSession *self);
259259
260260 static gchar **fs_rtp_session_list_transmitters (FsSession *session);
261261 static GType fs_rtp_session_get_stream_transmitter_type (FsSession *session,
311311
312312 static void
313313 _send_caps_changed (GstPad *pad, GParamSpec *pspec, FsRtpSession *session);
314 static void
315 _discovery_pad_blocked_callback (GstPad *pad, gboolean blocked,
314 static GstPadProbeReturn
315 _discovery_pad_blocked_callback (GstPad *pad, GstPadProbeInfo *info,
316316 gpointer user_data);
317317
318318 static void
429429
430430 self->mutex = g_mutex_new ();
431431
432 self->priv->send_pad_blocked_mutex = g_mutex_new ();
433 self->priv->discovery_pad_blocked_mutex = g_mutex_new ();
434432 g_static_rw_lock_init (&self->priv->disposed_lock);
435433
436434 self->priv->media_type = FS_MEDIA_TYPE_LAST + 1;
678676 if (self->priv->rtpbin_send_rtcp_src)
679677 {
680678 gst_pad_set_active (self->priv->rtpbin_send_rtcp_src, FALSE);
681 gst_element_release_request_pad (self->priv->conference->gstrtpbin,
679 gst_element_release_request_pad (self->priv->conference->rtpbin,
682680 self->priv->rtpbin_send_rtcp_src);
683681 gst_object_unref (self->priv->rtpbin_send_rtcp_src);
684682 self->priv->rtpbin_send_rtcp_src = NULL;
687685 if (self->priv->rtpbin_send_rtp_sink)
688686 {
689687 gst_pad_set_active (self->priv->rtpbin_send_rtp_sink, FALSE);
690 gst_element_release_request_pad (self->priv->conference->gstrtpbin,
688 gst_element_release_request_pad (self->priv->conference->rtpbin,
691689 self->priv->rtpbin_send_rtp_sink);
692690 gst_object_unref (self->priv->rtpbin_send_rtp_sink);
693691 self->priv->rtpbin_send_rtp_sink = NULL;
696694 if (self->priv->rtpbin_recv_rtp_sink)
697695 {
698696 gst_pad_set_active (self->priv->rtpbin_recv_rtp_sink, FALSE);
699 gst_element_release_request_pad (self->priv->conference->gstrtpbin,
697 gst_element_release_request_pad (self->priv->conference->rtpbin,
700698 self->priv->rtpbin_recv_rtp_sink);
701699 gst_object_unref (self->priv->rtpbin_recv_rtp_sink);
702700 self->priv->rtpbin_recv_rtp_sink = NULL;
705703 if (self->priv->rtpbin_recv_rtcp_sink)
706704 {
707705 gst_pad_set_active (self->priv->rtpbin_recv_rtcp_sink, FALSE);
708 gst_element_release_request_pad (self->priv->conference->gstrtpbin,
706 gst_element_release_request_pad (self->priv->conference->rtpbin,
709707 self->priv->rtpbin_recv_rtcp_sink);
710708 gst_object_unref (self->priv->rtpbin_recv_rtcp_sink);
711709 self->priv->rtpbin_recv_rtcp_sink = NULL;
783781 g_hash_table_destroy (self->priv->ssrc_streams);
784782 if (self->priv->ssrc_streams_manual)
785783 g_hash_table_destroy (self->priv->ssrc_streams_manual);
786
787 g_mutex_free (self->priv->send_pad_blocked_mutex);
788 g_mutex_free (self->priv->discovery_pad_blocked_mutex);
789784
790785 g_queue_foreach (&self->priv->telephony_events, (GFunc) gst_event_unref,
791786 NULL);
10051000 }
10061001
10071002 static void
1008 _rtp_bitrate_adapter_renegotiate (GstElement *bitrate_adapter,
1009 FsRtpSession *self)
1010 {
1011 gst_element_post_message (GST_ELEMENT (self->priv->conference),
1012 gst_message_new_element (GST_OBJECT (self->priv->conference),
1013 gst_structure_new ("farstream-renegotiate",
1014 "session", FS_TYPE_SESSION, self,
1015 NULL)));
1016 }
1017
1018 static void
10191003 fs_rtp_session_constructed (GObject *object)
10201004 {
10211005 FsRtpSession *self = FS_RTP_SESSION_CAST (object);
10811065 {
10821066 GstElement *bitrate_adapter = fs_rtp_bitrate_adapter_new ();
10831067
1084 g_signal_connect_object (bitrate_adapter, "renegotiate",
1085 G_CALLBACK (_rtp_bitrate_adapter_renegotiate), self, 0);
1086
10871068 if (!gst_bin_add (GST_BIN (self->priv->conference), bitrate_adapter))
10881069 {
10891070 self->priv->construction_error = g_error_new (FS_ERROR,
11391120 gst_object_unref (tee_sink_pad);
11401121
11411122 self->priv->send_tee_discovery_pad = gst_element_get_request_pad (tee,
1142 "src%d");
1123 "src_%u");
11431124 self->priv->send_tee_media_pad = gst_element_get_request_pad (tee,
1144 "src%d");
1125 "src_%u");
11451126
11461127 if (!self->priv->send_tee_discovery_pad || !self->priv->send_tee_media_pad)
11471128 {
11971178 /* Now create the transmitter RTP funnel */
11981179
11991180 tmp = g_strdup_printf ("recv_rtp_funnel_%u", self->id);
1200 funnel = gst_element_factory_make ("fsfunnel", tmp);
1181 funnel = gst_element_factory_make ("funnel", tmp);
12011182 g_free (tmp);
12021183
12031184 if (!funnel)
12211202
12221203 tmp = g_strdup_printf ("recv_rtp_sink_%u", self->id);
12231204 self->priv->rtpbin_recv_rtp_sink =
1224 gst_element_get_request_pad (self->priv->conference->gstrtpbin,
1205 gst_element_get_request_pad (self->priv->conference->rtpbin,
12251206 tmp);
12261207 g_free (tmp);
12271208
12321213 if (GST_PAD_LINK_FAILED (ret))
12331214 {
12341215 self->priv->construction_error = g_error_new (FS_ERROR,
1235 FS_ERROR_CONSTRUCTION,
1236 "Could not link pad %s (%p) with pad %s (%p)",
1237 GST_PAD_NAME (funnel_src_pad), GST_PAD_CAPS (funnel_src_pad),
1238 GST_PAD_NAME (self->priv->rtpbin_recv_rtp_sink),
1239 GST_PAD_CAPS (self->priv->rtpbin_recv_rtp_sink));
1216 FS_ERROR_CONSTRUCTION,
1217 "Could not link pad %s with pad %s",
1218 GST_PAD_NAME (funnel_src_pad),
1219 GST_PAD_NAME (self->priv->rtpbin_recv_rtp_sink));
12401220
12411221 gst_object_unref (funnel_src_pad);
12421222 return;
12491229 /* Now create the transmitter RTCP funnel */
12501230
12511231 tmp = g_strdup_printf ("recv_rtcp_funnel_%u", self->id);
1252 funnel = gst_element_factory_make ("fsfunnel", tmp);
1232 funnel = gst_element_factory_make ("funnel", tmp);
12531233 g_free (tmp);
12541234
12551235 if (!funnel)
12731253
12741254 tmp = g_strdup_printf ("recv_rtcp_sink_%u", self->id);
12751255 self->priv->rtpbin_recv_rtcp_sink =
1276 gst_element_get_request_pad (self->priv->conference->gstrtpbin,
1256 gst_element_get_request_pad (self->priv->conference->rtpbin,
12771257 tmp);
12781258 g_free (tmp);
12791259
12841264 if (GST_PAD_LINK_FAILED (ret))
12851265 {
12861266 self->priv->construction_error = g_error_new (FS_ERROR,
1287 FS_ERROR_CONSTRUCTION,
1288 "Could not link pad %s (%p) with pad %s (%p)",
1289 GST_PAD_NAME (funnel_src_pad), GST_PAD_CAPS (funnel_src_pad),
1290 GST_PAD_NAME (self->priv->rtpbin_recv_rtcp_sink),
1291 GST_PAD_CAPS (self->priv->rtpbin_recv_rtcp_sink));
1267 FS_ERROR_CONSTRUCTION,
1268 "Could not link pad %s with pad %s",
1269 GST_PAD_NAME (funnel_src_pad),
1270 GST_PAD_NAME (self->priv->rtpbin_recv_rtcp_sink));
12921271
12931272 gst_object_unref (funnel_src_pad);
12941273 return;
13011280
13021281 /* Lets get the internal RTP session */
13031282
1304 g_signal_emit_by_name (self->priv->conference->gstrtpbin,
1283 g_signal_emit_by_name (self->priv->conference->rtpbin,
13051284 "get-internal-session", self->id, &self->priv->rtpbin_internal_session);
13061285
13071286 if (!self->priv->rtpbin_internal_session)
13491328
13501329 tmp = g_strdup_printf ("send_rtp_sink_%u", self->id);
13511330 self->priv->rtpbin_send_rtp_sink =
1352 gst_element_get_request_pad (self->priv->conference->gstrtpbin,
1331 gst_element_get_request_pad (self->priv->conference->rtpbin,
13531332 tmp);
13541333 g_free (tmp);
13551334
13601339 if (GST_PAD_LINK_FAILED (ret))
13611340 {
13621341 self->priv->construction_error = g_error_new (FS_ERROR,
1363 FS_ERROR_CONSTRUCTION,
1364 "Could not link pad %s (%p) with pad %s (%p)",
1365 GST_PAD_NAME (muxer_src_pad), GST_PAD_CAPS (muxer_src_pad),
1366 GST_PAD_NAME (self->priv->rtpbin_send_rtp_sink),
1367 GST_PAD_CAPS (self->priv->rtpbin_send_rtp_sink));
1342 FS_ERROR_CONSTRUCTION,
1343 "Could not link pad %s with pad %s",
1344 GST_PAD_NAME (muxer_src_pad),
1345 GST_PAD_NAME (self->priv->rtpbin_send_rtp_sink));
13681346
13691347 gst_object_unref (muxer_src_pad);
13701348 return;
14151393
14161394 tmp = g_strdup_printf ("send_rtp_src_%u", self->id);
14171395 if (!gst_element_link_pads (
1418 self->priv->conference->gstrtpbin, tmp,
1396 self->priv->conference->rtpbin, tmp,
14191397 self->priv->transmitter_rtp_tee, "sink"))
14201398 {
14211399 self->priv->construction_error = g_error_new (FS_ERROR,
14551433
14561434 tmp = g_strdup_printf ("send_rtcp_src_%u", self->id);
14571435 self->priv->rtpbin_send_rtcp_src =
1458 gst_element_get_request_pad (self->priv->conference->gstrtpbin, tmp);
1436 gst_element_get_request_pad (self->priv->conference->rtpbin, tmp);
14591437
14601438 if (!self->priv->rtpbin_send_rtcp_src)
14611439 {
14621440 self->priv->construction_error = g_error_new (FS_ERROR,
14631441 FS_ERROR_CONSTRUCTION,
1464 "Could not get %s request pad from the gstrtpbin", tmp);
1442 "Could not get %s request pad from the rtpbin", tmp);
14651443 g_free (tmp);
14661444 return;
14671445 }
15151493
15161494 self->priv->send_capsfilter = gst_object_ref (capsfilter);
15171495
1518 if (!gst_element_link_pads (capsfilter, "src", muxer, "sink_%d"))
1496 if (!gst_element_link_pads (capsfilter, "src", muxer, "sink_%u"))
15191497 {
15201498 self->priv->construction_error = g_error_new (FS_ERROR,
15211499 FS_ERROR_CONSTRUCTION,
15591537 {
15601538 guint32 ssrc;
15611539 FsRtpSession *self = FS_RTP_SESSION_CAST (user_data);
1540 gboolean valid = FALSE;
15621541
15631542 if (fs_rtp_session_has_disposed_enter (self, NULL))
15641543 return;
15651544
1545
15661546 if (component == 1)
15671547 {
1568 if (gst_rtp_buffer_validate (buffer))
1548 GstRTPBuffer rtpbuffer = GST_RTP_BUFFER_INIT;
1549
1550 if (gst_rtp_buffer_map (buffer, GST_MAP_READ, &rtpbuffer))
15691551 {
1570 ssrc = gst_rtp_buffer_get_ssrc (buffer);
1571 goto ok;
1552 ssrc = gst_rtp_buffer_get_ssrc (&rtpbuffer);
1553 gst_rtp_buffer_unmap (&rtpbuffer);
1554
1555 valid = TRUE;
15721556 }
15731557 }
15741558 else if (component == 2)
15751559 {
15761560 GstRTCPPacket rtcppacket;
1577
1578 if (gst_rtcp_buffer_validate (buffer))
1561 GstRTCPBuffer rtcpbuffer = GST_RTCP_BUFFER_INIT;
1562
1563 if (!gst_rtcp_buffer_map (buffer, GST_MAP_READ, &rtcpbuffer))
15791564 {
1580 if (gst_rtcp_buffer_get_first_packet (buffer, &rtcppacket))
1565 if (gst_rtcp_buffer_get_first_packet (&rtcpbuffer, &rtcppacket))
15811566 {
15821567 do {
15831568 if (gst_rtcp_packet_get_type (&rtcppacket) == GST_RTCP_TYPE_SDES)
15841569 {
15851570 ssrc = gst_rtcp_packet_sdes_get_ssrc (&rtcppacket);
1586 goto ok;
1571 valid = TRUE;
1572 break;
15871573 }
15881574 } while (gst_rtcp_packet_move_to_next (&rtcppacket));
15891575 }
1576 gst_rtcp_buffer_unmap (&rtcpbuffer);
15901577 }
15911578 }
15921579
1593 /* We would have jumped to OK if we had a valid packet */
1594 fs_rtp_session_has_disposed_exit (self);
1595 return;
1596
1597 ok:
1580 if (!valid)
1581 {
1582 fs_rtp_session_has_disposed_exit (self);
1583 return;
1584 }
15981585
15991586 FS_RTP_SESSION_LOCK (self);
16001587
19971984
19981985 self->priv->requested_send_codec = fs_codec_copy (send_codec);
19991986
2000 fs_rtp_session_verify_send_codec_bin (self);
1987 fs_rtp_session_verify_send_codec_bin_locked (self);
20011988 ret = TRUE;
20021989 }
20031990 else
21352122 GstPad *requestpad = NULL;
21362123 GstPad *transpad = NULL;
21372124 GstPadLinkReturn ret;
2138 gchar *requestpad_name = (direction == GST_PAD_SINK) ? "src%d" : "sink%d";
2125 gchar *requestpad_name = (direction == GST_PAD_SINK) ? "src_%u" : "sink_%u";
21392126
21402127 /* The transmitter will only be removed when the whole session is disposed,
21412128 * then the
22142201 gst_element_sync_state_with_parent (sink);
22152202
22162203 if (!_get_request_pad_and_link (self->priv->transmitter_rtp_tee,
2217 "rtp tee", sink, "sink1", GST_PAD_SINK, error))
2204 "rtp tee", sink, "sink_1", GST_PAD_SINK, error))
22182205 goto error;
22192206
22202207 if (!_get_request_pad_and_link (self->priv->transmitter_rtcp_tee,
2221 "rtcp tee", sink, "sink2", GST_PAD_SINK, error))
2208 "rtcp tee", sink, "sink_2", GST_PAD_SINK, error))
22222209 goto error;
22232210
22242211 gst_object_unref (sink);
22882275 }
22892276
22902277 if (!_get_request_pad_and_link (self->priv->transmitter_rtp_funnel,
2291 "rtp funnel", src, "src1", GST_PAD_SRC, error))
2278 "rtp funnel", src, "src_1", GST_PAD_SRC, error))
22922279 goto error;
22932280
22942281 if (!_get_request_pad_and_link (self->priv->transmitter_rtcp_funnel,
2295 "rtcp funnel", src, "src2", GST_PAD_SRC, error))
2282 "rtcp funnel", src, "src_2", GST_PAD_SRC, error))
22962283 goto error;
22972284
22982285 gst_element_sync_state_with_parent (src);
27162703 fs_rtp_session_verify_recv_codecs_locked (session);
27172704
27182705 if (is_new)
2719 g_signal_emit_by_name (session->priv->conference->gstrtpbin,
2706 g_signal_emit_by_name (session->priv->conference->rtpbin,
27202707 "clear-pt-map");
27212708
27222709 fs_rtp_session_start_codec_param_gathering_locked (session);
27232710
2711 if (has_remotes)
2712 {
2713 fs_rtp_session_verify_send_codec_bin_locked (session);
2714 }
2715
27242716 FS_RTP_SESSION_UNLOCK (session);
2725
2726 if (has_remotes)
2727 {
2728 fs_rtp_session_verify_send_codec_bin (session);
2729 }
27302717
27312718 if (is_new)
27322719 {
29912978 }
29922979
29932980 static gboolean
2994 validate_src_pads (gpointer item, GValue *ret, gpointer user_data)
2995 {
2996 GstPad *pad = item;
2981 validate_src_pads (const GValue *item, GValue *ret, gpointer user_data)
2982 {
2983 GstPad *pad = g_value_get_object (item);
29972984 GList *codecs = user_data;
29982985 GstCaps *caps;
29992986 GList *listitem = NULL;
30002987 gboolean retval = FALSE;
30012988
3002 caps = gst_pad_get_caps_reffed (pad);
2989 caps = gst_pad_query_caps (pad, NULL);
30032990
30042991 if (gst_caps_is_empty (caps))
30052992 {
30263013
30273014 error:
30283015
3029 gst_object_unref (pad);
30303016 gst_caps_unref (caps);
30313017 if (!retval)
30323018 g_value_set_boolean (ret, FALSE);
33003286 */
33013287
33023288 static gboolean
3303 link_main_pad (gpointer item, GValue *ret, gpointer user_data)
3304 {
3305 GstPad *pad = item;
3289 link_main_pad (const GValue *item, GValue *ret, gpointer user_data)
3290 {
3291 GstPad *pad = g_value_get_object (item);
33063292 struct link_data *data = user_data;
33073293 GstCaps *caps;
33083294 GstPad *other_pad;
33093295
3310 caps = gst_pad_get_caps_reffed (pad);
3296 caps = gst_pad_query_caps (pad, data->caps);
33113297
33123298 if (!gst_caps_can_intersect (caps, data->caps))
33133299 {
33143300 gst_caps_unref (caps);
3315 gst_object_unref (pad);
33163301 return TRUE;
33173302 }
33183303 gst_caps_unref (caps);
33373322 error:
33383323
33393324 gst_object_unref (other_pad);
3340 gst_object_unref (pad);
33413325
33423326 return FALSE;
33433327 }
33493333 */
33503334
33513335 static gboolean
3352 link_other_pads (gpointer item, GValue *ret, gpointer user_data)
3353 {
3354 GstPad *pad = item;
3336 link_other_pads (const GValue *item, GValue *ret, gpointer user_data)
3337 {
3338 GstPad *pad = g_value_get_object (item);
33553339 struct link_data *data = user_data;
33563340 GstCaps *caps;
33573341 GstCaps *filter_caps = NULL;
33613345
33623346 if (gst_pad_is_linked (pad))
33633347 {
3364 gst_object_unref (pad);
33653348 return TRUE;
33663349 }
33673350
3368 caps = gst_pad_get_caps_reffed (pad);
3351 caps = gst_pad_query_caps (pad, NULL);
33693352
33703353 if (gst_caps_is_empty (caps))
33713354 {
33963379 g_set_error (data->error, FS_ERROR, FS_ERROR_INTERNAL,
33973380 "Could not find codec that matches the src pad");
33983381 g_value_set_boolean (ret, FALSE);
3399 gst_object_unref (pad);
34003382 return FALSE;
34013383 }
34023384
34323414 goto error;
34333415 }
34343416 gst_object_unref (otherpad);
3435 gst_object_unref (pad);
3436 pad = NULL;
34373417
34383418 if (!gst_element_link_pads (capsfilter, NULL,
3439 data->session->priv->rtpmuxer, "sink_%d"))
3419 data->session->priv->rtpmuxer, "sink_%u"))
34403420 {
34413421 g_set_error (data->error, FS_ERROR, FS_ERROR_CONSTRUCTION,
34423422 "Could not an extra capsfilter to the muxer");
34633443 data->session->priv->extra_send_capsfilters =
34643444 g_list_remove (data->session->priv->extra_send_capsfilters,
34653445 capsfilter);
3466 gst_object_unref (pad);
34673446 gst_caps_unref (filter_caps);
34683447
34693448 return FALSE;
35983577 GST_DEBUG ("Trying to add send codecbin for " FS_CODEC_FORMAT,
35993578 FS_CODEC_ARGS (ca->send_codec));
36003579
3601 name = g_strdup_printf ("send_%d_%d", session->id, ca->send_codec->id);
3580 name = g_strdup_printf ("send_%u_%u", session->id, ca->send_codec->id);
36023581 codecs = codec_associations_to_send_codecs (
36033582 session->priv->codec_associations);
36043583 codecbin = _create_codec_bin (ca, ca->send_codec, name, TRUE, codecs,
37643743 return NULL;
37653744 }
37663745
3767 static void
3768 pad_block_do_nothing (GstPad *pad, gboolean blocked, gpointer user_data)
3769 {
3770 }
3771
37723746 /**
37733747 * _send_src_pad_blocked_callback:
37743748 *
37763750 * It is used to replace the codec bin when the send codec has been changed.
37773751 */
37783752
3779 static void
3780 _send_src_pad_blocked_callback (GstPad *pad, gboolean blocked,
3753 static GstPadProbeReturn
3754 _send_src_pad_blocked_callback (GstPad *pad, GstPadProbeInfo *info,
37813755 gpointer user_data)
37823756 {
37833757 FsRtpSession *self = FS_RTP_SESSION (user_data);
37903764
37913765 if (fs_rtp_session_has_disposed_enter (self, NULL))
37923766 {
3793 gst_pad_set_blocked_async (pad, FALSE, pad_block_do_nothing, NULL);
3794 return;
3795 }
3796
3797 g_mutex_lock (self->priv->send_pad_blocked_mutex);
3767 FS_RTP_SESSION_LOCK (self);
3768 self->priv->send_pad_block_id = 0;
3769 FS_RTP_SESSION_UNLOCK (self);
3770 return GST_PAD_PROBE_REMOVE;
3771 }
37983772
37993773 FS_RTP_SESSION_LOCK (self);
3774 self->priv->send_pad_block_id = 0;
3775
38003776 ca = fs_rtp_session_select_send_codec_locked (self, &error);
38013777
38023778 if (!ca)
39113887 * with the right caps to come in. Only then can we drop the pad block
39123888 */
39133889
3914 gst_pad_set_blocked_async (pad, FALSE, pad_block_do_nothing, NULL);
3915
3916 g_mutex_unlock (self->priv->send_pad_blocked_mutex);
39173890 fs_rtp_session_has_disposed_exit (self);
3918 return;
3891 return GST_PAD_PROBE_REMOVE;
39193892
39203893 done_locked:
39213894 FS_RTP_SESSION_UNLOCK (self);
39233896 }
39243897
39253898 /**
3926 * fs_rtp_session_verify_send_codec_bin:
3899 * fs_rtp_session_verify_send_codec_bin_locked:
39273900 *
39283901 * Verify that the current send codec is still valid and if it is not
39293902 * do whats required to have the right one be used.
39333906 */
39343907
39353908 static void
3936 fs_rtp_session_verify_send_codec_bin (FsRtpSession *self)
3937 {
3938 gst_pad_set_blocked_async (self->priv->send_tee_media_pad, TRUE,
3939 _send_src_pad_blocked_callback, self);
3909 fs_rtp_session_verify_send_codec_bin_locked (FsRtpSession *self)
3910 {
3911 if (self->priv->send_pad_block_id == 0)
3912 self->priv->send_pad_block_id =
3913 gst_pad_add_probe (self->priv->send_tee_media_pad,
3914 GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM,
3915 _send_src_pad_blocked_callback, g_object_ref (self), g_object_unref);
39403916 }
39413917
39423918 /*
39673943 if (!ca)
39683944 goto out;
39693945
3970 name = g_strdup_printf ("recv_%d_%u_%d", session->id, substream->ssrc,
3946 name = g_strdup_printf ("recv_%u_%u_%u", session->id, substream->ssrc,
39713947 substream->pt);
39723948 codecbin = _create_codec_bin (ca, *new_codec, name, FALSE, NULL,
39733949 current_builder_hash, new_builder_hash, error);
43734349
43744350 out:
43754351
4352 gst_caps_unref (caps);
4353
4354 if (block && session->priv->discovery_pad_block_id == 0)
4355 session->priv->discovery_pad_block_id =
4356 gst_pad_add_probe (session->priv->send_tee_discovery_pad,
4357 GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM,
4358 _discovery_pad_blocked_callback,
4359 g_object_ref (session), g_object_unref);
4360
43764361 FS_RTP_SESSION_UNLOCK (session);
4377
4378 gst_caps_unref (caps);
4379
4380 if (block)
4381 gst_pad_set_blocked_async (session->priv->send_tee_discovery_pad, TRUE,
4382 _discovery_pad_blocked_callback, session);
43834362 fs_rtp_session_has_disposed_exit (session);
43844363 }
43854364
44104389 fs_codec_destroy (session->priv->discovery_codec);
44114390 session->priv->discovery_codec = NULL;
44124391
4413 tmp = g_strdup_printf ("discover_%d_%d", session->id, ca->send_codec->id);
4392 tmp = g_strdup_printf ("discover_%u_%u", session->id, ca->send_codec->id);
44144393 codecbin = _create_codec_bin (ca, ca->send_codec, tmp, TRUE, NULL,
44154394 0, NULL, error);
44164395 g_free (tmp);
44444423 session->priv->discovery_capsfilter == NULL)
44454424 {
44464425
4447 tmp = g_strdup_printf ("discovery_fakesink_%d", session->id);
4426 tmp = g_strdup_printf ("discovery_fakesink_%u", session->id);
44484427 session->priv->discovery_fakesink =
44494428 gst_element_factory_make ("fakesink", tmp);
44504429 g_free (tmp);
44744453 goto error;
44754454 }
44764455
4477 tmp = g_strdup_printf ("discovery_capsfilter_%d", session->id);
4456 tmp = g_strdup_printf ("discovery_capsfilter_%u", session->id);
44784457 session->priv->discovery_capsfilter =
44794458 gst_element_factory_make ("capsfilter", tmp);
44804459 g_free (tmp);
46144593 * This is the callback to change the discovery codecbin
46154594 */
46164595
4617 static void
4618 _discovery_pad_blocked_callback (GstPad *pad, gboolean blocked,
4596 static GstPadProbeReturn
4597 _discovery_pad_blocked_callback (GstPad *pad, GstPadProbeInfo *info,
46194598 gpointer user_data)
46204599 {
46214600 FsRtpSession *session = user_data;
46254604
46264605 if (fs_rtp_session_has_disposed_enter (session, NULL))
46274606 {
4628 gst_pad_set_blocked_async (pad, FALSE, pad_block_do_nothing, NULL);
4629 return;
4630 }
4631
4632 g_mutex_lock (session->priv->discovery_pad_blocked_mutex);
4607 FS_RTP_SESSION_LOCK (session);
4608 session->priv->discovery_pad_block_id = 0;
4609 FS_RTP_SESSION_UNLOCK (session);
4610 return GST_PAD_PROBE_REMOVE;
4611 }
46334612
46344613 FS_RTP_SESSION_LOCK (session);
4614 session->priv->discovery_pad_block_id = 0;
46354615
46364616 /* Find out if there is a codec that needs the config to be fetched */
46374617 for (item = g_list_first (session->priv->codec_associations);
46724652 g_clear_error (&error);
46734653
46744654 out_unlocked:
4675 gst_pad_set_blocked_async (pad, FALSE, pad_block_do_nothing, NULL);
4676 g_mutex_unlock (session->priv->discovery_pad_blocked_mutex);
46774655 fs_rtp_session_has_disposed_exit (session);
4678 return;
4656 return GST_PAD_PROBE_REMOVE;
46794657
46804658 out_locked:
46814659 FS_RTP_SESSION_UNLOCK (session);
47104688
47114689 GST_DEBUG ("Starting Codec Param discovery for session %d", session->id);
47124690
4713 gst_pad_set_blocked_async (session->priv->send_tee_discovery_pad, TRUE,
4714 _discovery_pad_blocked_callback, session);
4691 if (session->priv->discovery_pad_block_id == 0)
4692 session->priv->discovery_pad_block_id =
4693 gst_pad_add_probe (session->priv->send_tee_discovery_pad,
4694 GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM,
4695 _discovery_pad_blocked_callback, g_object_ref (session), g_object_unref);
47154696 }
47164697
47174698
48224803 };
48234804
48244805 static void
4825 codecbin_set_bitrate_func (gpointer e, gpointer user_data)
4826 {
4827 GstElement *elem = e;
4806 codecbin_set_bitrate_func (const GValue *item, gpointer user_data)
4807 {
4808 GstElement *elem = g_value_get_object (item);
48284809 struct CodecBinSetBitrateData *data = user_data;
48294810
48304811 if (g_object_class_find_property (G_OBJECT_GET_CLASS (elem), "bitrate"))
48324813 fs_utils_set_bitrate (elem, data->bitrate);
48334814 data->ret = TRUE;
48344815 }
4835
4836 gst_object_unref (elem);
48374816 }
48384817
48394818 static gboolean
611611 }
612612
613613 source->priv->muxer_request_pad = gst_element_get_request_pad (rtpmuxer,
614 "priority_sink_%d");
614 "priority_sink_%u");
615615 if (!source->priv->muxer_request_pad)
616616 source->priv->muxer_request_pad = gst_element_get_request_pad (rtpmuxer,
617 "sink_%d");
617 "sink_%u");
618618
619619 if (!source->priv->muxer_request_pad)
620620 {
111111 * Protected by the session mutex
112112 */
113113 gulong blocking_id;
114 /* Pointer to last buffer caps, protected by the session lock */
115 GstCaps *last_buffer_caps;
114 gulong check_caps_id;
116115
117116 /* This is protected by the session lock... the caller takes the lock
118117 * before updating the property.. yea nasty I know
157156 GValue *value, GParamSpec *pspec);
158157 static void fs_rtp_sub_stream_set_property (GObject *object, guint prop_id,
159158 const GValue *value, GParamSpec *pspec);
160
161 static void
162 fs_rtp_sub_stream_add_probe_locked (FsRtpSubStream *substream);
163159
164160 static void
165161 fs_rtp_sub_stream_emit_error (FsRtpSubStream *substream,
569565 self->priv->rtpbin_pad, "unlinked", G_CALLBACK (rtpbin_pad_unlinked),
570566 self, 0);
571567
572 tmp = g_strdup_printf ("output_recv_valve_%d_%d_%d", self->priv->session->id,
568 tmp = g_strdup_printf ("output_recv_valve_%u_%u_%u", self->priv->session->id,
573569 self->ssrc, self->pt);
574570 self->priv->output_valve = gst_element_factory_make ("valve", tmp);
575571 g_free (tmp);
603599 return;
604600 }
605601
606 tmp = g_strdup_printf ("recv_capsfilter_%d_%d_%d", self->priv->session->id,
602 tmp = g_strdup_printf ("recv_capsfilter_%u_%u_%u", self->priv->session->id,
607603 self->ssrc, self->pt);
608604 self->priv->capsfilter = gst_element_factory_make ("capsfilter", tmp);
609605 g_free (tmp);
633629 return;
634630 }
635631
636 tmp = g_strdup_printf ("input_recv_valve_%d_%d_%d", self->priv->session->id,
632 tmp = g_strdup_printf ("input_recv_valve_%u_%u_%u", self->priv->session->id,
637633 self->ssrc, self->pt);
638634 self->priv->input_valve = gst_element_factory_make ("valve", tmp);
639635 g_free (tmp);
708704 {
709705 FsRtpSubStream *self = FS_RTP_SUB_STREAM (object);
710706
711 fs_rtp_sub_stream_stop (self);
712
713707 fs_rtp_sub_stream_stop_no_rtcp_timeout_thread (self);
714708
715709 if (self->priv->output_ghostpad) {
746740 self->priv->input_valve = NULL;
747741 }
748742
749 if (self->priv->blocking_id)
750 {
751 gst_pad_remove_data_probe (self->priv->rtpbin_pad,
752 self->priv->blocking_id);
753 self->priv->blocking_id = 0;
754 }
755
756743 if (self->priv->rtpbin_pad) {
757744 gst_object_unref (self->priv->rtpbin_pad);
758745 self->priv->rtpbin_pad = NULL;
768755
769756 if (self->codec)
770757 fs_codec_destroy (self->codec);
771
772 if (self->priv->last_buffer_caps)
773 gst_caps_unref (self->priv->last_buffer_caps);
774758
775759 if (self->priv->mutex)
776760 g_mutex_free (self->priv->mutex);
970954 goto error;
971955 }
972956
973 /* This is a non-error error
974 * Some codecs require config data to start.. so we should just ignore them
975 */
976 fs_rtp_sub_stream_add_probe_locked (substream);
977
978 GST_DEBUG ("New recv codec accepted");
979
980957 gst_object_unref (pad);
981958
982959 FS_RTP_SESSION_LOCK (substream->priv->session);
10361013 return substream;
10371014 }
10381015
1039 static void
1040 do_nothing_blocked_callback (GstPad *pad, gboolean blocked, gpointer user_data)
1041 {
1042 }
1043
10441016
10451017 /**
10461018 * fs_rtp_sub_stream_stop:
10621034 substream->priv->rtpbin_unlinked_sig = 0;
10631035 }
10641036
1065 gst_pad_set_blocked_async (substream->priv->rtpbin_pad, FALSE,
1066 do_nothing_blocked_callback, NULL);
1037 FS_RTP_SESSION_LOCK (substream->priv->session);
1038 if (substream->priv->blocking_id != 0)
1039 {
1040 gst_pad_remove_probe (substream->priv->rtpbin_pad,
1041 substream->priv->blocking_id);
1042 substream->priv->blocking_id = 0;
1043 }
1044 FS_RTP_SESSION_UNLOCK (substream->priv->session);
1045
1046 if (substream->priv->check_caps_id != 0)
1047 {
1048 gst_pad_remove_probe (substream->priv->rtpbin_pad,
1049 substream->priv->check_caps_id);
1050 substream->priv->check_caps_id = 0;
1051 }
10671052
10681053 if (substream->priv->output_ghostpad)
10691054 gst_pad_set_active (substream->priv->output_ghostpad, FALSE);
10911076 gst_element_set_locked_state (substream->priv->input_valve, TRUE);
10921077 gst_element_set_state (substream->priv->input_valve, GST_STATE_NULL);
10931078 }
1094 }
1095
1096 static gboolean
1097 event_probe_drop_newsegment (GstPad *pad, GstEvent *event, gpointer user_data)
1098 {
1099 if (GST_EVENT_TYPE (event) == GST_EVENT_NEWSEGMENT)
1100 {
1101 gboolean update;
1102 GstFormat format;
1103 gint64 start;
1104 gint64 stop;
1105
1106 gst_event_parse_new_segment (event, &update, NULL, &format, &start, &stop,
1107 NULL);
1108
1109 /* Drop this one is assumed, so lets drop it to prevent accumulation
1110 * If somethign sends something else, lets assume they now
1111 * what they are doing
1112 */
1113 if (!update && format == GST_FORMAT_TIME && start == 0 && stop == -1)
1114 {
1115 GST_DEBUG ("Dropping newsegment event to prevent accumulation");
1116 return FALSE;
1117 }
1118 GST_INFO ("Letting newsegment event through, be careful what you wish for");
1119 }
1120
1121 return TRUE;
11221079 }
11231080
11241081 /**
11561113
11571114 substream->priv->adding_output_ghostpad = TRUE;
11581115
1159 padname = g_strdup_printf ("src_%u_%u_%d", substream->priv->session->id,
1116 padname = g_strdup_printf ("src_%u_%u_%u", substream->priv->session->id,
11601117 substream->ssrc,
11611118 substream->pt);
11621119
11691126 ghostpad = gst_ghost_pad_new_from_template (padname, valve_srcpad,
11701127 gst_element_class_get_pad_template (
11711128 GST_ELEMENT_GET_CLASS (substream->priv->conference),
1172 "src_%d_%d_%d"));
1129 "src_%u_%u_%u"));
11731130
11741131 gst_object_unref (valve_srcpad);
11751132 g_free (padname);
11771134 if (!ghostpad)
11781135 {
11791136 g_set_error (error, FS_ERROR, FS_ERROR_CONSTRUCTION,
1180 "Could not build ghostpad src_%u_%u_%d", substream->priv->session->id,
1137 "Could not build ghostpad src_%u_%u_%u", substream->priv->session->id,
11811138 substream->ssrc, substream->pt);
11821139 goto error;
11831140 }
11841141
1185 gst_pad_add_event_probe (ghostpad, G_CALLBACK (event_probe_drop_newsegment),
1186 NULL);
1187
11881142 if (!gst_pad_set_active (ghostpad, TRUE))
11891143 {
11901144 g_set_error (error, FS_ERROR, FS_ERROR_CONSTRUCTION,
1191 "Could not activate the src_%u_%u_%d", substream->priv->session->id,
1145 "Could not activate the src_%u_%u_%u", substream->priv->session->id,
11921146 substream->ssrc, substream->pt);
11931147 gst_object_unref (ghostpad);
11941148 goto error;
11981152 ghostpad))
11991153 {
12001154 g_set_error (error, FS_ERROR, FS_ERROR_CONSTRUCTION,
1201 "Could add build ghostpad src_%u_%u_%d to the conference",
1155 "Could add build ghostpad src_%u_%u_%u to the conference",
12021156 substream->priv->session->id, substream->ssrc, substream->pt);
12031157 gst_object_unref (ghostpad);
12041158 goto error;
12351189 return FALSE;
12361190 }
12371191
1238 /**
1239 *_rtpbin_pad_have_data_callback:
1240 *
1241 * This is the pad probe callback on the sink pad of the rtpbin.
1242 * It is used to replace the codec bin when the recv codec has been changed.
1243 *
1244 * Its a callback, it returns TRUE to let the data through and FALSE to drop it
1245 * (See the "have-data" signal documentation of #GstPad).
1246 */
1247
1248 static gboolean
1249 _rtpbin_pad_have_data_callback (GstPad *pad, GstMiniObject *miniobj,
1192
1193 static GstPadProbeReturn
1194 _probe_check_caps (GstPad *pad, GstPadProbeInfo *info, gpointer user_data)
1195 {
1196 FsRtpSubStream *self = FS_RTP_SUB_STREAM (user_data);
1197 GstEvent *event;
1198 GstPadProbeReturn ret = GST_PAD_PROBE_DROP;
1199
1200
1201 /* drop buffers before we have the right caps */
1202 if (!(GST_PAD_PROBE_INFO_TYPE(info) & GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM))
1203 return GST_PAD_PROBE_DROP;
1204
1205 event = GST_PAD_PROBE_INFO_EVENT (info);
1206
1207 /* let other events like segments through before the caps we like */
1208 if (GST_EVENT_TYPE (event) != GST_EVENT_CAPS)
1209 return GST_PAD_PROBE_PASS;
1210
1211 if (fs_rtp_session_has_disposed_enter (self->priv->session, NULL))
1212 return GST_PAD_PROBE_REMOVE;
1213
1214 if (fs_rtp_sub_stream_has_stopped_enter (self))
1215 {
1216 fs_rtp_session_has_disposed_exit (self->priv->session);
1217 return GST_PAD_PROBE_REMOVE;
1218 }
1219
1220 FS_RTP_SESSION_LOCK (self->priv->session);
1221
1222 if (self->priv->codecbin && self->codec)
1223 {
1224 GstCaps *caps;
1225
1226 gst_event_parse_caps (event, &caps);
1227
1228 if (gst_pad_set_caps (pad, caps))
1229 ret = GST_PAD_PROBE_REMOVE;
1230 }
1231
1232 FS_RTP_SESSION_UNLOCK (self->priv->session);
1233
1234 fs_rtp_sub_stream_has_stopped_exit (self);
1235 fs_rtp_session_has_disposed_exit (self->priv->session);
1236
1237 return ret;
1238 }
1239
1240 static GstPadProbeReturn
1241 _rtpbin_pad_blocked_callback (GstPad *pad, GstPadProbeInfo *info,
12501242 gpointer user_data)
1251 {
1252 FsRtpSubStream *self = FS_RTP_SUB_STREAM (user_data);
1253 gboolean ret = TRUE;
1254 FsRtpSession *session;
1255
1256 if (fs_rtp_session_has_disposed_enter (self->priv->session, NULL))
1257 return FALSE;
1258
1259 if (fs_rtp_sub_stream_has_stopped_enter (self))
1260 {
1261 fs_rtp_session_has_disposed_exit (self->priv->session);
1262 return FALSE;
1263 }
1264
1265 g_object_ref (self);
1266 session = g_object_ref (self->priv->session);
1267
1268 FS_RTP_SESSION_LOCK (self->priv->session);
1269
1270 if (!self->priv->codecbin || !self->codec)
1271 {
1272 ret = FALSE;
1273 }
1274 else if (GST_IS_BUFFER (miniobj))
1275 {
1276 if (self->priv->last_buffer_caps == GST_BUFFER_CAPS (miniobj))
1277 {
1278 ret = FALSE;
1279 }
1280 else
1281 {
1282 ret = gst_pad_set_caps (pad, GST_BUFFER_CAPS (miniobj));
1283 self->priv->last_buffer_caps = gst_caps_ref (GST_BUFFER_CAPS (miniobj));
1284
1285 if (!ret)
1286 GST_WARNING ("Caps rejected by codecbin,"
1287 " not letting any buffer through");
1288
1289 if (ret && self->priv->blocking_id)
1290 {
1291 gst_pad_remove_data_probe (pad, self->priv->blocking_id);
1292 self->priv->blocking_id = 0;
1293 }
1294 }
1295 }
1296
1297 FS_RTP_SESSION_UNLOCK (self->priv->session);
1298
1299 fs_rtp_sub_stream_has_stopped_exit (self);
1300
1301 fs_rtp_session_has_disposed_exit (self->priv->session);
1302
1303 g_object_unref (self);
1304 g_object_unref (session);
1305
1306 return ret;
1307 }
1308
1309 static void
1310 _rtpbin_pad_blocked_callback (GstPad *pad, gboolean blocked, gpointer user_data)
13111243 {
13121244 FsRtpSubStream *substream = user_data;
13131245 GError *error = NULL;
13151247 guint new_builder_hash = 0;
13161248 FsCodec *codec = NULL;
13171249 FsRtpSession *session;
1250 GstCaps *caps = NULL;
1251
1252 FS_RTP_SESSION_LOCK (substream->priv->session);
1253 substream->priv->blocking_id = 0;
1254 FS_RTP_SESSION_UNLOCK (substream->priv->session);
1255
13181256
13191257 if (fs_rtp_session_has_disposed_enter (substream->priv->session, NULL))
13201258 {
1321 gst_pad_set_blocked_async (pad, FALSE, do_nothing_blocked_callback, NULL);
1322 return;
1259 return GST_PAD_PROBE_REMOVE;
13231260 }
13241261
13251262 if (fs_rtp_sub_stream_has_stopped_enter (substream))
13261263 {
1327 gst_pad_set_blocked_async (pad, FALSE, do_nothing_blocked_callback, NULL);
13281264 fs_rtp_session_has_disposed_exit (substream->priv->session);
1329 return;
1265 return GST_PAD_PROBE_REMOVE;
13301266 }
13311267
13321268 g_object_ref (substream);
13341270
13351271 GST_DEBUG ("Substream blocked for codec change (session:%d SSRC:%x pt:%d)",
13361272 substream->priv->session->id, substream->ssrc, substream->pt);
1337
1338 gst_pad_set_blocked_async (pad, FALSE, do_nothing_blocked_callback, NULL);
13391273
13401274 g_signal_emit (substream, signals[GET_CODEC_BIN], 0,
13411275 substream->priv->stream, &codec,
13481282 if (codec &&
13491283 (!substream->codec || !fs_codec_are_equal (codec, substream->codec)))
13501284 {
1351 GstCaps *caps;
13521285 gchar *tmp;
13531286
13541287 if (substream->codec)
13601293 GST_DEBUG ("Setting caps %s on recv substream", tmp);
13611294 g_free (tmp);
13621295 g_object_set (substream->priv->capsfilter, "caps", caps, NULL);
1363
1364 fs_rtp_sub_stream_add_probe_locked (substream);
13651296 }
13661297 FS_RTP_SESSION_UNLOCK (substream->priv->session);
13671298
13681299 if (codecbin)
1300 {
13691301 if (!fs_rtp_sub_stream_set_codecbin (substream, codec, codecbin,
13701302 new_builder_hash, &error))
13711303 goto error;
1304 }
1305
1306 if (caps)
1307 {
1308
1309 if (!gst_pad_set_caps (substream->priv->rtpbin_pad, caps))
1310 {
1311 if (substream->priv->check_caps_id == 0)
1312 substream->priv->check_caps_id =
1313 gst_pad_add_probe (substream->priv->rtpbin_pad,
1314 GST_PAD_PROBE_TYPE_DATA_DOWNSTREAM,
1315 _probe_check_caps, g_object_ref (substream), g_object_unref);
1316 }
1317
1318 gst_caps_unref (caps);
1319 }
13721320
13731321 out:
13741322
13811329 g_object_unref (substream);
13821330 g_object_unref (session);
13831331
1384 return;
1332 return GST_PAD_PROBE_REMOVE;
13851333
13861334 error:
13871335
13881336 g_prefix_error (&error, "Could not add the new recv codec bin for"
1389 " ssrc %u and payload type %d to the state NULL", substream->ssrc,
1337 " ssrc %u and payload type %d to the state NULL: ", substream->ssrc,
13901338 substream->pt);
13911339
13921340 if (substream->priv->stream)
13991347 goto out;
14001348 }
14011349
1402 static void
1403 fs_rtp_sub_stream_add_probe_locked (FsRtpSubStream *substream)
1404 {
1405 if (fs_rtp_sub_stream_has_stopped_enter (substream))
1406 return;
1407
1408 if (substream->priv->last_buffer_caps)
1409 gst_caps_unref (substream->priv->last_buffer_caps);
1410 substream->priv->last_buffer_caps = NULL;
1411
1412 if (!substream->priv->blocking_id)
1413 substream->priv->blocking_id = gst_pad_add_data_probe (
1414 substream->priv->rtpbin_pad,
1415 G_CALLBACK (_rtpbin_pad_have_data_callback), substream);
1416
1417 fs_rtp_sub_stream_has_stopped_exit (substream);
1418 }
1419
14201350 /**
14211351 * fs_rtp_sub_stream_verify_codec_locked:
14221352 * @substream: A #FsRtpSubStream
14361366 GST_LOG ("Starting codec verification process for substream with"
14371367 " SSRC:%x pt:%d", substream->ssrc, substream->pt);
14381368
1439
1440 fs_rtp_sub_stream_add_probe_locked (substream);
1441
1442 gst_pad_set_blocked_async (substream->priv->rtpbin_pad, TRUE,
1443 _rtpbin_pad_blocked_callback, substream);
1369 if (!substream->priv->blocking_id)
1370 substream->priv->blocking_id = gst_pad_add_probe (
1371 substream->priv->rtpbin_pad, GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM,
1372 _rtpbin_pad_blocked_callback, g_object_ref (substream), g_object_unref);
14441373
14451374 fs_rtp_sub_stream_has_stopped_exit (substream);
14461375 }
167167 {
168168 GST_OBJECT_LOCK (self);
169169
170 if (self->modder_check_probe_id)
171 gst_pad_remove_probe (self->in_rtp_pad, self->modder_check_probe_id);
172 self->modder_check_probe_id = 0;
173
170174 if (self->in_rtp_probe_id)
171 g_signal_handler_disconnect (self->in_rtp_pad, self->in_rtp_probe_id);
175 gst_pad_remove_probe (self->in_rtp_pad, self->in_rtp_probe_id);
172176 self->in_rtp_probe_id = 0;
173177 if (self->in_rtcp_probe_id)
174 g_signal_handler_disconnect (self->in_rtcp_pad, self->in_rtcp_probe_id);
178 gst_pad_remove_probe (self->in_rtcp_pad, self->in_rtcp_probe_id);
175179 self->in_rtcp_probe_id = 0;
176180
177181
469473 src->receiver_id = gst_clock_new_single_shot_id (self->systemclock,
470474 expiry * GST_USECOND);
471475
472 cret = gst_clock_id_wait_async_full (src->receiver_id, feedback_timer_expired,
476 cret = gst_clock_id_wait_async (src->receiver_id, feedback_timer_expired,
473477 build_timer_data (self, src->ssrc), free_timer_data);
474478 if (cret != GST_CLOCK_OK)
475479 GST_ERROR_OBJECT (self,
533537
534538 struct SendingRtcpData {
535539 FsRtpTfrc *self;
536 GstBuffer *buffer;
540 GstRTCPBuffer rtcpbuffer;
537541 gboolean ret;
538542 guint32 ssrc;
539543 gboolean have_ssrc;
561565 if (!src->send_feedback)
562566 goto done;
563567
564 if (!gst_rtcp_buffer_add_packet (data->buffer, GST_RTCP_TYPE_RTPFB, &packet))
568 if (!gst_rtcp_buffer_add_packet (&data->rtcpbuffer, GST_RTCP_TYPE_RTPFB,
569 &packet))
565570 goto done;
566571
567572 if (!gst_rtcp_packet_fb_set_fci_length (&packet, 4))
608613 rtpsession_sending_rtcp (GObject *rtpsession, GstBuffer *buffer,
609614 gboolean is_early, FsRtpTfrc *self)
610615 {
611 struct SendingRtcpData data;
616 struct SendingRtcpData data = {NULL, GST_RTCP_BUFFER_INIT};
617
618 gst_rtcp_buffer_map (buffer, GST_MAP_READWRITE, &data.rtcpbuffer);
612619
613620 data.self = self;
614621 data.ret = FALSE;
615 data.buffer = buffer;
616622 data.have_ssrc = FALSE;
623
617624
618625 GST_OBJECT_LOCK (self);
619626 g_hash_table_foreach (self->tfrc_sources, tfrc_sources_process, &data);
620627 GST_OBJECT_UNLOCK (self);
621628
629 gst_rtcp_buffer_unmap (&data.rtcpbuffer);
630
622631 /* Return TRUE if something was added */
623632 return data.ret;
624633 }
625634
626 static gboolean
627 incoming_rtp_probe (GstPad *pad, GstBuffer *buffer, FsRtpTfrc *self)
628 {
635 static GstPadProbeReturn
636 incoming_rtp_probe (GstPad *pad, GstPadProbeInfo *info, gpointer user_data)
637 {
638 FsRtpTfrc *self = FS_RTP_TFRC (user_data);
639 GstBuffer *buffer = GST_PAD_PROBE_INFO_BUFFER (info);
629640 guint32 ssrc;
630641 guint8 *data;
631642 guint size;
638649 guint64 now;
639650 guint8 pt;
640651 gint seq_delta;
641
642 if (!gst_rtp_buffer_validate (buffer))
643 return TRUE;
652 GstRTPBuffer rtpbuffer = GST_RTP_BUFFER_INIT;
653
654 if (!gst_rtp_buffer_map (buffer, GST_MAP_READ, &rtpbuffer))
655 return GST_PAD_PROBE_OK;
644656
645657 GST_OBJECT_LOCK (self);
646658
647659 if (!self->fsrtpsession)
648 goto out_no_header;
649
650 ssrc = gst_rtp_buffer_get_ssrc (buffer);
651
652 pt = gst_rtp_buffer_get_payload_type (buffer);
660 goto out_no_header_unmap;
661
662 ssrc = gst_rtp_buffer_get_ssrc (&rtpbuffer);
663 pt = gst_rtp_buffer_get_payload_type (&rtpbuffer);
664 seq = gst_rtp_buffer_get_seq (&rtpbuffer);
653665
654666 if (pt > 128 || !self->pts[pt])
655 goto out_no_header;
667 goto out_no_header_unmap;
656668
657669 if (self->extension_type == EXTENSION_NONE)
658 goto out_no_header;
670 goto out_no_header_unmap;
659671 else if (self->extension_type == EXTENSION_ONE_BYTE)
660 got_header = gst_rtp_buffer_get_extension_onebyte_header (buffer,
672 got_header = gst_rtp_buffer_get_extension_onebyte_header (&rtpbuffer,
661673 self->extension_id, 0, (gpointer *) &data, &size);
662674 else if (self->extension_type == EXTENSION_TWO_BYTES)
663 got_header = gst_rtp_buffer_get_extension_twobytes_header (buffer,
675 got_header = gst_rtp_buffer_get_extension_twobytes_header (&rtpbuffer,
664676 NULL, self->extension_id, 0, (gpointer *) &data, &size);
665677
666 seq = gst_rtp_buffer_get_seq (buffer);
678 gst_rtp_buffer_unmap (&rtpbuffer);
667679
668680 src = fs_rtp_tfrc_get_remote_ssrc_locked (self, ssrc, NULL);
669681
722734 ts += src->ts_cycles;
723735
724736 send_rtcp = tfrc_receiver_got_packet (src->receiver, ts, now, seq, rtt,
725 GST_BUFFER_SIZE (buffer));
737 gst_rtp_buffer_get_packet_len (&rtpbuffer));
726738
727739 GST_LOG_OBJECT (self, "Got RTP packet");
728740
745757 GST_OBJECT_UNLOCK (self);
746758 }
747759
748 return TRUE;
760 return GST_PAD_PROBE_OK;
761
762 out_no_header_unmap:
763
764 gst_rtp_buffer_unmap (&rtpbuffer);
749765
750766 out_no_header:
751767 if (src)
824840 src->sender_id = gst_clock_new_single_shot_id (self->systemclock,
825841 expiry * GST_USECOND);
826842
827 cret = gst_clock_id_wait_async_full (src->sender_id,
843 cret = gst_clock_id_wait_async (src->sender_id,
828844 no_feedback_timer_expired, build_timer_data (self, src->ssrc),
829845 free_timer_data);
830846 if (cret != GST_CLOCK_OK)
843859 src->send_ts_base = now;
844860 }
845861
846 static gboolean
847 incoming_rtcp_probe (GstPad *pad, GstBuffer *buffer, FsRtpTfrc *self)
848 {
862 static GstPadProbeReturn
863 incoming_rtcp_probe (GstPad *pad, GstPadProbeInfo *info, gpointer user_data)
864 {
865 FsRtpTfrc *self = FS_RTP_TFRC (user_data);
866 GstBuffer *buffer = GST_PAD_PROBE_INFO_BUFFER (info);
867 GstRTCPBuffer rtcpbuffer = GST_RTCP_BUFFER_INIT;
849868 GstRTCPPacket packet;
850869 gboolean notify = FALSE;
851870
852871 if (!gst_rtcp_buffer_validate (buffer))
853 goto out;
854
855 if (!gst_rtcp_buffer_get_first_packet (buffer, &packet))
872 return GST_PAD_PROBE_OK;
873
874 gst_rtcp_buffer_map (buffer, GST_MAP_READ, &rtcpbuffer);
875
876 if (!gst_rtcp_buffer_get_first_packet (&rtcpbuffer, &packet))
856877 goto out;
857878
858879 do {
867888 guint32 delay;
868889 guint32 x_recv;
869890 gdouble loss_event_rate;
870 guint8 *buf = GST_BUFFER_DATA (packet.buffer) + packet.offset;
891 guint8 *buf = rtcpbuffer.map.data + packet.offset;
871892 struct TrackedSource *src;
872893 guint64 now;
873894 guint64 rtt;
9811002 g_object_notify (G_OBJECT (self), "bitrate");
9821003
9831004 out:
984 return TRUE;
1005
1006 gst_rtcp_buffer_unmap (&rtcpbuffer);
1007
1008 return GST_PAD_PROBE_OK;
9851009 }
9861010
9871011 static GstClockTime
10141038 bytes_for_one_rtt = 0;
10151039 }
10161040
1017 size = GST_BUFFER_SIZE (buffer) + 10;
1041 size = gst_buffer_get_size (buffer) + 10;
10181042
10191043 if (GST_BUFFER_TIMESTAMP_IS_VALID (buffer))
10201044 {
10661090 FsRtpTfrc *self = FS_RTP_TFRC (user_data);
10671091 gchar data[7];
10681092 guint64 now;
1093 GstBuffer *headerbuf;
10691094 GstBuffer *newbuf;
10701095 gboolean is_data_limited;
1096 gsize header_size;
1097 gsize new_header_size;
1098 GstRTPBuffer rtpbuffer = GST_RTP_BUFFER_INIT;
10711099
10721100 if (!GST_CLOCK_TIME_IS_VALID (buffer_ts))
10731101 return buffer;
11001128 ONE_32BIT_CYCLE)
11011129 self->last_src->send_ts_cycles += ONE_32BIT_CYCLE;
11021130
1103 is_data_limited = (GST_BUFFER_TIMESTAMP (buffer) == buffer_ts);
1104
1105 newbuf = gst_buffer_new_and_alloc (GST_BUFFER_SIZE (buffer) + 16);
1106 gst_buffer_copy_metadata (newbuf, buffer, GST_BUFFER_COPY_ALL);
1107
1108 memcpy (GST_BUFFER_DATA (newbuf), GST_BUFFER_DATA (buffer),
1109 gst_rtp_buffer_get_header_len (buffer));
1131 is_data_limited = (GST_BUFFER_PTS (buffer) == buffer_ts);
1132
1133 gst_rtp_buffer_map (buffer, GST_MAP_READ, &rtpbuffer);
1134 header_size = gst_rtp_buffer_get_header_len (&rtpbuffer);
1135 gst_rtp_buffer_unmap (&rtpbuffer);
1136
1137 headerbuf = gst_buffer_copy_region (buffer, GST_BUFFER_COPY_ALL, 0,
1138 header_size);
1139 headerbuf = gst_buffer_make_writable (headerbuf);
1140 gst_buffer_set_size (headerbuf, header_size + 16);
1141
1142 gst_rtp_buffer_map (headerbuf, GST_MAP_READWRITE, &rtpbuffer);
11101143
11111144 if (self->extension_type == EXTENSION_ONE_BYTE)
11121145 {
1113 if (!gst_rtp_buffer_add_extension_onebyte_header (newbuf,
1146 if (!gst_rtp_buffer_add_extension_onebyte_header (&rtpbuffer,
11141147 self->extension_id, data, 7))
11151148 GST_WARNING_OBJECT (self,
1116 "Could not add extension to RTP header buf %p", newbuf);
1149 "Could not add extension to RTP header buf %p", headerbuf);
11171150 }
11181151 else if (self->extension_type == EXTENSION_TWO_BYTES)
11191152 {
1120 if (!gst_rtp_buffer_add_extension_twobytes_header (newbuf, 0,
1153 if (!gst_rtp_buffer_add_extension_twobytes_header (&rtpbuffer, 0,
11211154 self->extension_id, data, 7))
11221155 GST_WARNING_OBJECT (self,
1123 "Could not add extension to RTP header in list %p", newbuf);
1156 "Could not add extension to RTP header in list %p", headerbuf);
11241157 }
11251158
11261159 /* FIXME:
11271160 * This will break if any padding is applied
11281161 */
1129
1130 GST_BUFFER_SIZE (newbuf) = gst_rtp_buffer_get_header_len (newbuf) +
1131 gst_rtp_buffer_get_payload_len (buffer);
1132
1133 memcpy (gst_rtp_buffer_get_payload (newbuf),
1134 gst_rtp_buffer_get_payload (buffer),
1135 gst_rtp_buffer_get_payload_len (buffer));
1136
1162 new_header_size = gst_rtp_buffer_get_header_len (&rtpbuffer);
1163
1164 gst_rtp_buffer_unmap (&rtpbuffer);
1165 gst_buffer_set_size (headerbuf, new_header_size);
1166
1167 /* append_region eats a ref */
1168 gst_buffer_ref (buffer);
1169 newbuf = gst_buffer_append_region (headerbuf, buffer, header_size, -1);
11371170
11381171 GST_LOG_OBJECT (self, "Sending RTP");
11391172
11511184 {
11521185 if (!is_data_limited)
11531186 tfrc_is_data_limited_not_limited_now (src->idl, now);
1154 tfrc_sender_sending_packet (src->sender, GST_BUFFER_SIZE (newbuf));
1187 tfrc_sender_sending_packet (src->sender, gst_buffer_get_size (newbuf));
11551188 }
11561189 }
11571190 }
11601193 if (!is_data_limited)
11611194 tfrc_is_data_limited_not_limited_now (self->initial_src->idl, now);
11621195 tfrc_sender_sending_packet (self->initial_src->sender,
1163 GST_BUFFER_SIZE (newbuf));
1196 gst_buffer_get_size (newbuf));
11641197 }
11651198
11661199
11711204 return newbuf;
11721205 }
11731206
1174 static void
1175 pad_block_do_nothing (GstPad *pad, gboolean blocked, gpointer user_data)
1176 {
1177 }
1178
1179 static void
1180 send_rtp_pad_blocked (GstPad *pad, gboolean blocked, gpointer user_data)
1207 static GstPadProbeReturn
1208 send_rtp_pad_blocked (GstPad *pad, GstPadProbeInfo *info, gpointer user_data)
11811209 {
11821210 FsRtpTfrc *self = user_data;
11831211 gboolean need_modder;
11841212 GstPad *peer = NULL;
11851213
11861214 GST_OBJECT_LOCK (self);
1215 self->modder_check_probe_id = 0;
11871216 need_modder = self->extension_type != EXTENSION_NONE;
11881217
11891218 if (!self->fsrtpsession || !!self->packet_modder == need_modder)
12681297 gst_object_unref (peer);
12691298 GST_OBJECT_UNLOCK (self);
12701299
1271 gst_pad_set_blocked_async (pad, FALSE, pad_block_do_nothing, NULL);
1272 return;
1300 return GST_PAD_PROBE_REMOVE;
12731301
12741302 linking_failed:
12751303 gst_bin_remove (self->parent_bin, self->packet_modder);
12901318 if (!!self->packet_modder == need_modder)
12911319 return;
12921320
1293 gst_pad_set_blocked_async_full (self->out_rtp_pad, TRUE, send_rtp_pad_blocked,
1294 g_object_ref (self), (GDestroyNotify) g_object_unref);
1321 if (self->modder_check_probe_id != 0)
1322 return;
1323
1324 self->modder_check_probe_id =
1325 gst_pad_add_probe (self->out_rtp_pad,
1326 GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM,
1327 send_rtp_pad_blocked,
1328 g_object_ref (self), (GDestroyNotify) g_object_unref);
12951329 }
12961330
12971331
13171351 self->out_rtp_pad = gst_element_get_static_pad (rtpmuxer, "src");
13181352 gst_object_unref (rtpmuxer);
13191353
1320 self->in_rtp_probe_id = gst_pad_add_buffer_probe (self->in_rtp_pad,
1321 G_CALLBACK (incoming_rtp_probe), self);
1322 self->in_rtcp_probe_id = gst_pad_add_buffer_probe (self->in_rtcp_pad,
1323 G_CALLBACK (incoming_rtcp_probe), self);
1354 self->in_rtp_probe_id = gst_pad_add_probe (self->in_rtp_pad,
1355 GST_PAD_PROBE_TYPE_BUFFER, incoming_rtp_probe, self, NULL);
1356 self->in_rtcp_probe_id = gst_pad_add_probe (self->in_rtcp_pad,
1357 GST_PAD_PROBE_TYPE_BUFFER, incoming_rtcp_probe, self, NULL);
13241358
13251359
13261360 self->on_ssrc_validated_id = g_signal_connect_object (self->rtpsession,
112112 gulong on_ssrc_validated_id;
113113 gulong on_sending_rtcp_id;
114114
115 gulong modder_check_probe_id;
115116 GstElement *packet_modder;
116117
117118 GHashTable *tfrc_sources;
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3434 POST_UNINSTALL = :
3535 build_triplet = @build@
3636 host_triplet = @host@
37 target_triplet = @target@
3738 subdir = gst/fsvideoanyrate
3839 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
3940 $(srcdir)/Makefile.in
4243 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4344 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4445 $(top_srcdir)/common/m4/as-libtool.m4 \
46 $(top_srcdir)/common/m4/as-python.m4 \
4547 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4648 $(top_srcdir)/common/m4/as-version.m4 \
4749 $(top_srcdir)/common/m4/gst-arch.m4 \
5456 $(top_srcdir)/common/m4/gst.m4 \
5557 $(top_srcdir)/common/m4/gtk-doc.m4 \
5658 $(top_srcdir)/common/m4/pkg.m4 \
57 $(top_srcdir)/m4/as-check-python-headers.m4 \
5859 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
5960 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
6061 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
8687 am__base_list = \
8788 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
8889 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
90 am__uninstall_files_from_dir = { \
91 test -z "$$files" \
92 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
93 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
94 $(am__cd) "$$dir" && rm -f $$files; }; \
95 }
8996 am__installdirs = "$(DESTDIR)$(plugindir)"
9097 LTLIBRARIES = $(plugin_LTLIBRARIES)
9198 am__DEPENDENCIES_1 =
94101 am_libfsvideoanyrate_la_OBJECTS = \
95102 libfsvideoanyrate_la-videoanyrate.lo
96103 libfsvideoanyrate_la_OBJECTS = $(am_libfsvideoanyrate_la_OBJECTS)
97 AM_V_lt = $(am__v_lt_$(V))
98 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
104 AM_V_lt = $(am__v_lt_@AM_V@)
105 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
99106 am__v_lt_0 = --silent
100107 libfsvideoanyrate_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
101108 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
111118 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
112119 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
113120 $(AM_CFLAGS) $(CFLAGS)
114 AM_V_CC = $(am__v_CC_$(V))
115 am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
121 AM_V_CC = $(am__v_CC_@AM_V@)
122 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
116123 am__v_CC_0 = @echo " CC " $@;
117 AM_V_at = $(am__v_at_$(V))
118 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
124 AM_V_at = $(am__v_at_@AM_V@)
125 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
119126 am__v_at_0 = @
120127 CCLD = $(CC)
121128 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
122129 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
123130 $(AM_LDFLAGS) $(LDFLAGS) -o $@
124 AM_V_CCLD = $(am__v_CCLD_$(V))
125 am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
131 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
132 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
126133 am__v_CCLD_0 = @echo " CCLD " $@;
127 AM_V_GEN = $(am__v_GEN_$(V))
128 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
134 AM_V_GEN = $(am__v_GEN_@AM_V@)
135 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
129136 am__v_GEN_0 = @echo " GEN " $@;
130137 SOURCES = $(libfsvideoanyrate_la_SOURCES)
131138 DIST_SOURCES = $(libfsvideoanyrate_la_SOURCES)
138145 AMTAR = @AMTAR@
139146 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
140147 AR = @AR@
148 AS = @AS@
141149 AUTOCONF = @AUTOCONF@
142150 AUTOHEADER = @AUTOHEADER@
143151 AUTOMAKE = @AUTOMAKE@
165173 FGREP = @FGREP@
166174 FS_AGE = @FS_AGE@
167175 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
176 FS_APIVERSION = @FS_APIVERSION@
177 FS_API_VERSION = @FS_API_VERSION@
168178 FS_CFLAGS = @FS_CFLAGS@
169179 FS_CURRENT = @FS_CURRENT@
170180 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
173183 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
174184 FS_LICENSE = @FS_LICENSE@
175185 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
176 FS_MAJORMINOR = @FS_MAJORMINOR@
177 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
178186 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
179187 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
180188 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
187195 GCOV = @GCOV@
188196 GCOV_CFLAGS = @GCOV_CFLAGS@
189197 GCOV_LIBS = @GCOV_LIBS@
198 GIO_CFLAGS = @GIO_CFLAGS@
199 GIO_LDFLAGS = @GIO_LDFLAGS@
200 GIO_LIBS = @GIO_LIBS@
190201 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
191202 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
192203 GLIB_CFLAGS = @GLIB_CFLAGS@
196207 GLIB_REQ = @GLIB_REQ@
197208 GREP = @GREP@
198209 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
210 GST_API_VERSION = @GST_API_VERSION@
199211 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
200212 GST_BASE_LIBS = @GST_BASE_LIBS@
201213 GST_CFLAGS = @GST_CFLAGS@
204216 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
205217 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
206218 GST_LIBS = @GST_LIBS@
207 GST_MAJORMINOR = @GST_MAJORMINOR@
208219 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
209220 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
210221 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
214225 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
215226 GST_TOOLS_DIR = @GST_TOOLS_DIR@
216227 GTKDOC_CHECK = @GTKDOC_CHECK@
228 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
229 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
230 GTKDOC_MKPDF = @GTKDOC_MKPDF@
231 GTKDOC_REBASE = @GTKDOC_REBASE@
217232 GUPNP_CFLAGS = @GUPNP_CFLAGS@
218233 GUPNP_LIBS = @GUPNP_LIBS@
219234 HTML_DIR = @HTML_DIR@
265280 PKG_CONFIG = @PKG_CONFIG@
266281 PLUGINDIR = @PLUGINDIR@
267282 PROFILE_CFLAGS = @PROFILE_CFLAGS@
268 PYCODEGEN = @PYCODEGEN@
269 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
270 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
271 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
272 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
273283 PYTHON = @PYTHON@
274284 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
275 PYTHON_INCLUDES = @PYTHON_INCLUDES@
276285 PYTHON_PLATFORM = @PYTHON_PLATFORM@
277286 PYTHON_PREFIX = @PYTHON_PREFIX@
278287 PYTHON_VERSION = @PYTHON_VERSION@
339348 sharedstatedir = @sharedstatedir@
340349 srcdir = @srcdir@
341350 sysconfdir = @sysconfdir@
351 target = @target@
342352 target_alias = @target_alias@
353 target_cpu = @target_cpu@
354 target_os = @target_os@
355 target_vendor = @target_vendor@
343356 top_build_prefix = @top_build_prefix@
344357 top_builddir = @top_builddir@
345358 top_srcdir = @top_srcdir@
422435 echo "rm -f \"$${dir}/so_locations\""; \
423436 rm -f "$${dir}/so_locations"; \
424437 done
425 libfsvideoanyrate.la: $(libfsvideoanyrate_la_OBJECTS) $(libfsvideoanyrate_la_DEPENDENCIES)
438 libfsvideoanyrate.la: $(libfsvideoanyrate_la_OBJECTS) $(libfsvideoanyrate_la_DEPENDENCIES) $(EXTRA_libfsvideoanyrate_la_DEPENDENCIES)
426439 $(AM_V_CCLD)$(libfsvideoanyrate_la_LINK) -rpath $(plugindir) $(libfsvideoanyrate_la_OBJECTS) $(libfsvideoanyrate_la_LIBADD) $(LIBS)
427440
428441 mostlyclean-compile:
436449 .c.o:
437450 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
438451 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
439 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
440 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
452 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
441453 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
442 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
454 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
443455
444456 .c.obj:
445457 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
446458 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
447 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
448 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
459 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
449460 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
450 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
461 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
451462
452463 .c.lo:
453464 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
454465 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
455 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
456 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
466 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
457467 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
458 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
468 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
459469
460470 libfsvideoanyrate_la-videoanyrate.lo: videoanyrate.c
461471 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfsvideoanyrate_la_CFLAGS) $(CFLAGS) -MT libfsvideoanyrate_la-videoanyrate.lo -MD -MP -MF $(DEPDIR)/libfsvideoanyrate_la-videoanyrate.Tpo -c -o libfsvideoanyrate_la-videoanyrate.lo `test -f 'videoanyrate.c' || echo '$(srcdir)/'`videoanyrate.c
462472 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libfsvideoanyrate_la-videoanyrate.Tpo $(DEPDIR)/libfsvideoanyrate_la-videoanyrate.Plo
463 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
464 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='videoanyrate.c' object='libfsvideoanyrate_la-videoanyrate.lo' libtool=yes @AMDEPBACKSLASH@
473 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='videoanyrate.c' object='libfsvideoanyrate_la-videoanyrate.lo' libtool=yes @AMDEPBACKSLASH@
465474 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
466 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfsvideoanyrate_la_CFLAGS) $(CFLAGS) -c -o libfsvideoanyrate_la-videoanyrate.lo `test -f 'videoanyrate.c' || echo '$(srcdir)/'`videoanyrate.c
475 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfsvideoanyrate_la_CFLAGS) $(CFLAGS) -c -o libfsvideoanyrate_la-videoanyrate.lo `test -f 'videoanyrate.c' || echo '$(srcdir)/'`videoanyrate.c
467476
468477 mostlyclean-libtool:
469478 -rm -f *.lo
570579
571580 installcheck: installcheck-am
572581 install-strip:
573 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
574 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
575 `test -z '$(STRIP)' || \
576 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
582 if test -z '$(STRIP)'; then \
583 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
584 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
585 install; \
586 else \
587 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
588 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
589 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
590 fi
577591 mostlyclean-generic:
578592
579593 clean-generic:
00 /*
11 * Farstream Voice+Video library
22 *
3 * Copyright 2007 Collabora Ltd,
3 * Copyright 2007-2012 Collabora Ltd,
44 * Copyright 2007 Nokia Corporation
55 * @author: Olivier Crete <olivier.crete@collabora.co.uk>
66 *
4040 GST_DEBUG_CATEGORY (videoanyrate_debug);
4141 #define GST_CAT_DEFAULT (videoanyrate_debug)
4242
43 /* elementfactory information */
44 static const GstElementDetails gst_videoanyrate_details =
45 GST_ELEMENT_DETAILS (
46 "Videoanyrate element",
47 "Filter",
48 "This element removes the framerate from caps",
49 "Olivier Crete <olivier.crete@collabora.co.uk>");
50
51
5243 static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
5344 GST_PAD_SINK,
5445 GST_PAD_ALWAYS,
7566 static GstCaps *
7667 gst_videoanyrate_transform_caps (GstBaseTransform *trans,
7768 GstPadDirection direction,
78 GstCaps *caps);
79 static void
69 GstCaps *caps,
70 GstCaps *filter);
71 static GstCaps *
8072 gst_videoanyrate_fixate_caps (GstBaseTransform * base,
8173 GstPadDirection direction, GstCaps * caps, GstCaps * othercaps);
8274
8375
76 G_DEFINE_TYPE (GstVideoanyrate, gst_videoanyrate, GST_TYPE_BASE_TRANSFORM);
77
78
8479 static void
85 _do_init (GType type)
86 {
80 gst_videoanyrate_class_init (GstVideoanyrateClass *klass)
81 {
82 GstElementClass *element_class;
83 GstBaseTransformClass *gstbasetransform_class;
84
85 element_class = GST_ELEMENT_CLASS (klass);
86 gstbasetransform_class = GST_BASE_TRANSFORM_CLASS (klass);
87
88
8789 GST_DEBUG_CATEGORY_INIT
8890 (videoanyrate_debug, "fsvideoanyrate", 0, "fsvideoanyrate");
89 }
90
91 GST_BOILERPLATE_FULL (GstVideoanyrate, gst_videoanyrate, GstBaseTransform,
92 GST_TYPE_BASE_TRANSFORM, _do_init);
93
94 static void
95 gst_videoanyrate_base_init (gpointer klass)
96 {
97 GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
9891
9992 gst_element_class_add_pad_template (element_class,
10093 gst_static_pad_template_get (&srctemplate));
10194 gst_element_class_add_pad_template (element_class,
10295 gst_static_pad_template_get (&sinktemplate));
10396
104 gst_element_class_set_details (element_class, &gst_videoanyrate_details);
105 }
106
107 static void
108 gst_videoanyrate_class_init (GstVideoanyrateClass *klass)
109 {
110 GstBaseTransformClass *gstbasetransform_class;
111
112 gstbasetransform_class = (GstBaseTransformClass *) klass;
97 gst_element_class_set_metadata (element_class,
98 "Videoanyrate element",
99 "Filter",
100 "This element removes the framerate from caps",
101 "Olivier Crete <olivier.crete@collabora.com>");
113102
114103 gstbasetransform_class->transform_caps =
115104 GST_DEBUG_FUNCPTR(gst_videoanyrate_transform_caps);
118107 }
119108
120109 static void
121 gst_videoanyrate_init (GstVideoanyrate *videoanyrate,
122 GstVideoanyrateClass *klass)
110 gst_videoanyrate_init (GstVideoanyrate *videoanyrate)
123111 {
124112 }
125113
126114 static GstCaps *
127115 gst_videoanyrate_transform_caps (GstBaseTransform *trans,
128116 GstPadDirection direction,
129 GstCaps *caps)
117 GstCaps *caps,
118 GstCaps *filter)
130119 {
131120 GstCaps *mycaps = gst_caps_copy (caps);
132 GstStructure *s;
121 guint i;
133122
134123 if (gst_caps_get_size (mycaps) == 0)
135124 return mycaps;
136125
137126 GST_DEBUG_OBJECT (trans, "Transforming caps");
138127
139 s = gst_caps_get_structure (mycaps, 0);
140
141 gst_structure_set (s,
142 "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL);
128 for (i = 0; i < gst_caps_get_size (mycaps); i++)
129 {
130 GstStructure *s;
131
132 s = gst_caps_get_structure (mycaps, i);
133
134 if (gst_structure_has_field (s, "framerate"))
135 gst_structure_set (s,
136 "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL);
137 }
138
139 if (filter)
140 {
141 GstCaps *intersected = gst_caps_intersect (mycaps, filter);
142 gst_caps_unref (mycaps);
143 mycaps = intersected;
144 }
143145
144146 return mycaps;
145147 }
146148
147 static void
149 static GstCaps *
148150 gst_videoanyrate_fixate_caps (GstBaseTransform * base,
149151 GstPadDirection direction, GstCaps * caps, GstCaps * othercaps)
150152 {
152154
153155 const GValue *from_fr, *to_fr;
154156
155 g_return_if_fail (gst_caps_is_fixed (caps));
157 g_return_val_if_fail (gst_caps_is_fixed (caps), othercaps);
158
159 othercaps = gst_caps_make_writable (othercaps);
156160
157161 GST_DEBUG_OBJECT (base, "trying to fixate othercaps %" GST_PTR_FORMAT
158162 " based on caps %" GST_PTR_FORMAT, othercaps, caps);
168172 gint from_fr_n, from_fr_d;
169173
170174 /* from_fr should be fixed */
171 g_return_if_fail (gst_value_is_fixed (from_fr));
175 g_return_val_if_fail (gst_value_is_fixed (from_fr), othercaps);
172176
173177 from_fr_n = gst_value_get_fraction_numerator (from_fr);
174178 from_fr_d = gst_value_get_fraction_denominator (from_fr);
178182 gst_structure_fixate_field_nearest_fraction (outs, "framerate",
179183 from_fr_n, from_fr_d);
180184 }
181 }
185
186 return gst_caps_fixate (othercaps);
187 }
188
182189 gboolean
183190 gst_videoanyrate_plugin_init (GstPlugin *plugin)
184191 {
188195
189196 GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
190197 GST_VERSION_MINOR,
191 "fsvideoanyrate",
198 fsvideoanyrate,
192199 "Videoanyrate",
193200 gst_videoanyrate_plugin_init, VERSION, "LGPL", "Farstream",
194 "http://farstream.sf.net")
201 "http://www.freedesktop.org/wiki/Software/Farstream")
00 #!/bin/sh
11 # install - install a program, script, or datafile
22
3 scriptversion=2006-10-14.15
3 scriptversion=2009-04-28.21; # UTC
44
55 # This originates from X11R5 (mit/util/scripts/install.sh), which was
66 # later released in X11R6 (xc/config/util/install.sh) with the
4747 # set DOITPROG to echo to test this script
4848
4949 # Don't use :- since 4.3BSD and earlier shells don't like it.
50 doit="${DOITPROG-}"
50 doit=${DOITPROG-}
5151 if test -z "$doit"; then
5252 doit_exec=exec
5353 else
5757 # Put in absolute file names if you don't have them in your path;
5858 # or use environment vars.
5959
60 mvprog="${MVPROG-mv}"
61 cpprog="${CPPROG-cp}"
62 chmodprog="${CHMODPROG-chmod}"
63 chownprog="${CHOWNPROG-chown}"
64 chgrpprog="${CHGRPPROG-chgrp}"
65 stripprog="${STRIPPROG-strip}"
66 rmprog="${RMPROG-rm}"
67 mkdirprog="${MKDIRPROG-mkdir}"
68
69 posix_glob=
60 chgrpprog=${CHGRPPROG-chgrp}
61 chmodprog=${CHMODPROG-chmod}
62 chownprog=${CHOWNPROG-chown}
63 cmpprog=${CMPPROG-cmp}
64 cpprog=${CPPROG-cp}
65 mkdirprog=${MKDIRPROG-mkdir}
66 mvprog=${MVPROG-mv}
67 rmprog=${RMPROG-rm}
68 stripprog=${STRIPPROG-strip}
69
70 posix_glob='?'
71 initialize_posix_glob='
72 test "$posix_glob" != "?" || {
73 if (set -f) 2>/dev/null; then
74 posix_glob=
75 else
76 posix_glob=:
77 fi
78 }
79 '
80
7081 posix_mkdir=
7182
7283 # Desired mode of installed file.
7384 mode=0755
7485
86 chgrpcmd=
7587 chmodcmd=$chmodprog
7688 chowncmd=
77 chgrpcmd=
89 mvcmd=$mvprog
90 rmcmd="$rmprog -f"
7891 stripcmd=
79 rmcmd="$rmprog -f"
80 mvcmd="$mvprog"
92
8193 src=
8294 dst=
8395 dir_arg=
84 dstarg=
96 dst_arg=
97
98 copy_on_change=false
8599 no_target_directory=
86100
87 usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
101 usage="\
102 Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
88103 or: $0 [OPTION]... SRCFILES... DIRECTORY
89104 or: $0 [OPTION]... -t DIRECTORY SRCFILES...
90105 or: $0 [OPTION]... -d DIRECTORIES...
94109 In the 4th, create DIRECTORIES.
95110
96111 Options:
97 -c (ignored)
98 -d create directories instead of installing files.
99 -g GROUP $chgrpprog installed files to GROUP.
100 -m MODE $chmodprog installed files to MODE.
101 -o USER $chownprog installed files to USER.
102 -s $stripprog installed files.
103 -t DIRECTORY install into DIRECTORY.
104 -T report an error if DSTFILE is a directory.
105 --help display this help and exit.
106 --version display version info and exit.
112 --help display this help and exit.
113 --version display version info and exit.
114
115 -c (ignored)
116 -C install only if different (preserve the last data modification time)
117 -d create directories instead of installing files.
118 -g GROUP $chgrpprog installed files to GROUP.
119 -m MODE $chmodprog installed files to MODE.
120 -o USER $chownprog installed files to USER.
121 -s $stripprog installed files.
122 -t DIRECTORY install into DIRECTORY.
123 -T report an error if DSTFILE is a directory.
107124
108125 Environment variables override the default commands:
109 CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
126 CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
127 RMPROG STRIPPROG
110128 "
111129
112130 while test $# -ne 0; do
113131 case $1 in
114 -c) shift
115 continue;;
116
117 -d) dir_arg=true
118 shift
119 continue;;
132 -c) ;;
133
134 -C) copy_on_change=true;;
135
136 -d) dir_arg=true;;
120137
121138 -g) chgrpcmd="$chgrpprog $2"
122 shift
123 shift
124 continue;;
139 shift;;
125140
126141 --help) echo "$usage"; exit $?;;
127142
128143 -m) mode=$2
129 shift
130 shift
131144 case $mode in
132145 *' '* | *' '* | *'
133146 '* | *'*'* | *'?'* | *'['*)
134147 echo "$0: invalid mode: $mode" >&2
135148 exit 1;;
136149 esac
137 continue;;
150 shift;;
138151
139152 -o) chowncmd="$chownprog $2"
140 shift
141 shift
142 continue;;
143
144 -s) stripcmd=$stripprog
145 shift
146 continue;;
147
148 -t) dstarg=$2
149 shift
150 shift
151 continue;;
152
153 -T) no_target_directory=true
154 shift
155 continue;;
153 shift;;
154
155 -s) stripcmd=$stripprog;;
156
157 -t) dst_arg=$2
158 shift;;
159
160 -T) no_target_directory=true;;
156161
157162 --version) echo "$0 $scriptversion"; exit $?;;
158163
164169
165170 *) break;;
166171 esac
172 shift
167173 done
168174
169 if test $# -ne 0 && test -z "$dir_arg$dstarg"; then
175 if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
170176 # When -d is used, all remaining arguments are directories to create.
171177 # When -t is used, the destination is already specified.
172178 # Otherwise, the last argument is the destination. Remove it from $@.
173179 for arg
174180 do
175 if test -n "$dstarg"; then
181 if test -n "$dst_arg"; then
176182 # $@ is not empty: it contains at least $arg.
177 set fnord "$@" "$dstarg"
183 set fnord "$@" "$dst_arg"
178184 shift # fnord
179185 fi
180186 shift # arg
181 dstarg=$arg
187 dst_arg=$arg
182188 done
183189 fi
184190
223229 do
224230 # Protect names starting with `-'.
225231 case $src in
226 -*) src=./$src ;;
232 -*) src=./$src;;
227233 esac
228234
229235 if test -n "$dir_arg"; then
241247 exit 1
242248 fi
243249
244 if test -z "$dstarg"; then
250 if test -z "$dst_arg"; then
245251 echo "$0: no destination specified." >&2
246252 exit 1
247253 fi
248254
249 dst=$dstarg
255 dst=$dst_arg
250256 # Protect names starting with `-'.
251257 case $dst in
252 -*) dst=./$dst ;;
258 -*) dst=./$dst;;
253259 esac
254260
255261 # If destination is a directory, append the input filename; won't work
256262 # if double slashes aren't ignored.
257263 if test -d "$dst"; then
258264 if test -n "$no_target_directory"; then
259 echo "$0: $dstarg: Is a directory" >&2
265 echo "$0: $dst_arg: Is a directory" >&2
260266 exit 1
261267 fi
262268 dstdir=$dst
377383 # directory the slow way, step by step, checking for races as we go.
378384
379385 case $dstdir in
380 /*) prefix=/ ;;
381 -*) prefix=./ ;;
382 *) prefix= ;;
386 /*) prefix='/';;
387 -*) prefix='./';;
388 *) prefix='';;
383389 esac
384390
385 case $posix_glob in
386 '')
387 if (set -f) 2>/dev/null; then
388 posix_glob=true
389 else
390 posix_glob=false
391 fi ;;
392 esac
391 eval "$initialize_posix_glob"
393392
394393 oIFS=$IFS
395394 IFS=/
396 $posix_glob && set -f
395 $posix_glob set -f
397396 set fnord $dstdir
398397 shift
399 $posix_glob && set +f
398 $posix_glob set +f
400399 IFS=$oIFS
401400
402401 prefixes=
458457 # ignore errors from any of these, just make sure not to ignore
459458 # errors from the above "$doit $cpprog $src $dsttmp" command.
460459 #
461 { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
462 && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
463 && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
464 && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
465
466 # Now rename the file to the real destination.
467 { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
468 || {
469 # The rename failed, perhaps because mv can't rename something else
470 # to itself, or perhaps because mv is so ancient that it does not
471 # support -f.
472
473 # Now remove or move aside any old file at destination location.
474 # We try this two ways since rm can't unlink itself on some
475 # systems and the destination file might be busy for other
476 # reasons. In this case, the final cleanup might fail but the new
477 # file should still install successfully.
478 {
479 if test -f "$dst"; then
480 $doit $rmcmd -f "$dst" 2>/dev/null \
481 || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
482 && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
483 || {
484 echo "$0: cannot unlink or rename $dst" >&2
485 (exit 1); exit 1
486 }
487 else
488 :
489 fi
490 } &&
491
492 # Now rename the file to the real destination.
493 $doit $mvcmd "$dsttmp" "$dst"
494 }
495 } || exit 1
460 { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
461 { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
462 { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
463 { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
464
465 # If -C, don't bother to copy if it wouldn't change the file.
466 if $copy_on_change &&
467 old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
468 new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
469
470 eval "$initialize_posix_glob" &&
471 $posix_glob set -f &&
472 set X $old && old=:$2:$4:$5:$6 &&
473 set X $new && new=:$2:$4:$5:$6 &&
474 $posix_glob set +f &&
475
476 test "$old" = "$new" &&
477 $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
478 then
479 rm -f "$dsttmp"
480 else
481 # Rename the file to the real destination.
482 $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
483
484 # The rename failed, perhaps because mv can't rename something else
485 # to itself, or perhaps because mv is so ancient that it does not
486 # support -f.
487 {
488 # Now remove or move aside any old file at destination location.
489 # We try this two ways since rm can't unlink itself on some
490 # systems and the destination file might be busy for other
491 # reasons. In this case, the final cleanup might fail but the new
492 # file should still install successfully.
493 {
494 test ! -f "$dst" ||
495 $doit $rmcmd -f "$dst" 2>/dev/null ||
496 { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
497 { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
498 } ||
499 { echo "$0: cannot unlink or rename $dst" >&2
500 (exit 1); exit 1
501 }
502 } &&
503
504 # Now rename the file to the real destination.
505 $doit $mvcmd "$dsttmp" "$dst"
506 }
507 fi || exit 1
496508
497509 trap '' 0
498510 fi
502514 # eval: (add-hook 'write-file-hooks 'time-stamp)
503515 # time-stamp-start: "scriptversion="
504516 # time-stamp-format: "%:y-%02m-%02d.%02H"
505 # time-stamp-end: "$"
517 # time-stamp-time-zone: "UTC"
518 # time-stamp-end: "; # UTC"
506519 # End:
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3232 POST_UNINSTALL = :
3333 build_triplet = @build@
3434 host_triplet = @host@
35 target_triplet = @target@
3536 subdir = m4
3637 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
3738 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
3940 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4041 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4142 $(top_srcdir)/common/m4/as-libtool.m4 \
43 $(top_srcdir)/common/m4/as-python.m4 \
4244 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4345 $(top_srcdir)/common/m4/as-version.m4 \
4446 $(top_srcdir)/common/m4/gst-arch.m4 \
5153 $(top_srcdir)/common/m4/gst.m4 \
5254 $(top_srcdir)/common/m4/gtk-doc.m4 \
5355 $(top_srcdir)/common/m4/pkg.m4 \
54 $(top_srcdir)/m4/as-check-python-headers.m4 \
5556 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
5657 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
5758 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
6263 CONFIG_HEADER = $(top_builddir)/config.h
6364 CONFIG_CLEAN_FILES =
6465 CONFIG_CLEAN_VPATH_FILES =
65 AM_V_GEN = $(am__v_GEN_$(V))
66 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
66 AM_V_GEN = $(am__v_GEN_@AM_V@)
67 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
6768 am__v_GEN_0 = @echo " GEN " $@;
68 AM_V_at = $(am__v_at_$(V))
69 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
69 AM_V_at = $(am__v_at_@AM_V@)
70 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
7071 am__v_at_0 = @
7172 SOURCES =
7273 DIST_SOURCES =
7677 AMTAR = @AMTAR@
7778 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
7879 AR = @AR@
80 AS = @AS@
7981 AUTOCONF = @AUTOCONF@
8082 AUTOHEADER = @AUTOHEADER@
8183 AUTOMAKE = @AUTOMAKE@
103105 FGREP = @FGREP@
104106 FS_AGE = @FS_AGE@
105107 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
108 FS_APIVERSION = @FS_APIVERSION@
109 FS_API_VERSION = @FS_API_VERSION@
106110 FS_CFLAGS = @FS_CFLAGS@
107111 FS_CURRENT = @FS_CURRENT@
108112 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
111115 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
112116 FS_LICENSE = @FS_LICENSE@
113117 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
114 FS_MAJORMINOR = @FS_MAJORMINOR@
115 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
116118 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
117119 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
118120 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
125127 GCOV = @GCOV@
126128 GCOV_CFLAGS = @GCOV_CFLAGS@
127129 GCOV_LIBS = @GCOV_LIBS@
130 GIO_CFLAGS = @GIO_CFLAGS@
131 GIO_LDFLAGS = @GIO_LDFLAGS@
132 GIO_LIBS = @GIO_LIBS@
128133 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
129134 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
130135 GLIB_CFLAGS = @GLIB_CFLAGS@
134139 GLIB_REQ = @GLIB_REQ@
135140 GREP = @GREP@
136141 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
142 GST_API_VERSION = @GST_API_VERSION@
137143 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
138144 GST_BASE_LIBS = @GST_BASE_LIBS@
139145 GST_CFLAGS = @GST_CFLAGS@
142148 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
143149 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
144150 GST_LIBS = @GST_LIBS@
145 GST_MAJORMINOR = @GST_MAJORMINOR@
146151 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
147152 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
148153 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
152157 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
153158 GST_TOOLS_DIR = @GST_TOOLS_DIR@
154159 GTKDOC_CHECK = @GTKDOC_CHECK@
160 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
161 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
162 GTKDOC_MKPDF = @GTKDOC_MKPDF@
163 GTKDOC_REBASE = @GTKDOC_REBASE@
155164 GUPNP_CFLAGS = @GUPNP_CFLAGS@
156165 GUPNP_LIBS = @GUPNP_LIBS@
157166 HTML_DIR = @HTML_DIR@
203212 PKG_CONFIG = @PKG_CONFIG@
204213 PLUGINDIR = @PLUGINDIR@
205214 PROFILE_CFLAGS = @PROFILE_CFLAGS@
206 PYCODEGEN = @PYCODEGEN@
207 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
208 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
209 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
210 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
211215 PYTHON = @PYTHON@
212216 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
213 PYTHON_INCLUDES = @PYTHON_INCLUDES@
214217 PYTHON_PLATFORM = @PYTHON_PLATFORM@
215218 PYTHON_PREFIX = @PYTHON_PREFIX@
216219 PYTHON_VERSION = @PYTHON_VERSION@
277280 sharedstatedir = @sharedstatedir@
278281 srcdir = @srcdir@
279282 sysconfdir = @sysconfdir@
283 target = @target@
280284 target_alias = @target_alias@
285 target_cpu = @target_cpu@
286 target_os = @target_os@
287 target_vendor = @target_vendor@
281288 top_build_prefix = @top_build_prefix@
282289 top_builddir = @top_builddir@
283290 top_srcdir = @top_srcdir@
374381
375382 installcheck: installcheck-am
376383 install-strip:
377 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
378 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
379 `test -z '$(STRIP)' || \
380 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
384 if test -z '$(STRIP)'; then \
385 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
386 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
387 install; \
388 else \
389 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
390 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
391 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
392 fi
381393 mostlyclean-generic:
382394
383395 clean-generic:
00 #! /bin/sh
11 # Common stub for a few missing GNU programs while installing.
22
3 scriptversion=2006-05-10.23
4
5 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
6 # Free Software Foundation, Inc.
3 scriptversion=2009-04-28.21; # UTC
4
5 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
6 # 2008, 2009 Free Software Foundation, Inc.
77 # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
88
99 # This program is free software; you can redistribute it and/or modify
1717 # GNU General Public License for more details.
1818
1919 # You should have received a copy of the GNU General Public License
20 # along with this program; if not, write to the Free Software
21 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22 # 02110-1301, USA.
20 # along with this program. If not, see <http://www.gnu.org/licenses/>.
2321
2422 # As a special exception to the GNU General Public License, if you
2523 # distribute this file as part of a program that contains a
8886 tar try tar, gnutar, gtar, then tar without non-portable flags
8987 yacc create \`y.tab.[ch]', if possible, from existing .[ch]
9088
89 Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
90 \`g' are ignored when checking the name.
91
9192 Send bug reports to <bug-automake@gnu.org>."
9293 exit $?
9394 ;;
105106
106107 esac
107108
109 # normalize program name to check for.
110 program=`echo "$1" | sed '
111 s/^gnu-//; t
112 s/^gnu//; t
113 s/^g//; t'`
114
108115 # Now exit if we have it, but it failed. Also exit now if we
109116 # don't have it and --version was passed (most likely to detect
110 # the program).
117 # the program). This is about non-GNU programs, so use $1 not
118 # $program.
111119 case $1 in
112 lex|yacc)
120 lex*|yacc*)
113121 # Not GNU programs, they don't have --version.
114122 ;;
115123
116 tar)
124 tar*)
117125 if test -n "$run"; then
118126 echo 1>&2 "ERROR: \`tar' requires --run"
119127 exit 1
137145
138146 # If it does not exist, or fails to run (possibly an outdated version),
139147 # try to emulate it.
140 case $1 in
148 case $program in
141149 aclocal*)
142150 echo 1>&2 "\
143151 WARNING: \`$1' is $msg. You should only need it if
147155 touch aclocal.m4
148156 ;;
149157
150 autoconf)
158 autoconf*)
151159 echo 1>&2 "\
152160 WARNING: \`$1' is $msg. You should only need it if
153161 you modified \`${configure_ac}'. You might want to install the
156164 touch configure
157165 ;;
158166
159 autoheader)
167 autoheader*)
160168 echo 1>&2 "\
161169 WARNING: \`$1' is $msg. You should only need it if
162170 you modified \`acconfig.h' or \`${configure_ac}'. You might want
186194 while read f; do touch "$f"; done
187195 ;;
188196
189 autom4te)
197 autom4te*)
190198 echo 1>&2 "\
191199 WARNING: \`$1' is needed, but is $msg.
192200 You might have modified some files without having the
209217 fi
210218 ;;
211219
212 bison|yacc)
220 bison*|yacc*)
213221 echo 1>&2 "\
214222 WARNING: \`$1' $msg. You should only need it if
215223 you modified a \`.y' file. You may need the \`Bison' package
239247 fi
240248 ;;
241249
242 lex|flex)
250 lex*|flex*)
243251 echo 1>&2 "\
244252 WARNING: \`$1' is $msg. You should only need it if
245253 you modified a \`.l' file. You may need the \`Flex' package
262270 fi
263271 ;;
264272
265 help2man)
273 help2man*)
266274 echo 1>&2 "\
267275 WARNING: \`$1' is $msg. You should only need it if
268276 you modified a dependency of a manual page. You may need the
276284 else
277285 test -z "$file" || exec >$file
278286 echo ".ab help2man is required to generate this page"
279 exit 1
280 fi
281 ;;
282
283 makeinfo)
287 exit $?
288 fi
289 ;;
290
291 makeinfo*)
284292 echo 1>&2 "\
285293 WARNING: \`$1' is $msg. You should only need it if
286294 you modified a \`.texi' or \`.texinfo' file, or any other file
309317 touch $file
310318 ;;
311319
312 tar)
320 tar*)
313321 shift
314322
315323 # We have already tried tar in the generic part.
362370 # eval: (add-hook 'write-file-hooks 'time-stamp)
363371 # time-stamp-start: "scriptversion="
364372 # time-stamp-format: "%:y-%02m-%02d.%02H"
365 # time-stamp-end: "$"
373 # time-stamp-time-zone: "UTC"
374 # time-stamp-end: "; # UTC"
366375 # End:
+0
-45
python/Makefile.am less more
0 PYDEFS=`pkg-config --variable=defsdir pygobject-2.0`
1 GSTPYDEFS=`pkg-config --variable=defsdir gst-python-0.10`
2
3 AM_CPPFLAGS = \
4 -I. \
5 -I$(top_srcdir)/gst-libs/ \
6 -DDATADIR=\""$(datadir)"\" \
7 $(PYFARSTREAM_CFLAGS) \
8 $(PYTHON_INCLUDES) \
9 $(FS_INTERNAL_CFLAGS) \
10 $(FS_CFLAGS) \
11 $(WARN_CFLAGS)
12
13 BUILT_SOURCES = \
14 pyfarstream.c
15
16 pyfarstreamdir = $(pyexecdir)
17 pyfarstream_LTLIBRARIES = farstream.la
18
19 farstream_la_SOURCES = \
20 pyfarstreammodule.c
21
22 nodist_farstream_la_SOURCES = pyfarstream.c
23
24 farstream_la_LIBADD = \
25 $(PYFARSTREAM_LIBS) \
26 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la
27
28 farstream_la_LDFLAGS = -module -avoid-version
29
30 pyfarstream.c: pyfarstream.override pyfarstream.defs
31 $(PYCODEGEN) \
32 --prefix fs \
33 --register $(GSTPYDEFS)/gst-types.defs \
34 --override $(srcdir)/pyfarstream.override \
35 $(srcdir)/pyfarstream.defs > $@
36
37 EXTRA_DIST = \
38 pyfarstream.override \
39 pyfarstream.defs \
40 example.py \
41 pyfarstream-filter.defs \
42 rebuild-defs.sh
43
44 CLEANFILES = $(BUILT_SOURCES)
+0
-701
python/Makefile.in less more
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16
17 VPATH = @srcdir@
18 pkgdatadir = $(datadir)/@PACKAGE@
19 pkgincludedir = $(includedir)/@PACKAGE@
20 pkglibdir = $(libdir)/@PACKAGE@
21 pkglibexecdir = $(libexecdir)/@PACKAGE@
22 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
23 install_sh_DATA = $(install_sh) -c -m 644
24 install_sh_PROGRAM = $(install_sh) -c
25 install_sh_SCRIPT = $(install_sh) -c
26 INSTALL_HEADER = $(INSTALL_DATA)
27 transform = $(program_transform_name)
28 NORMAL_INSTALL = :
29 PRE_INSTALL = :
30 POST_INSTALL = :
31 NORMAL_UNINSTALL = :
32 PRE_UNINSTALL = :
33 POST_UNINSTALL = :
34 build_triplet = @build@
35 host_triplet = @host@
36 subdir = python
37 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
38 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
39 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
40 $(top_srcdir)/common/m4/as-auto-alt.m4 \
41 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
42 $(top_srcdir)/common/m4/as-libtool.m4 \
43 $(top_srcdir)/common/m4/as-scrub-include.m4 \
44 $(top_srcdir)/common/m4/as-version.m4 \
45 $(top_srcdir)/common/m4/gst-arch.m4 \
46 $(top_srcdir)/common/m4/gst-args.m4 \
47 $(top_srcdir)/common/m4/gst-check.m4 \
48 $(top_srcdir)/common/m4/gst-error.m4 \
49 $(top_srcdir)/common/m4/gst-glib2.m4 \
50 $(top_srcdir)/common/m4/gst-plugin-docs.m4 \
51 $(top_srcdir)/common/m4/gst-plugindir.m4 \
52 $(top_srcdir)/common/m4/gst.m4 \
53 $(top_srcdir)/common/m4/gtk-doc.m4 \
54 $(top_srcdir)/common/m4/pkg.m4 \
55 $(top_srcdir)/m4/as-check-python-headers.m4 \
56 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
57 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
58 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
59 $(top_srcdir)/configure.ac
60 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
61 $(ACLOCAL_M4)
62 mkinstalldirs = $(install_sh) -d
63 CONFIG_HEADER = $(top_builddir)/config.h
64 CONFIG_CLEAN_FILES =
65 CONFIG_CLEAN_VPATH_FILES =
66 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
67 am__vpath_adj = case $$p in \
68 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
69 *) f=$$p;; \
70 esac;
71 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
72 am__install_max = 40
73 am__nobase_strip_setup = \
74 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
75 am__nobase_strip = \
76 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
77 am__nobase_list = $(am__nobase_strip_setup); \
78 for p in $$list; do echo "$$p $$p"; done | \
79 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
80 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
81 if (++n[$$2] == $(am__install_max)) \
82 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
83 END { for (dir in files) print dir, files[dir] }'
84 am__base_list = \
85 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
86 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
87 am__installdirs = "$(DESTDIR)$(pyfarstreamdir)"
88 LTLIBRARIES = $(pyfarstream_LTLIBRARIES)
89 am__DEPENDENCIES_1 =
90 farstream_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
91 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la
92 am_farstream_la_OBJECTS = pyfarstreammodule.lo
93 nodist_farstream_la_OBJECTS = pyfarstream.lo
94 farstream_la_OBJECTS = $(am_farstream_la_OBJECTS) \
95 $(nodist_farstream_la_OBJECTS)
96 AM_V_lt = $(am__v_lt_$(V))
97 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
98 am__v_lt_0 = --silent
99 farstream_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
100 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
101 $(farstream_la_LDFLAGS) $(LDFLAGS) -o $@
102 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
103 depcomp = $(SHELL) $(top_srcdir)/depcomp
104 am__depfiles_maybe = depfiles
105 am__mv = mv -f
106 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
107 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
108 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
109 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
110 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
111 $(AM_CFLAGS) $(CFLAGS)
112 AM_V_CC = $(am__v_CC_$(V))
113 am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
114 am__v_CC_0 = @echo " CC " $@;
115 AM_V_at = $(am__v_at_$(V))
116 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
117 am__v_at_0 = @
118 CCLD = $(CC)
119 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
120 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
121 $(AM_LDFLAGS) $(LDFLAGS) -o $@
122 AM_V_CCLD = $(am__v_CCLD_$(V))
123 am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
124 am__v_CCLD_0 = @echo " CCLD " $@;
125 AM_V_GEN = $(am__v_GEN_$(V))
126 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
127 am__v_GEN_0 = @echo " GEN " $@;
128 SOURCES = $(farstream_la_SOURCES) $(nodist_farstream_la_SOURCES)
129 DIST_SOURCES = $(farstream_la_SOURCES)
130 ETAGS = etags
131 CTAGS = ctags
132 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
133 ACLOCAL = @ACLOCAL@
134 ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
135 AMTAR = @AMTAR@
136 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
137 AR = @AR@
138 AUTOCONF = @AUTOCONF@
139 AUTOHEADER = @AUTOHEADER@
140 AUTOMAKE = @AUTOMAKE@
141 AWK = @AWK@
142 CC = @CC@
143 CCASFLAGS = @CCASFLAGS@
144 CCDEPMODE = @CCDEPMODE@
145 CFLAGS = @CFLAGS@
146 CPP = @CPP@
147 CPPFLAGS = @CPPFLAGS@
148 CXXFLAGS = @CXXFLAGS@
149 CYGPATH_W = @CYGPATH_W@
150 DEFS = @DEFS@
151 DEPDIR = @DEPDIR@
152 DLLTOOL = @DLLTOOL@
153 DSYMUTIL = @DSYMUTIL@
154 DUMPBIN = @DUMPBIN@
155 ECHO_C = @ECHO_C@
156 ECHO_N = @ECHO_N@
157 ECHO_T = @ECHO_T@
158 EGREP = @EGREP@
159 ERROR_CFLAGS = @ERROR_CFLAGS@
160 EXEEXT = @EXEEXT@
161 FFLAGS = @FFLAGS@
162 FGREP = @FGREP@
163 FS_AGE = @FS_AGE@
164 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
165 FS_CFLAGS = @FS_CFLAGS@
166 FS_CURRENT = @FS_CURRENT@
167 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
168 FS_LIBS = @FS_LIBS@
169 FS_LIBVERSION = @FS_LIBVERSION@
170 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
171 FS_LICENSE = @FS_LICENSE@
172 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
173 FS_MAJORMINOR = @FS_MAJORMINOR@
174 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
175 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
176 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
177 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
178 FS_PLUGIN_LDFLAGS = @FS_PLUGIN_LDFLAGS@
179 FS_PLUGIN_PATH = @FS_PLUGIN_PATH@
180 FS_PREFIX = @FS_PREFIX@
181 FS_REVISION = @FS_REVISION@
182 FS_TRANSMITTER_PLUGINS_ALL = @FS_TRANSMITTER_PLUGINS_ALL@
183 FS_TRANSMITTER_PLUGINS_SELECTED = @FS_TRANSMITTER_PLUGINS_SELECTED@
184 GCOV = @GCOV@
185 GCOV_CFLAGS = @GCOV_CFLAGS@
186 GCOV_LIBS = @GCOV_LIBS@
187 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
188 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
189 GLIB_CFLAGS = @GLIB_CFLAGS@
190 GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
191 GLIB_LIBS = @GLIB_LIBS@
192 GLIB_PREFIX = @GLIB_PREFIX@
193 GLIB_REQ = @GLIB_REQ@
194 GREP = @GREP@
195 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
196 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
197 GST_BASE_LIBS = @GST_BASE_LIBS@
198 GST_CFLAGS = @GST_CFLAGS@
199 GST_CHECK_CFLAGS = @GST_CHECK_CFLAGS@
200 GST_CHECK_LIBS = @GST_CHECK_LIBS@
201 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
202 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
203 GST_LIBS = @GST_LIBS@
204 GST_MAJORMINOR = @GST_MAJORMINOR@
205 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
206 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
207 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
208 GST_PLUGINS_BASE_DIR = @GST_PLUGINS_BASE_DIR@
209 GST_PLUGINS_BASE_LIBS = @GST_PLUGINS_BASE_LIBS@
210 GST_PLUGINS_DIR = @GST_PLUGINS_DIR@
211 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
212 GST_TOOLS_DIR = @GST_TOOLS_DIR@
213 GTKDOC_CHECK = @GTKDOC_CHECK@
214 GUPNP_CFLAGS = @GUPNP_CFLAGS@
215 GUPNP_LIBS = @GUPNP_LIBS@
216 HTML_DIR = @HTML_DIR@
217 INSTALL = @INSTALL@
218 INSTALL_DATA = @INSTALL_DATA@
219 INSTALL_PROGRAM = @INSTALL_PROGRAM@
220 INSTALL_SCRIPT = @INSTALL_SCRIPT@
221 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
222 INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
223 INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
224 INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
225 INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
226 INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
227 INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
228 INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
229 INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
230 LD = @LD@
231 LDFLAGS = @LDFLAGS@
232 LIBOBJS = @LIBOBJS@
233 LIBS = @LIBS@
234 LIBTOOL = @LIBTOOL@
235 LIPO = @LIPO@
236 LN_S = @LN_S@
237 LTLIBOBJS = @LTLIBOBJS@
238 MAKEINFO = @MAKEINFO@
239 MANIFEST_TOOL = @MANIFEST_TOOL@
240 MKDIR_P = @MKDIR_P@
241 NICE_CFLAGS = @NICE_CFLAGS@
242 NICE_LIBS = @NICE_LIBS@
243 NM = @NM@
244 NMEDIT = @NMEDIT@
245 OBJDUMP = @OBJDUMP@
246 OBJEXT = @OBJEXT@
247 OTOOL = @OTOOL@
248 OTOOL64 = @OTOOL64@
249 PACKAGE = @PACKAGE@
250 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
251 PACKAGE_NAME = @PACKAGE_NAME@
252 PACKAGE_STRING = @PACKAGE_STRING@
253 PACKAGE_TARNAME = @PACKAGE_TARNAME@
254 PACKAGE_URL = @PACKAGE_URL@
255 PACKAGE_VERSION = @PACKAGE_VERSION@
256 PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@
257 PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@
258 PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@
259 PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@
260 PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@
261 PATH_SEPARATOR = @PATH_SEPARATOR@
262 PKG_CONFIG = @PKG_CONFIG@
263 PLUGINDIR = @PLUGINDIR@
264 PROFILE_CFLAGS = @PROFILE_CFLAGS@
265 PYCODEGEN = @PYCODEGEN@
266 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
267 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
268 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
269 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
270 PYTHON = @PYTHON@
271 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
272 PYTHON_INCLUDES = @PYTHON_INCLUDES@
273 PYTHON_PLATFORM = @PYTHON_PLATFORM@
274 PYTHON_PREFIX = @PYTHON_PREFIX@
275 PYTHON_VERSION = @PYTHON_VERSION@
276 RANLIB = @RANLIB@
277 SED = @SED@
278 SET_MAKE = @SET_MAKE@
279 SHELL = @SHELL@
280 STRIP = @STRIP@
281 VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
282 VALGRIND_LIBS = @VALGRIND_LIBS@
283 VALGRIND_PATH = @VALGRIND_PATH@
284 VERSION = @VERSION@
285 WARNING_CFLAGS = @WARNING_CFLAGS@
286 abs_builddir = @abs_builddir@
287 abs_srcdir = @abs_srcdir@
288 abs_top_builddir = @abs_top_builddir@
289 abs_top_srcdir = @abs_top_srcdir@
290 ac_ct_AR = @ac_ct_AR@
291 ac_ct_CC = @ac_ct_CC@
292 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
293 am__include = @am__include@
294 am__leading_dot = @am__leading_dot@
295 am__quote = @am__quote@
296 am__tar = @am__tar@
297 am__untar = @am__untar@
298 bindir = @bindir@
299 build = @build@
300 build_alias = @build_alias@
301 build_cpu = @build_cpu@
302 build_os = @build_os@
303 build_vendor = @build_vendor@
304 builddir = @builddir@
305 datadir = @datadir@
306 datarootdir = @datarootdir@
307 docdir = @docdir@
308 dvidir = @dvidir@
309 exec_prefix = @exec_prefix@
310 host = @host@
311 host_alias = @host_alias@
312 host_cpu = @host_cpu@
313 host_os = @host_os@
314 host_vendor = @host_vendor@
315 htmldir = @htmldir@
316 includedir = @includedir@
317 infodir = @infodir@
318 install_sh = @install_sh@
319 libdir = @libdir@
320 libexecdir = @libexecdir@
321 localedir = @localedir@
322 localstatedir = @localstatedir@
323 mandir = @mandir@
324 mkdir_p = @mkdir_p@
325 oldincludedir = @oldincludedir@
326 pdfdir = @pdfdir@
327 pkgpyexecdir = @pkgpyexecdir@
328 pkgpythondir = @pkgpythondir@
329 plugindir = @plugindir@
330 prefix = @prefix@
331 program_transform_name = @program_transform_name@
332 psdir = @psdir@
333 pyexecdir = @pyexecdir@
334 pythondir = @pythondir@
335 sbindir = @sbindir@
336 sharedstatedir = @sharedstatedir@
337 srcdir = @srcdir@
338 sysconfdir = @sysconfdir@
339 target_alias = @target_alias@
340 top_build_prefix = @top_build_prefix@
341 top_builddir = @top_builddir@
342 top_srcdir = @top_srcdir@
343 PYDEFS = `pkg-config --variable=defsdir pygobject-2.0`
344 GSTPYDEFS = `pkg-config --variable=defsdir gst-python-0.10`
345 AM_CPPFLAGS = \
346 -I. \
347 -I$(top_srcdir)/gst-libs/ \
348 -DDATADIR=\""$(datadir)"\" \
349 $(PYFARSTREAM_CFLAGS) \
350 $(PYTHON_INCLUDES) \
351 $(FS_INTERNAL_CFLAGS) \
352 $(FS_CFLAGS) \
353 $(WARN_CFLAGS)
354
355 BUILT_SOURCES = \
356 pyfarstream.c
357
358 pyfarstreamdir = $(pyexecdir)
359 pyfarstream_LTLIBRARIES = farstream.la
360 farstream_la_SOURCES = \
361 pyfarstreammodule.c
362
363 nodist_farstream_la_SOURCES = pyfarstream.c
364 farstream_la_LIBADD = \
365 $(PYFARSTREAM_LIBS) \
366 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la
367
368 farstream_la_LDFLAGS = -module -avoid-version
369 EXTRA_DIST = \
370 pyfarstream.override \
371 pyfarstream.defs \
372 example.py \
373 pyfarstream-filter.defs \
374 rebuild-defs.sh
375
376 CLEANFILES = $(BUILT_SOURCES)
377 all: $(BUILT_SOURCES)
378 $(MAKE) $(AM_MAKEFLAGS) all-am
379
380 .SUFFIXES:
381 .SUFFIXES: .c .lo .o .obj
382 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
383 @for dep in $?; do \
384 case '$(am__configure_deps)' in \
385 *$$dep*) \
386 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
387 && { if test -f $@; then exit 0; else break; fi; }; \
388 exit 1;; \
389 esac; \
390 done; \
391 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu python/Makefile'; \
392 $(am__cd) $(top_srcdir) && \
393 $(AUTOMAKE) --gnu python/Makefile
394 .PRECIOUS: Makefile
395 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
396 @case '$?' in \
397 *config.status*) \
398 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
399 *) \
400 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
401 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
402 esac;
403
404 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
405 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
406
407 $(top_srcdir)/configure: $(am__configure_deps)
408 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
409 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
410 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
411 $(am__aclocal_m4_deps):
412 install-pyfarstreamLTLIBRARIES: $(pyfarstream_LTLIBRARIES)
413 @$(NORMAL_INSTALL)
414 test -z "$(pyfarstreamdir)" || $(MKDIR_P) "$(DESTDIR)$(pyfarstreamdir)"
415 @list='$(pyfarstream_LTLIBRARIES)'; test -n "$(pyfarstreamdir)" || list=; \
416 list2=; for p in $$list; do \
417 if test -f $$p; then \
418 list2="$$list2 $$p"; \
419 else :; fi; \
420 done; \
421 test -z "$$list2" || { \
422 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pyfarstreamdir)'"; \
423 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pyfarstreamdir)"; \
424 }
425
426 uninstall-pyfarstreamLTLIBRARIES:
427 @$(NORMAL_UNINSTALL)
428 @list='$(pyfarstream_LTLIBRARIES)'; test -n "$(pyfarstreamdir)" || list=; \
429 for p in $$list; do \
430 $(am__strip_dir) \
431 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pyfarstreamdir)/$$f'"; \
432 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pyfarstreamdir)/$$f"; \
433 done
434
435 clean-pyfarstreamLTLIBRARIES:
436 -test -z "$(pyfarstream_LTLIBRARIES)" || rm -f $(pyfarstream_LTLIBRARIES)
437 @list='$(pyfarstream_LTLIBRARIES)'; for p in $$list; do \
438 dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
439 test "$$dir" != "$$p" || dir=.; \
440 echo "rm -f \"$${dir}/so_locations\""; \
441 rm -f "$${dir}/so_locations"; \
442 done
443 farstream.la: $(farstream_la_OBJECTS) $(farstream_la_DEPENDENCIES)
444 $(AM_V_CCLD)$(farstream_la_LINK) -rpath $(pyfarstreamdir) $(farstream_la_OBJECTS) $(farstream_la_LIBADD) $(LIBS)
445
446 mostlyclean-compile:
447 -rm -f *.$(OBJEXT)
448
449 distclean-compile:
450 -rm -f *.tab.c
451
452 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pyfarstream.Plo@am__quote@
453 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pyfarstreammodule.Plo@am__quote@
454
455 .c.o:
456 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
457 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
458 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
459 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
460 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
461 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
462
463 .c.obj:
464 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
465 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
466 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
467 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
468 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
469 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
470
471 .c.lo:
472 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
473 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
474 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
475 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
476 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
477 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
478
479 mostlyclean-libtool:
480 -rm -f *.lo
481
482 clean-libtool:
483 -rm -rf .libs _libs
484
485 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
486 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
487 unique=`for i in $$list; do \
488 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
489 done | \
490 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
491 END { if (nonempty) { for (i in files) print i; }; }'`; \
492 mkid -fID $$unique
493 tags: TAGS
494
495 TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
496 $(TAGS_FILES) $(LISP)
497 set x; \
498 here=`pwd`; \
499 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
500 unique=`for i in $$list; do \
501 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
502 done | \
503 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
504 END { if (nonempty) { for (i in files) print i; }; }'`; \
505 shift; \
506 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
507 test -n "$$unique" || unique=$$empty_fix; \
508 if test $$# -gt 0; then \
509 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
510 "$$@" $$unique; \
511 else \
512 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
513 $$unique; \
514 fi; \
515 fi
516 ctags: CTAGS
517 CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
518 $(TAGS_FILES) $(LISP)
519 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
520 unique=`for i in $$list; do \
521 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
522 done | \
523 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
524 END { if (nonempty) { for (i in files) print i; }; }'`; \
525 test -z "$(CTAGS_ARGS)$$unique" \
526 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
527 $$unique
528
529 GTAGS:
530 here=`$(am__cd) $(top_builddir) && pwd` \
531 && $(am__cd) $(top_srcdir) \
532 && gtags -i $(GTAGS_ARGS) "$$here"
533
534 distclean-tags:
535 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
536
537 distdir: $(DISTFILES)
538 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
539 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
540 list='$(DISTFILES)'; \
541 dist_files=`for file in $$list; do echo $$file; done | \
542 sed -e "s|^$$srcdirstrip/||;t" \
543 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
544 case $$dist_files in \
545 */*) $(MKDIR_P) `echo "$$dist_files" | \
546 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
547 sort -u` ;; \
548 esac; \
549 for file in $$dist_files; do \
550 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
551 if test -d $$d/$$file; then \
552 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
553 if test -d "$(distdir)/$$file"; then \
554 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
555 fi; \
556 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
557 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
558 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
559 fi; \
560 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
561 else \
562 test -f "$(distdir)/$$file" \
563 || cp -p $$d/$$file "$(distdir)/$$file" \
564 || exit 1; \
565 fi; \
566 done
567 check-am: all-am
568 check: $(BUILT_SOURCES)
569 $(MAKE) $(AM_MAKEFLAGS) check-am
570 all-am: Makefile $(LTLIBRARIES)
571 installdirs:
572 for dir in "$(DESTDIR)$(pyfarstreamdir)"; do \
573 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
574 done
575 install: $(BUILT_SOURCES)
576 $(MAKE) $(AM_MAKEFLAGS) install-am
577 install-exec: install-exec-am
578 install-data: install-data-am
579 uninstall: uninstall-am
580
581 install-am: all-am
582 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
583
584 installcheck: installcheck-am
585 install-strip:
586 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
587 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
588 `test -z '$(STRIP)' || \
589 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
590 mostlyclean-generic:
591
592 clean-generic:
593 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
594
595 distclean-generic:
596 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
597 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
598
599 maintainer-clean-generic:
600 @echo "This command is intended for maintainers to use"
601 @echo "it deletes files that may require special tools to rebuild."
602 -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
603 clean: clean-am
604
605 clean-am: clean-generic clean-libtool clean-pyfarstreamLTLIBRARIES \
606 mostlyclean-am
607
608 distclean: distclean-am
609 -rm -rf ./$(DEPDIR)
610 -rm -f Makefile
611 distclean-am: clean-am distclean-compile distclean-generic \
612 distclean-tags
613
614 dvi: dvi-am
615
616 dvi-am:
617
618 html: html-am
619
620 html-am:
621
622 info: info-am
623
624 info-am:
625
626 install-data-am: install-pyfarstreamLTLIBRARIES
627
628 install-dvi: install-dvi-am
629
630 install-dvi-am:
631
632 install-exec-am:
633
634 install-html: install-html-am
635
636 install-html-am:
637
638 install-info: install-info-am
639
640 install-info-am:
641
642 install-man:
643
644 install-pdf: install-pdf-am
645
646 install-pdf-am:
647
648 install-ps: install-ps-am
649
650 install-ps-am:
651
652 installcheck-am:
653
654 maintainer-clean: maintainer-clean-am
655 -rm -rf ./$(DEPDIR)
656 -rm -f Makefile
657 maintainer-clean-am: distclean-am maintainer-clean-generic
658
659 mostlyclean: mostlyclean-am
660
661 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
662 mostlyclean-libtool
663
664 pdf: pdf-am
665
666 pdf-am:
667
668 ps: ps-am
669
670 ps-am:
671
672 uninstall-am: uninstall-pyfarstreamLTLIBRARIES
673
674 .MAKE: all check install install-am install-strip
675
676 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
677 clean-libtool clean-pyfarstreamLTLIBRARIES ctags distclean \
678 distclean-compile distclean-generic distclean-libtool \
679 distclean-tags distdir dvi dvi-am html html-am info info-am \
680 install install-am install-data install-data-am install-dvi \
681 install-dvi-am install-exec install-exec-am install-html \
682 install-html-am install-info install-info-am install-man \
683 install-pdf install-pdf-am install-ps install-ps-am \
684 install-pyfarstreamLTLIBRARIES install-strip installcheck \
685 installcheck-am installdirs maintainer-clean \
686 maintainer-clean-generic mostlyclean mostlyclean-compile \
687 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
688 tags uninstall uninstall-am uninstall-pyfarstreamLTLIBRARIES
689
690
691 pyfarstream.c: pyfarstream.override pyfarstream.defs
692 $(PYCODEGEN) \
693 --prefix fs \
694 --register $(GSTPYDEFS)/gst-types.defs \
695 --override $(srcdir)/pyfarstream.override \
696 $(srcdir)/pyfarstream.defs > $@
697
698 # Tell versions [3.59,3.63) of GNU make to not export all variables.
699 # Otherwise a system limit (for SysV at least) may be exceeded.
700 .NOEXPORT:
+0
-55
python/example.py less more
0 import pygst
1 pygst.require('0.10')
2 import farstream, gst, gobject, sys
3
4 loop = gobject.MainLoop()
5 pipeline = gst.Pipeline()
6
7 conference = gst.element_factory_make ("fsrtpconference")
8 sdes = conference.get_property("sdes")
9 conference.set_property ("sdes",conference.get_property("sdes").copy().set_value("cname", sys.argv[1] + "@1.2.3.4"))
10 pipeline.add (conference)
11
12 session = conference.new_session (farstream.MEDIA_TYPE_VIDEO)
13 participant = conference.new_participant ()
14 stream = session.new_stream (participant, farstream.DIRECTION_BOTH)
15 stream.set_transmitter("multicast")
16
17 stream.set_remote_codecs([farstream.Codec(96, "H263-1998",
18 farstream.MEDIA_TYPE_VIDEO,
19 90000)])
20 candidate = farstream.Candidate()
21 candidate.ip = "224.0.0.110"
22 candidate.port = 3442
23 candidate.component_id = farstream.COMPONENT_RTP
24 candidate.proto = farstream.NETWORK_PROTOCOL_UDP
25 candidate.type = farstream.CANDIDATE_TYPE_MULTICAST
26 candidate.ttl = 1
27
28 candidate2 = candidate.copy()
29 candidate2.port = 3443
30 candidate2.component_id = farstream.COMPONENT_RTCP
31 stream.force_remote_candidates ([candidate, candidate2])
32
33 videosource = gst.parse_bin_from_description (sys.argv[2] + " ! videoscale", True)
34 pipeline.add (videosource)
35 videosource.get_pad ("src").link(session.get_property ("sink-pad"))
36
37 funnel = False
38 def _src_pad_added (stream, pad, codec, pipeline):
39 global funnel
40 print "src pad %s added for stream %s %s" % (pad.get_name(), stream.get_property("participant").get_property("cname"), codec.to_string())
41 if not funnel:
42 funnel = gst.element_factory_make("fsfunnel")
43 videosink = gst.element_factory_make ("xvimagesink")
44 pipeline.add(funnel)
45 pipeline.add(videosink)
46 funnel.set_state (gst.STATE_PLAYING)
47 videosink.set_state (gst.STATE_PLAYING)
48 funnel.link(videosink)
49 pad.link (funnel.get_pad ("sink%d"))
50
51 stream.connect ("src-pad-added", _src_pad_added, pipeline)
52
53 pipeline.set_state(gst.STATE_PLAYING)
54 loop.run()
+0
-15
python/pyfarstream-filter.defs less more
0 (define-boxed Codec
1 (in-module "Fs")
2 (c-name "FsCodec")
3 (gtype-id "FS_TYPE_CODEC")
4 (copy-func fs_codec_copy)
5 (release-func fs_codec_destroy)
6 )
7
8 (define-boxed Candidate
9 (in-module "Fs")
10 (c-name "FsCandidate")
11 (gtype-id "FS_TYPE_CANDIDATE")
12 (copy-func fs_candidate_copy)
13 (release-func fs_candidate_destroy)
14 )
+0
-970
python/pyfarstream.defs less more
0 (define-boxed Codec
1 (in-module "Fs")
2 (c-name "FsCodec")
3 (gtype-id "FS_TYPE_CODEC")
4 (copy-func fs_codec_copy)
5 (release-func fs_codec_destroy)
6 )
7
8 (define-boxed Candidate
9 (in-module "Fs")
10 (c-name "FsCandidate")
11 (gtype-id "FS_TYPE_CANDIDATE")
12 (copy-func fs_candidate_copy)
13 (release-func fs_candidate_destroy)
14 )
15 ;; -*- scheme -*-
16 ; object definitions ...
17 ;; Enumerations and flags ...
18
19 (define-enum MediaType
20 (in-module "Fs")
21 (c-name "FsMediaType")
22 (gtype-id "FS_TYPE_MEDIA_TYPE")
23 (values
24 '("audio" "FS_MEDIA_TYPE_AUDIO")
25 '("video" "FS_MEDIA_TYPE_VIDEO")
26 '("last" "FS_MEDIA_TYPE_LAST")
27 )
28 )
29
30
31 ;; From fs-codec.h
32
33 (define-function fs_codec_get_type
34 (c-name "fs_codec_get_type")
35 (return-type "GType")
36 )
37
38 (define-function fs_codec_list_get_type
39 (c-name "fs_codec_list_get_type")
40 (return-type "GType")
41 )
42
43 (define-function fs_codec_new
44 (c-name "fs_codec_new")
45 (is-constructor-of "FsCodec")
46 (return-type "FsCodec*")
47 (parameters
48 '("int" "id")
49 '("const-char*" "encoding_name")
50 '("FsMediaType" "media_type")
51 '("guint" "clock_rate")
52 )
53 )
54
55 (define-method destroy
56 (of-object "FsCodec")
57 (c-name "fs_codec_destroy")
58 (return-type "none")
59 )
60
61 (define-method copy
62 (of-object "FsCodec")
63 (c-name "fs_codec_copy")
64 (return-type "FsCodec*")
65 )
66
67 (define-function fs_codec_list_destroy
68 (c-name "fs_codec_list_destroy")
69 (return-type "none")
70 (parameters
71 '("GList*" "codec_list")
72 )
73 )
74
75 (define-function fs_codec_list_copy
76 (c-name "fs_codec_list_copy")
77 (return-type "GList*")
78 (parameters
79 '("const-GList*" "codec_list")
80 )
81 )
82
83 (define-function fs_codec_list_from_keyfile
84 (c-name "fs_codec_list_from_keyfile")
85 (return-type "GList*")
86 (parameters
87 '("const-gchar*" "filename")
88 '("GError**" "error")
89 )
90 )
91
92 (define-method to_string
93 (of-object "FsCodec")
94 (c-name "fs_codec_to_string")
95 (return-type "gchar*")
96 )
97
98 (define-method to_string
99 (of-object "FsMediaType")
100 (c-name "fs_media_type_to_string")
101 (return-type "const-gchar*")
102 )
103
104 (define-method are_equal
105 (of-object "FsCodec")
106 (c-name "fs_codec_are_equal")
107 (return-type "gboolean")
108 (parameters
109 '("const-FsCodec*" "codec2")
110 )
111 )
112
113 (define-function fs_codec_list_are_equal
114 (c-name "fs_codec_list_are_equal")
115 (return-type "gboolean")
116 (parameters
117 '("GList*" "list1")
118 '("GList*" "list2")
119 )
120 )
121
122 (define-method add_optional_parameter
123 (of-object "FsCodec")
124 (c-name "fs_codec_add_optional_parameter")
125 (return-type "none")
126 (parameters
127 '("const-gchar*" "name")
128 '("const-gchar*" "value")
129 )
130 )
131
132 (define-method remove_optional_parameter
133 (of-object "FsCodec")
134 (c-name "fs_codec_remove_optional_parameter")
135 (return-type "none")
136 (parameters
137 '("FsCodecParameter*" "param")
138 )
139 )
140
141 (define-method get_optional_parameter
142 (of-object "FsCodec")
143 (c-name "fs_codec_get_optional_parameter")
144 (return-type "FsCodecParameter*")
145 (parameters
146 '("const-gchar*" "name")
147 '("const-gchar*" "value")
148 )
149 )
150
151 (define-function fs_codec_parameter_get_type
152 (c-name "fs_codec_parameter_get_type")
153 (return-type "GType")
154 )
155
156 (define-method copy
157 (of-object "FsCodecParameter")
158 (c-name "fs_codec_parameter_copy")
159 (return-type "FsCodecParameter*")
160 )
161
162 (define-method free
163 (of-object "FsCodecParameter")
164 (c-name "fs_codec_parameter_free")
165 (return-type "none")
166 )
167
168 (define-method add_feedback_parameter
169 (of-object "FsCodec")
170 (c-name "fs_codec_add_feedback_parameter")
171 (return-type "none")
172 (parameters
173 '("const-gchar*" "type")
174 '("const-gchar*" "subtype")
175 '("const-gchar*" "extra_params")
176 )
177 )
178
179 (define-method get_feedback_parameter
180 (of-object "FsCodec")
181 (c-name "fs_codec_get_feedback_parameter")
182 (return-type "FsFeedbackParameter*")
183 (parameters
184 '("const-gchar*" "type")
185 '("const-gchar*" "subtype")
186 '("const-gchar*" "extra_params")
187 )
188 )
189
190 (define-method remove_feedback_parameter
191 (of-object "FsCodec")
192 (c-name "fs_codec_remove_feedback_parameter")
193 (return-type "none")
194 (parameters
195 '("GList*" "item")
196 )
197 )
198
199 (define-function fs_feedback_parameter_get_type
200 (c-name "fs_feedback_parameter_get_type")
201 (return-type "GType")
202 )
203
204 (define-method copy
205 (of-object "FsFeedbackParameter")
206 (c-name "fs_feedback_parameter_copy")
207 (return-type "FsFeedbackParameter*")
208 )
209
210 (define-method free
211 (of-object "FsFeedbackParameter")
212 (c-name "fs_feedback_parameter_free")
213 (return-type "none")
214 )
215
216
217 ;; -*- scheme -*-
218 ; object definitions ...
219 ;; Enumerations and flags ...
220
221 (define-enum CandidateType
222 (in-module "Fs")
223 (c-name "FsCandidateType")
224 (gtype-id "FS_TYPE_CANDIDATE_TYPE")
225 (values
226 '("host" "FS_CANDIDATE_TYPE_HOST")
227 '("srflx" "FS_CANDIDATE_TYPE_SRFLX")
228 '("prflx" "FS_CANDIDATE_TYPE_PRFLX")
229 '("relay" "FS_CANDIDATE_TYPE_RELAY")
230 '("multicast" "FS_CANDIDATE_TYPE_MULTICAST")
231 )
232 )
233
234 (define-enum NetworkProtocol
235 (in-module "Fs")
236 (c-name "FsNetworkProtocol")
237 (gtype-id "FS_TYPE_NETWORK_PROTOCOL")
238 (values
239 '("udp" "FS_NETWORK_PROTOCOL_UDP")
240 '("tcp" "FS_NETWORK_PROTOCOL_TCP")
241 )
242 )
243
244 (define-enum ComponentType
245 (in-module "Fs")
246 (c-name "FsComponentType")
247 (gtype-id "FS_TYPE_COMPONENT_TYPE")
248 (values
249 '("none" "FS_COMPONENT_NONE")
250 '("rtp" "FS_COMPONENT_RTP")
251 '("rtcp" "FS_COMPONENT_RTCP")
252 )
253 )
254
255
256 ;; From fs-candidate.h
257
258 (define-function fs_candidate_get_type
259 (c-name "fs_candidate_get_type")
260 (return-type "GType")
261 )
262
263 (define-function fs_candidate_list_get_type
264 (c-name "fs_candidate_list_get_type")
265 (return-type "GType")
266 )
267
268 (define-method destroy
269 (of-object "FsCandidate")
270 (c-name "fs_candidate_destroy")
271 (return-type "none")
272 )
273
274 (define-method copy
275 (of-object "FsCandidate")
276 (c-name "fs_candidate_copy")
277 (return-type "FsCandidate*")
278 )
279
280 (define-function fs_candidate_list_destroy
281 (c-name "fs_candidate_list_destroy")
282 (return-type "none")
283 (parameters
284 '("GList*" "candidate_list")
285 )
286 )
287
288 (define-function fs_candidate_list_copy
289 (c-name "fs_candidate_list_copy")
290 (return-type "GList*")
291 (parameters
292 '("const-GList*" "candidate_list")
293 )
294 )
295
296 (define-function fs_candidate_new
297 (c-name "fs_candidate_new")
298 (is-constructor-of "FsCandidate")
299 (return-type "FsCandidate*")
300 (parameters
301 '("const-gchar*" "foundation")
302 '("guint" "component_id")
303 '("FsCandidateType" "type")
304 '("FsNetworkProtocol" "proto")
305 '("const-gchar*" "ip")
306 '("guint" "port")
307 )
308 )
309
310
311 ;; -*- scheme -*-
312 ; object definitions ...
313 (define-object Conference
314 (in-module "Fs")
315 (parent "GstBin")
316 (c-name "FsConference")
317 (gtype-id "FS_TYPE_CONFERENCE")
318 )
319
320 ;; Enumerations and flags ...
321
322 (define-enum Error
323 (in-module "Fs")
324 (c-name "FsError")
325 (gtype-id "FS_TYPE_ERROR")
326 (values
327 '("construction" "FS_ERROR_CONSTRUCTION")
328 '("internal" "FS_ERROR_INTERNAL")
329 '("invalid-arguments" "FS_ERROR_INVALID_ARGUMENTS")
330 '("network" "FS_ERROR_NETWORK")
331 '("not-implemented" "FS_ERROR_NOT_IMPLEMENTED")
332 '("negotiation-failed" "FS_ERROR_NEGOTIATION_FAILED")
333 '("unknown-codec" "FS_ERROR_UNKNOWN_CODEC")
334 '("no-codecs" "FS_ERROR_NO_CODECS")
335 '("no-codecs-left" "FS_ERROR_NO_CODECS_LEFT")
336 '("connection-failed" "FS_ERROR_CONNECTION_FAILED")
337 '("disposed" "FS_ERROR_DISPOSED")
338 '("already-exists" "FS_ERROR_ALREADY_EXISTS")
339 )
340 )
341
342
343 ;; From fs-conference.h
344
345 (define-function fs_conference_get_type
346 (c-name "fs_conference_get_type")
347 (return-type "GType")
348 )
349
350 (define-function fs_error_quark
351 (c-name "fs_error_quark")
352 (return-type "GQuark")
353 )
354
355 (define-method new_session
356 (caller-owns-return t)
357 (of-object "FsConference")
358 (unblock-threads t)
359 (c-name "fs_conference_new_session")
360 (return-type "FsSession*")
361 (parameters
362 '("FsMediaType" "media_type")
363 '("GError**" "error")
364 )
365 )
366
367 (define-method new_participant
368 (caller-owns-return t)
369 (of-object "FsConference")
370 (unblock-threads t)
371 (c-name "fs_conference_new_participant")
372 (return-type "FsParticipant*")
373 (parameters
374 '("GError**" "error")
375 )
376 )
377
378 (define-function fs_parse_error
379 (c-name "fs_parse_error")
380 (return-type "gboolean")
381 (parameters
382 '("GObject*" "object")
383 '("GstMessage*" "message")
384 '("FsError*" "error")
385 '("const-gchar**" "error_msg")
386 )
387 )
388
389
390 ;; -*- scheme -*-
391 ; object definitions ...
392 (define-object Session
393 (in-module "Fs")
394 (parent "GstObject")
395 (c-name "FsSession")
396 (gtype-id "FS_TYPE_SESSION")
397 )
398
399 ;; Enumerations and flags ...
400
401
402 ;; From fs-session.h
403
404 (define-function fs_session_get_type
405 (c-name "fs_session_get_type")
406 (return-type "GType")
407 )
408
409 (define-method new_stream
410 (caller-owns-return t)
411 (of-object "FsSession")
412 (unblock-threads t)
413 (c-name "fs_session_new_stream")
414 (return-type "FsStream*")
415 (parameters
416 '("FsParticipant*" "participant")
417 '("FsStreamDirection" "direction")
418 '("GError**" "error")
419 )
420 )
421
422 (define-method start_telephony_event
423 (of-object "FsSession")
424 (unblock-threads t)
425 (c-name "fs_session_start_telephony_event")
426 (return-type "gboolean")
427 (parameters
428 '("guint8" "event")
429 '("guint8" "volume")
430 )
431 )
432
433 (define-method stop_telephony_event
434 (of-object "FsSession")
435 (unblock-threads t)
436 (c-name "fs_session_stop_telephony_event")
437 (return-type "gboolean")
438 )
439
440 (define-method set_send_codec
441 (of-object "FsSession")
442 (unblock-threads t)
443 (c-name "fs_session_set_send_codec")
444 (return-type "gboolean")
445 (parameters
446 '("FsCodec*" "send_codec")
447 '("GError**" "error")
448 )
449 )
450
451 (define-method set_codec_preferences
452 (of-object "FsSession")
453 (unblock-threads t)
454 (c-name "fs_session_set_codec_preferences")
455 (return-type "gboolean")
456 (parameters
457 '("GList*" "codec_preferences")
458 '("GError**" "error")
459 )
460 )
461
462 (define-method list_transmitters
463 (of-object "FsSession")
464 (unblock-threads t)
465 (c-name "fs_session_list_transmitters")
466 (return-type "gchar**")
467 )
468
469 (define-method emit_error
470 (of-object "FsSession")
471 (unblock-threads t)
472 (c-name "fs_session_emit_error")
473 (return-type "none")
474 (parameters
475 '("gint" "error_no")
476 '("const-gchar*" "error_msg")
477 )
478 )
479
480 (define-method get_stream_transmitter_type
481 (of-object "FsSession")
482 (unblock-threads t)
483 (c-name "fs_session_get_stream_transmitter_type")
484 (return-type "GType")
485 (parameters
486 '("const-gchar*" "transmitter")
487 )
488 )
489
490 (define-method codecs_need_resend
491 (of-object "FsSession")
492 (unblock-threads t)
493 (c-name "fs_session_codecs_need_resend")
494 (return-type "GList*")
495 (parameters
496 '("GList*" "old_codecs")
497 '("GList*" "new_codecs")
498 )
499 )
500
501 (define-method destroy
502 (of-object "FsSession")
503 (unblock-threads t)
504 (c-name "fs_session_destroy")
505 (return-type "none")
506 )
507
508 (define-method parse_send_codec_changed
509 (of-object "FsSession")
510 (unblock-threads t)
511 (c-name "fs_session_parse_send_codec_changed")
512 (return-type "gboolean")
513 (parameters
514 '("GstMessage*" "message")
515 '("FsCodec**" "codec")
516 '("GList**" "secondary_codecs")
517 )
518 )
519
520 (define-method parse_codecs_changed
521 (of-object "FsSession")
522 (unblock-threads t)
523 (c-name "fs_session_parse_codecs_changed")
524 (return-type "gboolean")
525 (parameters
526 '("GstMessage*" "message")
527 )
528 )
529
530 (define-method parse_telephony_event_started
531 (of-object "FsSession")
532 (unblock-threads t)
533 (c-name "fs_session_parse_telephony_event_started")
534 (return-type "gboolean")
535 (parameters
536 '("GstMessage*" "message")
537 '("FsDTMFMethod*" "method")
538 '("FsDTMFEvent*" "event")
539 '("guint8*" "volume")
540 )
541 )
542
543 (define-method parse_telephony_event_stopped
544 (of-object "FsSession")
545 (unblock-threads t)
546 (c-name "fs_session_parse_telephony_event_stopped")
547 (return-type "gboolean")
548 (parameters
549 '("GstMessage*" "message")
550 '("FsDTMFMethod*" "method")
551 )
552 )
553
554
555 ;; -*- scheme -*-
556 ; object definitions ...
557 (define-object Participant
558 (in-module "Fs")
559 (parent "GstObject")
560 (c-name "FsParticipant")
561 (gtype-id "FS_TYPE_PARTICIPANT")
562 )
563
564 ;; Enumerations and flags ...
565
566
567 ;; From fs-participant.h
568
569 (define-function fs_participant_get_type
570 (c-name "fs_participant_get_type")
571 (return-type "GType")
572 )
573
574
575 ;; -*- scheme -*-
576 ; object definitions ...
577 (define-object Stream
578 (in-module "Fs")
579 (parent "GstObject")
580 (c-name "FsStream")
581 (gtype-id "FS_TYPE_STREAM")
582 )
583
584 ;; Enumerations and flags ...
585
586 (define-flags StreamDirection
587 (in-module "Fs")
588 (c-name "FsStreamDirection")
589 (gtype-id "FS_TYPE_STREAM_DIRECTION")
590 (values
591 '("none" "FS_DIRECTION_NONE")
592 '("send" "FS_DIRECTION_SEND")
593 '("recv" "FS_DIRECTION_RECV")
594 '("both" "FS_DIRECTION_BOTH")
595 )
596 )
597
598 (define-enum StreamState
599 (in-module "Fs")
600 (c-name "FsStreamState")
601 (gtype-id "FS_TYPE_STREAM_STATE")
602 (values
603 '("failed" "FS_STREAM_STATE_FAILED")
604 '("disconnected" "FS_STREAM_STATE_DISCONNECTED")
605 '("gathering" "FS_STREAM_STATE_GATHERING")
606 '("connecting" "FS_STREAM_STATE_CONNECTING")
607 '("connected" "FS_STREAM_STATE_CONNECTED")
608 '("ready" "FS_STREAM_STATE_READY")
609 )
610 )
611
612
613 ;; From fs-stream.h
614
615 (define-function fs_stream_get_type
616 (c-name "fs_stream_get_type")
617 (return-type "GType")
618 )
619
620 (define-method add_remote_candidates
621 (of-object "FsStream")
622 (unblock-threads t)
623 (c-name "fs_stream_add_remote_candidates")
624 (return-type "gboolean")
625 (parameters
626 '("GList*" "candidates")
627 '("GError**" "error")
628 )
629 )
630
631 (define-method force_remote_candidates
632 (of-object "FsStream")
633 (unblock-threads t)
634 (c-name "fs_stream_force_remote_candidates")
635 (return-type "gboolean")
636 (parameters
637 '("GList*" "remote_candidates")
638 '("GError**" "error")
639 )
640 )
641
642 (define-method set_remote_codecs
643 (of-object "FsStream")
644 (unblock-threads t)
645 (c-name "fs_stream_set_remote_codecs")
646 (return-type "gboolean")
647 (parameters
648 '("GList*" "remote_codecs")
649 '("GError**" "error")
650 )
651 )
652
653 (define-method add_id
654 (of-object "FsStream")
655 (unblock-threads t)
656 (c-name "fs_stream_add_id")
657 (return-type "none")
658 (parameters
659 '("guint" "id")
660 )
661 )
662
663 (define-method emit_error
664 (of-object "FsStream")
665 (unblock-threads t)
666 (c-name "fs_stream_emit_error")
667 (return-type "none")
668 (parameters
669 '("gint" "error_no")
670 '("const-gchar*" "error_msg")
671 )
672 )
673
674 (define-method emit_src_pad_added
675 (of-object "FsStream")
676 (unblock-threads t)
677 (c-name "fs_stream_emit_src_pad_added")
678 (return-type "none")
679 (parameters
680 '("GstPad*" "pad")
681 '("FsCodec*" "codec")
682 )
683 )
684
685 (define-method iterate_src_pads
686 (of-object "FsStream")
687 (unblock-threads t)
688 (c-name "fs_stream_iterate_src_pads")
689 (return-type "GstIterator*")
690 )
691
692 (define-method set_transmitter
693 (of-object "FsStream")
694 (unblock-threads t)
695 (c-name "fs_stream_set_transmitter")
696 (return-type "gboolean")
697 (parameters
698 '("const-gchar*" "transmitter")
699 '("GParameter*" "stream_transmitter_parameters")
700 '("guint" "stream_transmitter_n_parameters")
701 '("GError**" "error")
702 )
703 )
704
705 (define-method destroy
706 (of-object "FsStream")
707 (unblock-threads t)
708 (c-name "fs_stream_destroy")
709 (return-type "none")
710 )
711
712 (define-method parse_new_local_candidate
713 (of-object "FsStream")
714 (unblock-threads t)
715 (c-name "fs_stream_parse_new_local_candidate")
716 (return-type "gboolean")
717 (parameters
718 '("GstMessage*" "message")
719 '("FsCandidate**" "candidate")
720 )
721 )
722
723 (define-method parse_local_candidates_prepared
724 (of-object "FsStream")
725 (unblock-threads t)
726 (c-name "fs_stream_parse_local_candidates_prepared")
727 (return-type "gboolean")
728 (parameters
729 '("GstMessage*" "message")
730 )
731 )
732
733 (define-method parse_new_active_candidate_pair
734 (of-object "FsStream")
735 (unblock-threads t)
736 (c-name "fs_stream_parse_new_active_candidate_pair")
737 (return-type "gboolean")
738 (parameters
739 '("GstMessage*" "message")
740 '("FsCandidate**" "local_candidate")
741 '("FsCandidate**" "remote_candidate")
742 )
743 )
744
745 (define-method parse_recv_codecs_changed
746 (of-object "FsStream")
747 (unblock-threads t)
748 (c-name "fs_stream_parse_recv_codecs_changed")
749 (return-type "gboolean")
750 (parameters
751 '("GstMessage*" "message")
752 '("GList**" "codecs")
753 )
754 )
755
756 (define-method parse_component_state_changed
757 (of-object "FsStream")
758 (unblock-threads t)
759 (c-name "fs_stream_parse_component_state_changed")
760 (return-type "gboolean")
761 (parameters
762 '("GstMessage*" "message")
763 '("guint*" "component")
764 '("FsStreamState*" "state")
765 )
766 )
767
768
769 ;; -*- scheme -*-
770 ; object definitions ...
771 ;; Enumerations and flags ...
772
773
774 ;; From fs-rtp.h
775
776 (define-function fs_rtp_header_extension_get_type
777 (c-name "fs_rtp_header_extension_get_type")
778 (return-type "GType")
779 )
780
781 (define-function fs_rtp_header_extension_list_get_type
782 (c-name "fs_rtp_header_extension_list_get_type")
783 (return-type "GType")
784 )
785
786 (define-function fs_rtp_header_extension_new
787 (c-name "fs_rtp_header_extension_new")
788 (is-constructor-of "FsRtpHeaderExtension")
789 (return-type "FsRtpHeaderExtension*")
790 (parameters
791 '("guint" "id")
792 '("FsStreamDirection" "direction")
793 '("const-gchar*" "uri")
794 )
795 )
796
797 (define-method copy
798 (of-object "FsRtpHeaderExtension")
799 (c-name "fs_rtp_header_extension_copy")
800 (return-type "FsRtpHeaderExtension*")
801 )
802
803 (define-method destroy
804 (of-object "FsRtpHeaderExtension")
805 (c-name "fs_rtp_header_extension_destroy")
806 (return-type "none")
807 )
808
809 (define-method are_equal
810 (of-object "FsRtpHeaderExtension")
811 (c-name "fs_rtp_header_extension_are_equal")
812 (return-type "gboolean")
813 (parameters
814 '("FsRtpHeaderExtension*" "extension2")
815 )
816 )
817
818 (define-function fs_rtp_header_extension_list_copy
819 (c-name "fs_rtp_header_extension_list_copy")
820 (return-type "GList*")
821 (parameters
822 '("GList*" "extensions")
823 )
824 )
825
826 (define-function fs_rtp_header_extension_list_destroy
827 (c-name "fs_rtp_header_extension_list_destroy")
828 (return-type "none")
829 (parameters
830 '("GList*" "extensions")
831 )
832 )
833
834 (define-function fs_rtp_header_extension_list_from_keyfile
835 (c-name "fs_rtp_header_extension_list_from_keyfile")
836 (return-type "GList*")
837 (parameters
838 '("const-gchar*" "filename")
839 '("FsMediaType" "media_type")
840 '("GError**" "error")
841 )
842 )
843
844
845 ;; -*- scheme -*-
846 ; object definitions ...
847 (define-object ElementAddedNotifier
848 (in-module "Fs")
849 (parent "GObject")
850 (c-name "FsElementAddedNotifier")
851 (gtype-id "FS_TYPE_ELEMENT_ADDED_NOTIFIER")
852 )
853
854 ;; Enumerations and flags ...
855
856
857 ;; From fs-element-added-notifier.h
858
859 (define-function fs_element_added_notifier_get_type
860 (c-name "fs_element_added_notifier_get_type")
861 (return-type "GType")
862 )
863
864 (define-function fs_element_added_notifier_new
865 (c-name "fs_element_added_notifier_new")
866 (is-constructor-of "FsElementAddedNotifier")
867 (return-type "FsElementAddedNotifier*")
868 )
869
870 (define-method add
871 (of-object "FsElementAddedNotifier")
872 (c-name "fs_element_added_notifier_add")
873 (return-type "none")
874 (parameters
875 '("GstBin*" "bin")
876 )
877 )
878
879 (define-method remove
880 (of-object "FsElementAddedNotifier")
881 (c-name "fs_element_added_notifier_remove")
882 (return-type "gboolean")
883 (parameters
884 '("GstBin*" "bin")
885 )
886 )
887
888 (define-method set_properties_from_keyfile
889 (of-object "FsElementAddedNotifier")
890 (c-name "fs_element_added_notifier_set_properties_from_keyfile")
891 (return-type "none")
892 (parameters
893 '("GKeyFile*" "keyfile")
894 )
895 )
896
897 (define-method set_properties_from_file
898 (of-object "FsElementAddedNotifier")
899 (c-name "fs_element_added_notifier_set_properties_from_file")
900 (return-type "gboolean")
901 (parameters
902 '("const-gchar*" "filename")
903 '("GError**" "error")
904 )
905 )
906
907 (define-method set_default_properties
908 (of-object "FsElementAddedNotifier")
909 (c-name "fs_element_added_notifier_set_default_properties")
910 (return-type "none")
911 (parameters
912 '("GstElement*" "element")
913 )
914 )
915
916
917 ;; -*- scheme -*-
918 ; object definitions ...
919 ;; Enumerations and flags ...
920
921
922 ;; From fs-enumtypes.h
923
924 (define-function fs_candidate_type_get_type
925 (c-name "fs_candidate_type_get_type")
926 (return-type "GType")
927 )
928
929 (define-function fs_network_protocol_get_type
930 (c-name "fs_network_protocol_get_type")
931 (return-type "GType")
932 )
933
934 (define-function fs_component_type_get_type
935 (c-name "fs_component_type_get_type")
936 (return-type "GType")
937 )
938
939 (define-function fs_media_type_get_type
940 (c-name "fs_media_type_get_type")
941 (return-type "GType")
942 )
943
944 (define-function fs_dtmf_event_get_type
945 (c-name "fs_dtmf_event_get_type")
946 (return-type "GType")
947 )
948
949 (define-function fs_dtmf_method_get_type
950 (c-name "fs_dtmf_method_get_type")
951 (return-type "GType")
952 )
953
954 (define-function fs_stream_direction_get_type
955 (c-name "fs_stream_direction_get_type")
956 (return-type "GType")
957 )
958
959 (define-function fs_stream_state_get_type
960 (c-name "fs_stream_state_get_type")
961 (return-type "GType")
962 )
963
964 (define-function fs_error_get_type
965 (c-name "fs_error_get_type")
966 (return-type "GType")
967 )
968
969
+0
-975
python/pyfarstream.override less more
0 %%
1 headers
2 #include <Python.h>
3 #include <pygobject.h>
4
5 #include <gst/gst.h>
6
7 #include <farstream/fs-conference.h>
8
9 #include <farstream/fs-element-added-notifier.h>
10
11 /* This is new in python 2.5 */
12 #if PYTHON_API_VERSION < 1013
13 typedef int Py_ssize_t;
14 #endif
15
16 static PyObject *
17 _fs_boxed_list_from_value (const GValue *value, GType listtype, GType type)
18 {
19 PyObject *list = PyList_New (0);
20 GList *item;
21
22 if (G_VALUE_TYPE(value) != listtype)
23 {
24 PyErr_Format(PyExc_TypeError, "Must be a List of %s", g_type_name (type));
25 return NULL;
26 }
27
28 for (item = g_list_first (g_value_get_boxed (value));
29 item;
30 item = g_list_next (item))
31 PyList_Append (list, pyg_boxed_new (type, item->data, TRUE, TRUE));
32
33 return list;
34 }
35
36 typedef void* (*StructCopyFunc) (void*);
37
38 static int
39 _fs_boxed_list_to_value (GValue *value, PyObject *obj, GType type,
40 StructCopyFunc copy_func)
41 {
42 Py_ssize_t i;
43 GList *boxed = NULL;
44
45 if (!PySequence_Check (obj)) {
46 PyErr_Format(PyExc_TypeError, "Must be a Sequence of %s", g_type_name (type));
47 return -1;
48 }
49
50 for (i = 0; i < PySequence_Size (obj); i++)
51 {
52 PyObject *item = PySequence_GetItem (obj, i);
53
54 if (!pyg_boxed_check (item, type))
55 {
56 PyErr_Format(PyExc_TypeError,
57 "The parameter must be a Sequence of %s", g_type_name (type));
58 return -1;
59 }
60 }
61
62 for (i = 0; i < PySequence_Size (obj); i++)
63 {
64 PyObject *item = PySequence_GetItem (obj, i);
65
66 boxed = g_list_append (boxed,
67 copy_func (
68 pyg_boxed_get (item, void*)));
69 }
70
71 g_value_take_boxed (value, boxed);
72
73 return 0;
74 }
75
76 static PyObject *
77 _fs_codec_list_from_value (const GValue *value)
78 {
79 return _fs_boxed_list_from_value (value,
80 FS_TYPE_CODEC_LIST,
81 FS_TYPE_CODEC);
82 }
83
84 static int
85 _fs_codec_list_to_value (GValue *value, PyObject *obj)
86 {
87 return _fs_boxed_list_to_value (value, obj,
88 FS_TYPE_CODEC,
89 (StructCopyFunc) fs_codec_copy);
90 }
91
92 static PyObject *
93 _fs_candidate_list_from_value (const GValue *value)
94 {
95 return _fs_boxed_list_from_value (value,
96 FS_TYPE_CANDIDATE_LIST,
97 FS_TYPE_CANDIDATE);
98 }
99
100 static int
101 _fs_candidate_list_to_value (GValue *value, PyObject *obj)
102 {
103 return _fs_boxed_list_to_value (value, obj,
104 FS_TYPE_CANDIDATE,
105 (StructCopyFunc) fs_candidate_copy);
106 }
107
108 static gboolean
109 _fs_codec_list_from_pysequence (PyObject *obj, GList **list)
110 {
111 GList *codecs = NULL;
112 Py_ssize_t i;
113
114 if (!PySequence_Check (obj))
115 {
116 PyErr_SetString (PyExc_TypeError,
117 "The parameter must be a Sequence of FsCodec");
118 return FALSE;
119 }
120
121 for (i = 0; i < PySequence_Size (obj); i++)
122 {
123 PyObject *item = PySequence_GetItem (obj, i);
124
125 if (!pyg_boxed_check (item, FS_TYPE_CODEC))
126 {
127 PyErr_SetString(PyExc_TypeError,
128 "The parameter must be a Sequence of FsCodec");
129 return FALSE;
130 }
131 }
132
133 for (i = 0; i < PySequence_Size (obj); i++)
134 {
135 PyObject *item = PySequence_GetItem (obj, i);
136
137 codecs = g_list_append (codecs, pyg_boxed_get (item, FsCodec));
138 }
139
140 *list = codecs;
141 return TRUE;
142 }
143
144 %%
145 modulename farstream
146 %%
147 ignore-glob
148 *_get_type
149 fs_*_list_copy
150 fs_*_destroy
151 fs_*_from_keyfile
152 fs_codec_*_optional_parameter
153 fs_codec_*_feedback_parameter
154 %%
155 ignore
156 fs_error_quark
157 fs_candidate_get_by_id
158 fs_codec_list_are_equal
159 %%
160 import gobject.GObject as PyGObject_Type
161 import gst.Object as PyGstObject_Type
162 import gst.Element as PyGstElement_Type
163 import gst.Pad as PyGstPad_Type
164 import gst.Bin as PyGstBin_Type
165 import gst.Iterator as PyGstIterator_Type
166 %%
167 init
168 pyg_register_gtype_custom (FS_TYPE_CODEC_LIST,
169 _fs_codec_list_from_value,
170 _fs_codec_list_to_value);
171 pyg_register_gtype_custom (FS_TYPE_CANDIDATE_LIST,
172 _fs_candidate_list_from_value,
173 _fs_candidate_list_to_value);
174 %%
175 dynamicnamespace
176 %%
177 override-slot FsCodec.tp_setattr
178 static int
179 _wrap_fs_codec_tp_setattr(PyObject *self, char *attr, PyObject *value)
180 {
181 FsCodec *codec;
182
183 codec = pyg_boxed_get(self, FsCodec);
184
185 if (!strcmp (attr, "id"))
186 {
187 if (!PyInt_Check(value))
188 {
189 PyErr_Format(PyExc_TypeError, "%s must be an int", attr);
190 return -1;
191 }
192 codec->id = (gint)PyInt_AsLong(value);
193 }
194 else if (!strcmp (attr, "encoding_name"))
195 {
196 if (value == NULL || PyString_Check(value))
197 {
198 g_free (codec->encoding_name);
199 codec->encoding_name = g_strdup (PyString_AsString (value));
200 }
201 else
202 {
203 PyErr_Format(PyExc_TypeError, "%s must be a string", attr);
204 return -1;
205 }
206 }
207 else if (!strcmp (attr, "media_type"))
208 {
209 gint media_type;
210 if (pyg_enum_get_value(FS_TYPE_MEDIA_TYPE, value, &media_type))
211 return -1;
212 codec->media_type = media_type;
213 }
214 else if (!strcmp (attr, "clock_rate"))
215 {
216 if (!PyInt_Check(value) || PyInt_AsLong(value) < 0)
217 {
218 PyErr_Format(PyExc_TypeError, "%s must be an non-negative int", attr);
219 return -1;
220 }
221 codec->clock_rate = (guint)PyInt_AsLong(value);
222 }
223 else if (!strcmp (attr, "channels"))
224 {
225 if (!PyInt_Check(value) || PyInt_AsLong(value) < 0)
226 {
227 PyErr_Format(PyExc_TypeError, "%s must be an non-negative int", attr);
228 return -1;
229 }
230 codec->channels = (guint)PyInt_AsLong(value);
231 }
232 else if (!strcmp (attr, "optional_params"))
233 {
234 GList *p;
235 int i = 0;
236
237 if (value == NULL)
238 goto none;
239
240 if (!PySequence_Check (value))
241 {
242 PyErr_Format(PyExc_TypeError, "%s must be a sequence of (name, value)",
243 attr);
244 return -1;
245 }
246
247 for (i = 0; i < PySequence_Size (value); i++)
248 {
249 PyObject *item = PySequence_GetItem (value, i);
250
251 if (!PyTuple_Check (item) ||
252 PyTuple_Size (item) != 2 ||
253 !PyString_Check (PyTuple_GetItem (item, 0)) ||
254 !PyString_Check (PyTuple_GetItem (item, 1)))
255 {
256 PyErr_Format(PyExc_TypeError,
257 "%s must be a list of (string name, string value)",
258 attr);
259 return -1;
260 }
261 }
262
263 none:
264
265 for (p = g_list_first (codec->optional_params); p; p = g_list_next (p))
266 {
267 FsCodecParameter *param = p->data;
268 g_free (param->name);
269 g_free (param->value);
270 g_slice_free (FsCodecParameter, p->data);
271 }
272 g_list_free (codec->optional_params);
273
274 if (value == NULL)
275 return 0;
276
277 for (i = 0; i < PySequence_Size (value); i++)
278 {
279 PyObject *item = PySequence_GetItem (value, i);
280 fs_codec_add_optional_parameter(codec,
281 PyString_AsString (PyTuple_GetItem (item, 0)),
282 PyString_AsString (PyTuple_GetItem (item, 1)));
283 }
284 }
285 else if (!strcmp (attr, "feedback_params"))
286 {
287 int i = 0;
288
289 if (value == NULL)
290 goto none2;
291
292 if (!PySequence_Check (value))
293 {
294 PyErr_Format(PyExc_TypeError, "%s must be a sequence of (type), (type, subtype) or (type, subtype, value)",
295 attr);
296 return -1;
297 }
298
299 for (i = 0; i < PySequence_Size (value); i++)
300 {
301 PyObject *item = PySequence_GetItem (value, i);
302
303 if (!PyTuple_Check (item) ||
304 PyTuple_Size (item) < 1 ||
305 PyTuple_Size (item) > 3 ||
306 !PyString_Check (PyTuple_GetItem (item, 0)) ||
307 (PyTuple_Size (item) > 1 &&
308 !PyString_Check (PyTuple_GetItem (item, 1))) ||
309 (PyTuple_Size (item) > 2 &&
310 !PyString_Check (PyTuple_GetItem (item, 2))))
311 {
312 PyErr_Format(PyExc_TypeError,
313 "%s must be a list of (string type, optional string subtype,"
314 " optional string value)",
315 attr);
316 return -1;
317 }
318 }
319
320 none2:
321 while (codec->feedback_params)
322 fs_codec_remove_feedback_parameter (codec,
323 codec->feedback_params);
324
325 if (value == NULL)
326 return 0;
327
328 for (i = 0; i < PySequence_Size (value); i++)
329 {
330 PyObject *item = PySequence_GetItem (value, i);
331 fs_codec_add_feedback_parameter(codec,
332 PyString_AsString (PyTuple_GetItem (item, 0)),
333 PyTuple_Size (item) > 1 ?
334 PyString_AsString (PyTuple_GetItem (item, 1)) : "",
335 PyTuple_Size (item) > 2 ?
336 PyString_AsString (PyTuple_GetItem (item, 2)) : "");
337 }
338 }
339 else
340 {
341 PyErr_Format(PyExc_AttributeError,
342 "Attribute %s does not exist for FsCodec", attr);
343 return -1;
344 }
345
346 return 0;
347 }
348 %%
349 override-slot FsCodec.tp_getattr
350 static PyObject *
351 _wrap_fs_codec_tp_getattr(PyObject *self, char *attr)
352 {
353 FsCodec *codec;
354
355 codec = pyg_boxed_get(self, FsCodec);
356
357 if (!strcmp (attr, "id"))
358 {
359 return PyInt_FromLong(codec->id);
360 }
361 else if (!strcmp (attr, "encoding_name"))
362 {
363 return PyString_FromString (codec->encoding_name ? codec->encoding_name : "");
364 }
365 else if (!strcmp (attr, "media_type"))
366 {
367 return pyg_enum_from_gtype(FS_TYPE_MEDIA_TYPE, codec->media_type);
368 }
369 else if (!strcmp (attr, "clock_rate"))
370 {
371 return PyInt_FromLong(codec->clock_rate);
372 }
373 else if (!strcmp (attr, "channels"))
374 {
375 return PyInt_FromLong(codec->channels);
376 }
377 else if (!strcmp (attr, "optional_params"))
378 {
379 PyObject *list = PyList_New (0);
380 GList *p;
381
382 for (p = g_list_first (codec->optional_params); p; p = g_list_next (p))
383 {
384 PyObject *tuple = PyTuple_New (2);
385 FsCodecParameter *param = p->data;
386
387 if (PyTuple_SetItem (tuple, 0,
388 PyString_FromString (param->name ? param->name : "")) < 0 ||
389 PyTuple_SetItem (tuple, 1,
390 PyString_FromString (param->value ? param->value : "")) < 0 ||
391 PyList_Append (list, tuple) < 0)
392 {
393 Py_DECREF (list);
394 Py_DECREF (tuple);
395 Py_INCREF(Py_None);
396 return Py_None;
397 }
398 }
399
400 return list;
401 }
402 else if (!strcmp (attr, "feedback_params"))
403 {
404 PyObject *list = PyList_New (0);
405 GList *p;
406
407 for (p = g_list_first (codec->feedback_params); p;
408 p = g_list_next (p))
409 {
410 PyObject *tuple = PyTuple_New (3);
411 FsFeedbackParameter *fb = p->data;
412
413 if (PyTuple_SetItem (tuple, 0,
414 PyString_FromString (fb->type ? fb->type : "")) < 0 ||
415 PyTuple_SetItem (tuple, 1,
416 PyString_FromString (fb->subtype ? fb->subtype : "")) < 0 ||
417 PyTuple_SetItem (tuple, 2,
418 PyString_FromString (fb->extra_params ? fb->extra_params : "")) < 0 ||
419 PyList_Append (list, tuple) < 0)
420 {
421 Py_DECREF (list);
422 Py_DECREF (tuple);
423 Py_INCREF(Py_None);
424 return Py_None;
425 }
426 }
427
428 return list;
429 }
430 else
431 {
432 return Py_FindMethod((PyMethodDef*)_PyFsCodec_methods, self, attr);
433 }
434 }
435 %%
436 override-slot FsCodec.tp_compare
437 static int
438 _wrap_fs_codec_tp_compare(PyObject *self, PyGObject *v)
439 {
440 FsCodec *codec1;
441 FsCodec *codec2;
442 int cmp;
443
444 if (!pyg_boxed_check (v, FS_TYPE_CODEC))
445 return 1;
446
447 codec1 = pyg_boxed_get(self, FsCodec);
448 codec2 = pyg_boxed_get(v, FsCodec);
449
450 /* If they're equal, return them as such */
451 if (fs_codec_are_equal (codec1, codec2))
452 return 0;
453
454 /* If their ids are different, return different ids */
455 if (codec1->id > codec2->id)
456 return -1;
457 else if (codec1->id < codec2->id)
458 return 1;
459
460 /* if one does not have an encoding name.. it goes first */
461 if (!codec1->encoding_name)
462 return -1;
463 if (!codec2->encoding_name)
464 return 1;
465
466 /* If they name are different, order them that way */
467 cmp = strcmp (codec1->encoding_name, codec2->encoding_name);
468 if (cmp)
469 return cmp;
470
471 /* otherwise lets try clock rates */
472 if (codec1->clock_rate != codec2->clock_rate)
473 return codec2->clock_rate - codec2->clock_rate;
474
475 /* maybe channels ? */
476 if (codec1->channels != codec2->channels)
477 return codec2->channels - codec2->channels;
478
479 /* If everything else is identical, lets use use the points to the optional
480 * params
481 */
482 if (codec1->optional_params > codec2->optional_params)
483 return -1;
484 else
485 return 1;
486 }
487
488 %%
489 override fs_candidate_new noargs
490 static int
491 _wrap_fs_candidate_new(PyGBoxed *self)
492 {
493 self->gtype = FS_TYPE_CANDIDATE;
494 self->free_on_dealloc = FALSE;
495 self->boxed = g_slice_new0 (FsCandidate);
496
497 if (!self->boxed) {
498 PyErr_SetString(PyExc_RuntimeError, "could not create FsCodec object");
499 return -1;
500 }
501 self->free_on_dealloc = TRUE;
502
503 return 0;
504 }
505 %%
506 new-constructor FS_TYPE_CANDIDATE
507 %%
508 override-slot FsCandidate.tp_setattr
509 static int
510 _wrap_fs_candidate_tp_setattr(PyObject *self, char *attr, PyObject *value)
511 {
512 FsCandidate *candidate;
513
514 candidate = pyg_boxed_get(self, FsCandidate);
515
516 #define CHECK_SET_INT(var, min, max) \
517 do { \
518 if (!PyInt_Check(value) || \
519 PyInt_AsLong(value) < (min) || \
520 PyInt_AsLong(value) > (max)) \
521 { \
522 PyErr_Format(PyExc_TypeError, "%s must be an int between %d and %d", \
523 attr, min, max); \
524 return -1; \
525 } \
526 candidate->var = PyInt_AsLong(value); \
527 } while (0)
528 #define CHECK_SET_STR(var) \
529 do { \
530 if (value && !PyString_Check (value)) \
531 { \
532 PyErr_Format(PyExc_TypeError, "%s must be a string", attr); \
533 return -1; \
534 } \
535 g_free ((gpointer*)candidate->var); \
536 if (value) \
537 candidate->var = g_strdup (PyString_AsString (value)); \
538 else \
539 candidate->var = NULL; \
540 } while(0)
541
542
543
544 if (!strcmp (attr, "foundation"))
545 CHECK_SET_STR (foundation);
546 else if (!strcmp (attr, "component_id"))
547 CHECK_SET_INT (component_id, 1, 256);
548 else if (!strcmp (attr, "ip"))
549 CHECK_SET_STR (ip);
550 else if (!strcmp (attr, "port"))
551 CHECK_SET_INT (port, 0, G_MAXUINT16);
552 else if (!strcmp (attr, "base_ip"))
553 CHECK_SET_STR (base_ip);
554 else if (!strcmp (attr, "base_port"))
555 CHECK_SET_INT (base_port, 0, G_MAXUINT16);
556 else if (!strcmp (attr, "priority"))
557 CHECK_SET_INT (priority, G_MININT, G_MAXINT);
558 else if (!strcmp (attr, "ttl"))
559 CHECK_SET_INT (ttl, 0, 255);
560 else if (!strcmp (attr, "username"))
561 CHECK_SET_STR (username);
562 else if (!strcmp (attr, "password"))
563 CHECK_SET_STR (password);
564 else if (!strcmp (attr, "proto"))
565 {
566 gint proto;
567 if (pyg_enum_get_value(FS_TYPE_NETWORK_PROTOCOL, value, &proto))
568 return -1;
569 candidate->proto = proto;
570 }
571 else if (!strcmp (attr, "type"))
572 {
573 gint type;
574 if (pyg_enum_get_value(FS_TYPE_CANDIDATE_TYPE, value, &type))
575 return -1;
576 candidate->type = type;
577 }
578 else
579 {
580 PyErr_Format(PyExc_AttributeError,
581 "Attribute %s does not exist for FsCandidate", attr);
582 return -1;
583 }
584
585 return 0;
586 #undef CHECK_SET_INT
587 #undef CHECK_SET_STR
588 }
589 %%
590 override-slot FsCandidate.tp_getattr
591 static PyObject *
592 _wrap_fs_candidate_tp_getattr(PyObject *self, char *attr)
593 {
594 FsCandidate *candidate;
595
596 candidate = pyg_boxed_get(self, FsCandidate);
597
598 #define CHECK_NULL(x) ((x) == NULL ? "" : (x))
599
600 if (!strcmp (attr, "foundation"))
601 return PyString_FromString (CHECK_NULL(candidate->foundation));
602 else if (!strcmp (attr, "component_id"))
603 return PyInt_FromLong(candidate->component_id);
604 else if (!strcmp (attr, "ip"))
605 return PyString_FromString (CHECK_NULL(candidate->ip));
606 else if (!strcmp (attr, "port"))
607 return PyInt_FromLong(candidate->port);
608 else if (!strcmp (attr, "base_ip"))
609 return PyString_FromString (CHECK_NULL(candidate->base_ip));
610 else if (!strcmp (attr, "base_port"))
611 return PyInt_FromLong(candidate->base_port);
612 else if (!strcmp (attr, "priority"))
613 return PyInt_FromLong(candidate->priority);
614 else if (!strcmp (attr, "ttl"))
615 return PyInt_FromLong(candidate->ttl);
616 else if (!strcmp (attr, "username"))
617 return PyString_FromString (CHECK_NULL(candidate->username));
618 else if (!strcmp (attr, "password"))
619 return PyString_FromString (CHECK_NULL(candidate->password));
620 else if (!strcmp (attr, "proto"))
621 return pyg_enum_from_gtype(FS_TYPE_NETWORK_PROTOCOL, candidate->proto);
622 else if (!strcmp (attr, "type"))
623 return pyg_enum_from_gtype(FS_TYPE_CANDIDATE_TYPE, candidate->type);
624 else
625 return Py_FindMethod((PyMethodDef*)_PyFsCandidate_methods, self, attr);
626
627 #undef CHECK_NULL
628 }
629 %%
630 override fs_stream_add_remote_candidates onearg
631 static PyObject *
632 _wrap_fs_stream_add_remote_candidates (PyGObject *self, PyObject *arg)
633 {
634 gboolean ret = FALSE;
635 GError *error = NULL;
636 GList *candidates = NULL;
637 Py_ssize_t i;
638
639 if (!PySequence_Check (arg))
640 {
641 PyErr_SetString (PyExc_TypeError,
642 "The parameter must be a Sequence of FsCandidate");
643 return NULL;
644 }
645
646 if (PySequence_Size (arg) == 0)
647 {
648 PyErr_SetString (PyExc_TypeError,
649 "Empty list invalid");
650 return NULL;
651 }
652
653 for (i = 0; i < PySequence_Size (arg); i++)
654 {
655 PyObject *item = PySequence_GetItem (arg, i);
656
657 if (!pyg_boxed_check (item, FS_TYPE_CANDIDATE))
658 {
659 PyErr_SetString(PyExc_TypeError,
660 "The parameter must be a Sequence of FsCandidate");
661 return NULL;
662 }
663 }
664
665 for (i = 0; i < PySequence_Size (arg); i++)
666 {
667 PyObject *item = PySequence_GetItem (arg, i);
668
669 candidates = g_list_append (candidates, pyg_boxed_get (item, FsCandidate));
670 }
671
672
673 Py_BEGIN_ALLOW_THREADS
674 ret = fs_stream_add_remote_candidates (FS_STREAM(self->obj), candidates,
675 &error);
676 Py_END_ALLOW_THREADS
677
678 g_list_free (candidates);
679
680 if (pyg_error_check(&error))
681 return NULL;
682
683 return PyBool_FromLong (ret);
684 }
685 %%
686 override fs_stream_set_remote_codecs onearg
687 static PyObject *
688 _wrap_fs_stream_set_remote_codecs (PyGObject *self, PyObject *arg)
689 {
690 gboolean ret = FALSE;
691 GError *error = NULL;
692 GList *codecs = NULL;
693
694 if (!PySequence_Check (arg))
695 {
696 PyErr_SetString (PyExc_TypeError,
697 "The parameter must be a Sequence of FsCodec");
698 return NULL;
699 }
700
701 if (PySequence_Size (arg) == 0)
702 {
703 PyErr_SetString (PyExc_TypeError,
704 "Empty list invalid");
705 return NULL;
706 }
707
708 if (!_fs_codec_list_from_pysequence (arg, &codecs))
709 return NULL;
710
711 Py_BEGIN_ALLOW_THREADS
712 ret = fs_stream_set_remote_codecs (FS_STREAM(self->obj), codecs, &error);
713 Py_END_ALLOW_THREADS
714
715 g_list_free (codecs);
716
717 if (pyg_error_check(&error))
718 return NULL;
719
720 return PyBool_FromLong (ret);
721 }
722 %%
723 override fs_session_set_codec_preferences onearg
724 static PyObject *
725 _wrap_fs_session_set_codec_preferences (PyGObject *self, PyObject *arg)
726 {
727 gboolean ret = FALSE;
728 GError *error = NULL;
729 GList *codecs = NULL;
730
731 if (!_fs_codec_list_from_pysequence (arg, &codecs))
732 return NULL;
733
734 Py_BEGIN_ALLOW_THREADS
735 ret = fs_session_set_codec_preferences (FS_SESSION(self->obj), codecs,
736 &error);
737 Py_END_ALLOW_THREADS
738
739 g_list_free (codecs);
740
741 if (pyg_error_check(&error))
742 return NULL;
743
744 return PyBool_FromLong (ret);
745 }
746 %%
747 override fs_codec_list_are_equal kwargs
748 static PyObject *
749 _wrap_fs_codec_list_are_equal(PyGObject *self, PyObject *args, PyObject *kwargs)
750 {
751 static char *kwlist[] = {"list1", "list2", NULL};
752 PyObject *pylist1 = NULL, *pylist2 = NULL;
753 GList *list1 = NULL, *list2 = NULL;
754 gboolean ret;
755
756 if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OO",
757 kwlist,
758 &pylist1,
759 &pylist2))
760 return NULL;
761
762 if (pylist1 == pylist2)
763 return PyBool_FromLong (TRUE);
764
765 if (!_fs_codec_list_from_pysequence (pylist1, &list1))
766 return NULL;
767
768 if (!_fs_codec_list_from_pysequence (pylist2, &list2))
769 {
770 g_list_free (list1);
771 return NULL;
772 }
773
774 ret = fs_codec_list_are_equal (list1, list2);
775
776 g_list_free (list1);
777 g_list_free (list2);
778
779 return PyBool_FromLong (ret);
780 }
781 %%
782 override fs_session_list_transmitters noargs
783 static PyObject *
784 _wrap_fs_session_list_transmitters (PyGObject *self)
785 {
786 gchar **strv = NULL;
787 gint i;
788 PyObject *tuple;
789
790 Py_BEGIN_ALLOW_THREADS
791 strv = fs_session_list_transmitters (FS_SESSION(self->obj));
792 Py_END_ALLOW_THREADS
793
794 if (!strv)
795 {
796 Py_INCREF(Py_None);
797 return Py_None;
798 }
799
800 tuple = PyTuple_New (g_strv_length (strv));
801
802 for (i=0; strv[i]; i++)
803 PyTuple_SET_ITEM (tuple, i, PyString_FromString(strv[i]));
804
805 g_strfreev (strv);
806
807 return tuple;
808 }
809 %%
810 override fs_stream_force_remote_candidates onearg
811 static PyObject *
812 _wrap_fs_stream_force_remote_candidates (PyGObject *self, PyObject *arg)
813 {
814 gboolean ret = FALSE;
815 GError *error = NULL;
816 GList *candidates = NULL;
817 Py_ssize_t i;
818
819 if (!PySequence_Check (arg))
820 {
821 PyErr_SetString (PyExc_TypeError,
822 "The parameter must be a Sequence of FsCandidate");
823 return NULL;
824 }
825
826 if (PySequence_Size (arg) == 0)
827 {
828 PyErr_SetString (PyExc_TypeError,
829 "Empty list invalid");
830 return NULL;
831 }
832
833 for (i = 0; i < PySequence_Size (arg); i++)
834 {
835 PyObject *item = PySequence_GetItem (arg, i);
836
837 if (!pyg_boxed_check (item, FS_TYPE_CANDIDATE))
838 {
839 PyErr_SetString(PyExc_TypeError,
840 "The parameter must be a Sequence of FsCandidate");
841 return NULL;
842 }
843 }
844
845 for (i = 0; i < PySequence_Size (arg); i++)
846 {
847 PyObject *item = PySequence_GetItem (arg, i);
848
849 candidates = g_list_append (candidates, pyg_boxed_get (item, FsCandidate));
850 }
851
852
853 Py_BEGIN_ALLOW_THREADS
854 ret = fs_stream_force_remote_candidates (FS_STREAM(self->obj), candidates,
855 &error);
856 Py_END_ALLOW_THREADS
857
858 g_list_free (candidates);
859
860 if (pyg_error_check(&error))
861 return NULL;
862
863 return PyBool_FromLong (ret);
864 }
865 %%
866 override fs_stream_set_transmitter kwargs
867 static PyObject *
868 _wrap_fs_stream_set_transmitter(PyGObject *self, PyObject *args,
869 PyObject *kwargs)
870 {
871 static char *kwlist[] = {"transmitter", "transmitter_parameters", NULL};
872 const gchar *transmitter_name = NULL;
873 PyObject *st_params = NULL;
874 Py_ssize_t pos = 0, i = 0;
875 PyObject *key, *value;
876 GObjectClass *st_class = NULL;
877 GError *error = NULL;
878 FsSession *session = NULL;
879 guint n_parameters = 0;
880 GParameter *parameters = NULL;
881 gboolean ret = FALSE;
882
883 if (!PyArg_ParseTupleAndKeywords(args, kwargs,
884 "z|O!:FsStream.set_transmitter",
885 kwlist,
886 &transmitter_name,
887 &PyDict_Type, &st_params))
888 return NULL;
889
890 if (!transmitter_name)
891 return NULL;
892
893 if (st_params)
894 {
895 GType st_type = 0;
896
897 Py_BEGIN_ALLOW_THREADS
898 g_object_get (pygobject_get (self), "session", &session, NULL);
899 st_type = fs_session_get_stream_transmitter_type (
900 FS_SESSION (session), transmitter_name);
901 g_object_unref (session);
902 Py_END_ALLOW_THREADS
903
904 if (!st_type)
905 goto error;
906
907 st_class = g_type_class_ref (st_type);
908
909 n_parameters = PyDict_Size (st_params);
910 parameters = g_new0 (GParameter, n_parameters);
911 while (PyDict_Next(st_params, &pos, &key, &value))
912 {
913 GParamSpec *spec;
914
915 if (!PyString_Check (key))
916 {
917 PyErr_SetString (PyExc_TypeError,
918 "Expected Stream Parameter key to be a string");
919 goto error;
920 }
921
922 spec = g_object_class_find_property (st_class, PyString_AsString (key));
923
924 if (!spec)
925 {
926 PyErr_Format (PyExc_TypeError, "Received unknown key %s",
927 PyString_AsString (key));
928 goto error;
929 }
930
931 g_value_init (&parameters[i].value, G_PARAM_SPEC_VALUE_TYPE(spec));
932
933 parameters[i].name = PyString_AsString (key);
934
935 if (pyg_value_from_pyobject (&parameters[i].value , value) < 0)
936 {
937 PyErr_Format (PyExc_TypeError, "Expected parameter %s to be a %s",
938 PyString_AsString (key),
939 g_type_name (G_PARAM_SPEC_VALUE_TYPE(spec)));
940 goto error;
941 }
942
943 i++;
944 }
945 }
946
947 Py_BEGIN_ALLOW_THREADS
948 ret = fs_stream_set_transmitter (FS_STREAM (pygobject_get (self)),
949 transmitter_name, parameters, n_parameters, &error);
950 Py_END_ALLOW_THREADS
951
952 if (!ret)
953 goto error;
954
955 if (parameters)
956 {
957 g_type_class_unref (st_class);
958 g_free (parameters);
959 }
960
961 return PyBool_FromLong (ret);
962
963 error:
964 if (error)
965 pyg_error_check (&error);
966
967 if (st_class)
968 g_type_class_unref (st_class);
969 if (parameters)
970 g_free (parameters);
971
972 return PyBool_FromLong (ret);
973 }
974 %%
+0
-30
python/pyfarstreammodule.c less more
0 #include <pygobject.h>
1 #include <farstream/fs-codec.h>
2
3 void fs_register_classes (PyObject *d);
4 void fs_add_constants(PyObject *module, const gchar *strip_prefix);
5
6 DL_EXPORT(void) initfarstream(void);
7 extern PyMethodDef fs_functions[];
8
9 DL_EXPORT(void)
10 initfarstream(void)
11 {
12 PyObject *m, *d;
13
14 init_pygobject ();
15
16 m = Py_InitModule ("farstream", fs_functions);
17 d = PyModule_GetDict (m);
18
19 PyModule_AddIntConstant (m, "CODEC_ID_ANY", FS_CODEC_ID_ANY);
20 PyModule_AddIntConstant (m, "CODEC_ID_DISABLE", FS_CODEC_ID_DISABLE);
21
22 fs_register_classes (d);
23 fs_add_constants (m, "FS_");
24
25 if (PyErr_Occurred ()) {
26 PyErr_Print();
27 Py_FatalError ("can't initialise module farstream");
28 }
29 }
+0
-39
python/rebuild-defs.sh less more
0 #!/bin/sh
1
2 HEADERS=" \
3 fs-codec.h \
4 fs-candidate.h \
5 fs-conference.h \
6 fs-session.h \
7 fs-participant.h \
8 fs-stream.h \
9 fs-rtp.h \
10 fs-element-added-notifier.h \
11 fs-enumtypes.h"
12
13 srcdir=../farstream/
14
15 output=pyfarstream.defs
16 filter=pyfarstream-filter.defs
17
18 cat ${filter} > ${output}
19
20
21
22 H2DEF="$(pkg-config --variable=codegendir pygobject-2.0)/h2def.py"
23 [ -z "${H2DEF}" ] && H2DEF="$(pkg-config --variable=codegendir pygtk-2.0)/h2def.py"
24 [ -z "${H2DEF}" -a -f /usr/share/pygtk/2.0/codegen/h2def.py ] && H2DEF=/usr/share/pygtk/2.0/codegen/h2def.py
25
26 for h in $HEADERS; do
27 python ${H2DEF} --defsfilter=${filter} ${srcdir}/$h >> $output
28 done
29
30 sed -e "/of-object \"FsSession\"/ a \
31 \ (unblock-threads t)" \
32 -e "/of-object \"FsStream\"/ a \
33 \ (unblock-threads t)" \
34 -e "/of-object \"FsConference\"/ a \
35 \ (unblock-threads t)" \
36 -e "/define-method new_/ a \
37 \ (caller-owns-return t)" \
38 -i $output
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3232 POST_UNINSTALL = :
3333 build_triplet = @build@
3434 host_triplet = @host@
35 target_triplet = @target@
3536 @HAVE_GST_CHECK_TRUE@am__append_1 = check
3637 subdir = tests
3738 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
4041 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4142 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4243 $(top_srcdir)/common/m4/as-libtool.m4 \
44 $(top_srcdir)/common/m4/as-python.m4 \
4345 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4446 $(top_srcdir)/common/m4/as-version.m4 \
4547 $(top_srcdir)/common/m4/gst-arch.m4 \
5254 $(top_srcdir)/common/m4/gst.m4 \
5355 $(top_srcdir)/common/m4/gtk-doc.m4 \
5456 $(top_srcdir)/common/m4/pkg.m4 \
55 $(top_srcdir)/m4/as-check-python-headers.m4 \
5657 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
5758 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
5859 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
6364 CONFIG_HEADER = $(top_builddir)/config.h
6465 CONFIG_CLEAN_FILES =
6566 CONFIG_CLEAN_VPATH_FILES =
66 AM_V_GEN = $(am__v_GEN_$(V))
67 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
67 AM_V_GEN = $(am__v_GEN_@AM_V@)
68 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
6869 am__v_GEN_0 = @echo " GEN " $@;
69 AM_V_at = $(am__v_at_$(V))
70 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
70 AM_V_at = $(am__v_at_@AM_V@)
71 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
7172 am__v_at_0 = @
7273 SOURCES =
7374 DIST_SOURCES =
116117 AMTAR = @AMTAR@
117118 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
118119 AR = @AR@
120 AS = @AS@
119121 AUTOCONF = @AUTOCONF@
120122 AUTOHEADER = @AUTOHEADER@
121123 AUTOMAKE = @AUTOMAKE@
143145 FGREP = @FGREP@
144146 FS_AGE = @FS_AGE@
145147 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
148 FS_APIVERSION = @FS_APIVERSION@
149 FS_API_VERSION = @FS_API_VERSION@
146150 FS_CFLAGS = @FS_CFLAGS@
147151 FS_CURRENT = @FS_CURRENT@
148152 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
151155 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
152156 FS_LICENSE = @FS_LICENSE@
153157 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
154 FS_MAJORMINOR = @FS_MAJORMINOR@
155 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
156158 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
157159 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
158160 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
165167 GCOV = @GCOV@
166168 GCOV_CFLAGS = @GCOV_CFLAGS@
167169 GCOV_LIBS = @GCOV_LIBS@
170 GIO_CFLAGS = @GIO_CFLAGS@
171 GIO_LDFLAGS = @GIO_LDFLAGS@
172 GIO_LIBS = @GIO_LIBS@
168173 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
169174 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
170175 GLIB_CFLAGS = @GLIB_CFLAGS@
174179 GLIB_REQ = @GLIB_REQ@
175180 GREP = @GREP@
176181 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
182 GST_API_VERSION = @GST_API_VERSION@
177183 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
178184 GST_BASE_LIBS = @GST_BASE_LIBS@
179185 GST_CFLAGS = @GST_CFLAGS@
182188 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
183189 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
184190 GST_LIBS = @GST_LIBS@
185 GST_MAJORMINOR = @GST_MAJORMINOR@
186191 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
187192 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
188193 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
192197 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
193198 GST_TOOLS_DIR = @GST_TOOLS_DIR@
194199 GTKDOC_CHECK = @GTKDOC_CHECK@
200 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
201 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
202 GTKDOC_MKPDF = @GTKDOC_MKPDF@
203 GTKDOC_REBASE = @GTKDOC_REBASE@
195204 GUPNP_CFLAGS = @GUPNP_CFLAGS@
196205 GUPNP_LIBS = @GUPNP_LIBS@
197206 HTML_DIR = @HTML_DIR@
243252 PKG_CONFIG = @PKG_CONFIG@
244253 PLUGINDIR = @PLUGINDIR@
245254 PROFILE_CFLAGS = @PROFILE_CFLAGS@
246 PYCODEGEN = @PYCODEGEN@
247 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
248 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
249 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
250 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
251255 PYTHON = @PYTHON@
252256 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
253 PYTHON_INCLUDES = @PYTHON_INCLUDES@
254257 PYTHON_PLATFORM = @PYTHON_PLATFORM@
255258 PYTHON_PREFIX = @PYTHON_PREFIX@
256259 PYTHON_VERSION = @PYTHON_VERSION@
317320 sharedstatedir = @sharedstatedir@
318321 srcdir = @srcdir@
319322 sysconfdir = @sysconfdir@
323 target = @target@
320324 target_alias = @target_alias@
325 target_cpu = @target_cpu@
326 target_os = @target_os@
327 target_vendor = @target_vendor@
321328 top_build_prefix = @top_build_prefix@
322329 top_builddir = @top_builddir@
323330 top_srcdir = @top_srcdir@
572579
573580 installcheck: installcheck-recursive
574581 install-strip:
575 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
576 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
577 `test -z '$(STRIP)' || \
578 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
582 if test -z '$(STRIP)'; then \
583 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
584 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
585 install; \
586 else \
587 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
588 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
589 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
590 fi
579591 mostlyclean-generic:
580592
581593 clean-generic:
4747 transmitter/rawudp \
4848 transmitter/multicast \
4949 transmitter/nice \
50 transmitter/shm \
5150 raw/conference \
51 elements/rtcpfilter \
5252 rtp/codecs \
5353 rtp/sendcodecs \
5454 rtp/conference \
5555 rtp/recvcodecs \
5656 msn/conference \
57 utils/binadded \
58 elements/rtcpfilter \
59 elements/funnel
57 utils/binadded
58 noinst_PROGRAMS = transmitter/shm
59
6060
6161 AM_CFLAGS = \
6262 $(CFLAGS) \
6666 $(GST_CFLAGS)
6767
6868 LDADD = \
69 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
69 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
7070 $(GST_CHECK_LIBS) \
7171 $(GST_LIBS)
7272
103103 transmitter/fake-filter.c \
104104 transmitter/fake-filter.h \
105105 transmitter/multicast.c
106 transmitter_multicast_LDADD = $(LDADD) $(GST_BASE_LIBS)
106107
107108 transmitter_nice_CFLAGS = $(FS_INTERNAL_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
108109 transmitter_nice_SOURCES = \
112113 transmitter/fake-filter.c \
113114 transmitter/fake-filter.h \
114115 transmitter/nice.c
116 transmitter_nice_LDADD = $(LDADD) $(GST_BASE_LIBS)
115117
116118
117119 transmitter_shm_CFLAGS = $(AM_CFLAGS) $(GUPNP_CFLAGS) $(NICE_CFLAGS)
124126 transmitter/generic.h \
125127 transmitter/shm.c
126128
127 raw_conference_CFLAGS = $(AM_CFLAGS)
129 raw_conference_CFLAGS = $(CFLAGS) $(AM_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
128130 raw_conference_SOURCES = \
129131 check-threadsafe.h \
130132 testutils.c \
146148 rtp/generic.h \
147149 rtp/codecs.c
148150
149 rtp_sendcodecs_CFLAGS = $(AM_CFLAGS)
150 rtp_sendcodecs_LDADD = $(LDADD) -lgstrtp-@GST_MAJORMINOR@
151 rtp_sendcodecs_CFLAGS = $(AM_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
152 rtp_sendcodecs_LDADD = $(LDADD) -lgstrtp-@GST_API_VERSION@
151153 rtp_sendcodecs_SOURCES = \
152154 rtp/generic.c \
153155 rtp/generic.h \
154156 rtp/sendcodecs.c
155157
156 rtp_recvcodecs_CFLAGS = $(AM_CFLAGS)
157 rtp_recvcodecs_LDADD = $(LDADD) -lgstrtp-@GST_MAJORMINOR@
158 rtp_recvcodecs_CFLAGS = $(AM_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
159 rtp_recvcodecs_LDADD = $(LDADD) -lgstrtp-@GST_API_VERSION@
158160
159161 msn_conference_CFLAGS = $(AM_CFLAGS)
160162 msn_conference_SOURCES = \
166168 testutils.h \
167169 utils/binadded.c
168170
169 elements_rtcpfilter_CFLAGS = $(AM_CFLAGS)
171 elements_rtcpfilter_CFLAGS = $(AM_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
170172 elements_rtcpfilter_SOURCES = elements/rtcpfilter.c
171 elements_rtcpfilter_LDADD = $(LDADD) -lgstrtp-@GST_MAJORMINOR@
172
173 elements_funnel_CFLAGS = $(AM_CFLAGS)
174 elements_funnel_SOURCES = elements/funnel.c
173 elements_rtcpfilter_LDADD = $(LDADD) -lgstrtp-@GST_API_VERSION@
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
1313 # PARTICULAR PURPOSE.
1414
1515 @SET_MAKE@
16
1617 VPATH = @srcdir@
1718 pkgdatadir = $(datadir)/@PACKAGE@
1819 pkgincludedir = $(includedir)/@PACKAGE@
3233 POST_UNINSTALL = :
3334 build_triplet = @build@
3435 host_triplet = @host@
36 target_triplet = @target@
3537 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
3638 $(top_srcdir)/common/check.mak
3739 check_PROGRAMS = base/fscodec$(EXEEXT) base/fstransmitter$(EXEEXT) \
3840 transmitter/rawudp$(EXEEXT) transmitter/multicast$(EXEEXT) \
39 transmitter/nice$(EXEEXT) transmitter/shm$(EXEEXT) \
40 raw/conference$(EXEEXT) rtp/codecs$(EXEEXT) \
41 transmitter/nice$(EXEEXT) raw/conference$(EXEEXT) \
42 elements/rtcpfilter$(EXEEXT) rtp/codecs$(EXEEXT) \
4143 rtp/sendcodecs$(EXEEXT) rtp/conference$(EXEEXT) \
4244 rtp/recvcodecs$(EXEEXT) msn/conference$(EXEEXT) \
43 utils/binadded$(EXEEXT) elements/rtcpfilter$(EXEEXT) \
44 elements/funnel$(EXEEXT)
45 utils/binadded$(EXEEXT)
46 noinst_PROGRAMS = transmitter/shm$(EXEEXT)
4547 subdir = tests/check
4648 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
4749 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
4850 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4951 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
5052 $(top_srcdir)/common/m4/as-libtool.m4 \
53 $(top_srcdir)/common/m4/as-python.m4 \
5154 $(top_srcdir)/common/m4/as-scrub-include.m4 \
5255 $(top_srcdir)/common/m4/as-version.m4 \
5356 $(top_srcdir)/common/m4/gst-arch.m4 \
6063 $(top_srcdir)/common/m4/gst.m4 \
6164 $(top_srcdir)/common/m4/gtk-doc.m4 \
6265 $(top_srcdir)/common/m4/pkg.m4 \
63 $(top_srcdir)/m4/as-check-python-headers.m4 \
6466 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
6567 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
6668 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
7173 CONFIG_HEADER = $(top_builddir)/config.h
7274 CONFIG_CLEAN_FILES =
7375 CONFIG_CLEAN_VPATH_FILES =
76 PROGRAMS = $(noinst_PROGRAMS)
7477 am_base_fscodec_OBJECTS = testutils.$(OBJEXT) fscodec.$(OBJEXT)
7578 base_fscodec_OBJECTS = $(am_base_fscodec_OBJECTS)
7679 base_fscodec_LDADD = $(LDADD)
7780 am__DEPENDENCIES_1 =
7881 base_fscodec_DEPENDENCIES = \
79 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
82 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
8083 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
81 AM_V_lt = $(am__v_lt_$(V))
82 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
84 AM_V_lt = $(am__v_lt_@AM_V@)
85 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
8386 am__v_lt_0 = --silent
8487 am__dirstamp = $(am__leading_dot)dirstamp
8588 base_fstransmitter_SOURCES = base/fstransmitter.c
8689 base_fstransmitter_OBJECTS = fstransmitter.$(OBJEXT)
8790 base_fstransmitter_LDADD = $(LDADD)
8891 base_fstransmitter_DEPENDENCIES = \
89 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
92 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
9093 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
91 am_elements_funnel_OBJECTS = elements_funnel-funnel.$(OBJEXT)
92 elements_funnel_OBJECTS = $(am_elements_funnel_OBJECTS)
93 elements_funnel_LDADD = $(LDADD)
94 elements_funnel_DEPENDENCIES = \
95 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
96 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
97 elements_funnel_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
98 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
99 $(elements_funnel_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
100 -o $@
10194 am_elements_rtcpfilter_OBJECTS = \
10295 elements_rtcpfilter-rtcpfilter.$(OBJEXT)
10396 elements_rtcpfilter_OBJECTS = $(am_elements_rtcpfilter_OBJECTS)
10497 am__DEPENDENCIES_2 = \
105 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
98 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
10699 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
107100 elements_rtcpfilter_DEPENDENCIES = $(am__DEPENDENCIES_2)
108101 elements_rtcpfilter_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
113106 msn_conference_OBJECTS = $(am_msn_conference_OBJECTS)
114107 msn_conference_LDADD = $(LDADD)
115108 msn_conference_DEPENDENCIES = \
116 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
109 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
117110 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
118111 msn_conference_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
119112 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
124117 raw_conference_OBJECTS = $(am_raw_conference_OBJECTS)
125118 raw_conference_LDADD = $(LDADD)
126119 raw_conference_DEPENDENCIES = \
127 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
120 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
128121 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
129122 raw_conference_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
130123 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
135128 rtp_codecs_OBJECTS = $(am_rtp_codecs_OBJECTS)
136129 rtp_codecs_LDADD = $(LDADD)
137130 rtp_codecs_DEPENDENCIES = \
138 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
131 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
139132 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
140133 rtp_codecs_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
141134 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(rtp_codecs_CFLAGS) \
146139 rtp_conference_OBJECTS = $(am_rtp_conference_OBJECTS)
147140 rtp_conference_LDADD = $(LDADD)
148141 rtp_conference_DEPENDENCIES = \
149 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
142 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
150143 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
151144 rtp_conference_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
152145 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
173166 transmitter_multicast-fake-filter.$(OBJEXT) \
174167 transmitter_multicast-multicast.$(OBJEXT)
175168 transmitter_multicast_OBJECTS = $(am_transmitter_multicast_OBJECTS)
176 transmitter_multicast_LDADD = $(LDADD)
177 transmitter_multicast_DEPENDENCIES = \
178 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
179 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
169 transmitter_multicast_DEPENDENCIES = $(am__DEPENDENCIES_2) \
170 $(am__DEPENDENCIES_1)
180171 transmitter_multicast_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
181172 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
182173 $(transmitter_multicast_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
185176 transmitter_nice-fake-filter.$(OBJEXT) \
186177 transmitter_nice-nice.$(OBJEXT)
187178 transmitter_nice_OBJECTS = $(am_transmitter_nice_OBJECTS)
188 transmitter_nice_LDADD = $(LDADD)
189 transmitter_nice_DEPENDENCIES = \
190 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
191 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
179 transmitter_nice_DEPENDENCIES = $(am__DEPENDENCIES_2) \
180 $(am__DEPENDENCIES_1)
192181 transmitter_nice_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
193182 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
194183 $(transmitter_nice_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
220209 utils_binadded_OBJECTS = $(am_utils_binadded_OBJECTS)
221210 utils_binadded_LDADD = $(LDADD)
222211 utils_binadded_DEPENDENCIES = \
223 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
212 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
224213 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
225214 utils_binadded_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
226215 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
236225 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
237226 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
238227 $(AM_CFLAGS) $(CFLAGS)
239 AM_V_CC = $(am__v_CC_$(V))
240 am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
228 AM_V_CC = $(am__v_CC_@AM_V@)
229 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
241230 am__v_CC_0 = @echo " CC " $@;
242 AM_V_at = $(am__v_at_$(V))
243 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
231 AM_V_at = $(am__v_at_@AM_V@)
232 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
244233 am__v_at_0 = @
245234 CCLD = $(CC)
246235 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
247236 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
248237 $(AM_LDFLAGS) $(LDFLAGS) -o $@
249 AM_V_CCLD = $(am__v_CCLD_$(V))
250 am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
238 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
239 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
251240 am__v_CCLD_0 = @echo " CCLD " $@;
252 AM_V_GEN = $(am__v_GEN_$(V))
253 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
241 AM_V_GEN = $(am__v_GEN_@AM_V@)
242 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
254243 am__v_GEN_0 = @echo " GEN " $@;
255244 SOURCES = $(base_fscodec_SOURCES) base/fstransmitter.c \
256 $(elements_funnel_SOURCES) $(elements_rtcpfilter_SOURCES) \
257 $(msn_conference_SOURCES) $(raw_conference_SOURCES) \
258 $(rtp_codecs_SOURCES) $(rtp_conference_SOURCES) \
259 rtp/recvcodecs.c $(rtp_sendcodecs_SOURCES) \
260 $(transmitter_multicast_SOURCES) $(transmitter_nice_SOURCES) \
261 $(transmitter_rawudp_SOURCES) $(transmitter_shm_SOURCES) \
262 $(utils_binadded_SOURCES)
245 $(elements_rtcpfilter_SOURCES) $(msn_conference_SOURCES) \
246 $(raw_conference_SOURCES) $(rtp_codecs_SOURCES) \
247 $(rtp_conference_SOURCES) rtp/recvcodecs.c \
248 $(rtp_sendcodecs_SOURCES) $(transmitter_multicast_SOURCES) \
249 $(transmitter_nice_SOURCES) $(transmitter_rawudp_SOURCES) \
250 $(transmitter_shm_SOURCES) $(utils_binadded_SOURCES)
263251 DIST_SOURCES = $(base_fscodec_SOURCES) base/fstransmitter.c \
264 $(elements_funnel_SOURCES) $(elements_rtcpfilter_SOURCES) \
265 $(msn_conference_SOURCES) $(raw_conference_SOURCES) \
266 $(rtp_codecs_SOURCES) $(rtp_conference_SOURCES) \
267 rtp/recvcodecs.c $(rtp_sendcodecs_SOURCES) \
268 $(transmitter_multicast_SOURCES) $(transmitter_nice_SOURCES) \
269 $(transmitter_rawudp_SOURCES) $(transmitter_shm_SOURCES) \
270 $(utils_binadded_SOURCES)
252 $(elements_rtcpfilter_SOURCES) $(msn_conference_SOURCES) \
253 $(raw_conference_SOURCES) $(rtp_codecs_SOURCES) \
254 $(rtp_conference_SOURCES) rtp/recvcodecs.c \
255 $(rtp_sendcodecs_SOURCES) $(transmitter_multicast_SOURCES) \
256 $(transmitter_nice_SOURCES) $(transmitter_rawudp_SOURCES) \
257 $(transmitter_shm_SOURCES) $(utils_binadded_SOURCES)
271258 ETAGS = etags
272259 CTAGS = ctags
273260 am__tty_colors = \
278265 AMTAR = @AMTAR@
279266 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
280267 AR = @AR@
268 AS = @AS@
281269 AUTOCONF = @AUTOCONF@
282270 AUTOHEADER = @AUTOHEADER@
283271 AUTOMAKE = @AUTOMAKE@
305293 FGREP = @FGREP@
306294 FS_AGE = @FS_AGE@
307295 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
296 FS_APIVERSION = @FS_APIVERSION@
297 FS_API_VERSION = @FS_API_VERSION@
308298 FS_CFLAGS = @FS_CFLAGS@
309299 FS_CURRENT = @FS_CURRENT@
310300 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
313303 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
314304 FS_LICENSE = @FS_LICENSE@
315305 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
316 FS_MAJORMINOR = @FS_MAJORMINOR@
317 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
318306 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
319307 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
320308 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
327315 GCOV = @GCOV@
328316 GCOV_CFLAGS = @GCOV_CFLAGS@
329317 GCOV_LIBS = @GCOV_LIBS@
318 GIO_CFLAGS = @GIO_CFLAGS@
319 GIO_LDFLAGS = @GIO_LDFLAGS@
320 GIO_LIBS = @GIO_LIBS@
330321 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
331322 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
332323 GLIB_CFLAGS = @GLIB_CFLAGS@
336327 GLIB_REQ = @GLIB_REQ@
337328 GREP = @GREP@
338329 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
330 GST_API_VERSION = @GST_API_VERSION@
339331 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
340332 GST_BASE_LIBS = @GST_BASE_LIBS@
341333 GST_CFLAGS = @GST_CFLAGS@
344336 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
345337 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
346338 GST_LIBS = @GST_LIBS@
347 GST_MAJORMINOR = @GST_MAJORMINOR@
348339 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
349340 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
350341 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
354345 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
355346 GST_TOOLS_DIR = @GST_TOOLS_DIR@
356347 GTKDOC_CHECK = @GTKDOC_CHECK@
348 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
349 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
350 GTKDOC_MKPDF = @GTKDOC_MKPDF@
351 GTKDOC_REBASE = @GTKDOC_REBASE@
357352 GUPNP_CFLAGS = @GUPNP_CFLAGS@
358353 GUPNP_LIBS = @GUPNP_LIBS@
359354 HTML_DIR = @HTML_DIR@
405400 PKG_CONFIG = @PKG_CONFIG@
406401 PLUGINDIR = @PLUGINDIR@
407402 PROFILE_CFLAGS = @PROFILE_CFLAGS@
408 PYCODEGEN = @PYCODEGEN@
409 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
410 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
411 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
412 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
413403 PYTHON = @PYTHON@
414404 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
415 PYTHON_INCLUDES = @PYTHON_INCLUDES@
416405 PYTHON_PLATFORM = @PYTHON_PLATFORM@
417406 PYTHON_PREFIX = @PYTHON_PREFIX@
418407 PYTHON_VERSION = @PYTHON_VERSION@
479468 sharedstatedir = @sharedstatedir@
480469 srcdir = @srcdir@
481470 sysconfdir = @sysconfdir@
471 target = @target@
482472 target_alias = @target_alias@
473 target_cpu = @target_cpu@
474 target_os = @target_os@
475 target_vendor = @target_vendor@
483476 top_build_prefix = @top_build_prefix@
484477 top_builddir = @top_builddir@
485478 top_srcdir = @top_srcdir@
486479 LOOPS = 10
487480
488481 # inspect every plugin feature
489 GST_INSPECT = $(GST_TOOLS_DIR)/gst-inspect-$(GST_MAJORMINOR)
482 GST_INSPECT = $(GST_TOOLS_DIR)/gst-inspect-$(GST_API_VERSION)
490483 CHECK_REGISTRY = $(top_builddir)/tests/check/test-registry.xml
491484 REGISTRY_ENVIRONMENT = \
492485 GST_REGISTRY=$(CHECK_REGISTRY)
523516 $(GST_CFLAGS)
524517
525518 LDADD = \
526 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
519 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
527520 $(GST_CHECK_LIBS) \
528521 $(GST_LIBS)
529522
560553 transmitter/fake-filter.h \
561554 transmitter/multicast.c
562555
556 transmitter_multicast_LDADD = $(LDADD) $(GST_BASE_LIBS)
563557 transmitter_nice_CFLAGS = $(FS_INTERNAL_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
564558 transmitter_nice_SOURCES = \
565559 check-threadsafe.h \
569563 transmitter/fake-filter.h \
570564 transmitter/nice.c
571565
566 transmitter_nice_LDADD = $(LDADD) $(GST_BASE_LIBS)
572567 transmitter_shm_CFLAGS = $(AM_CFLAGS) $(GUPNP_CFLAGS) $(NICE_CFLAGS)
573568 transmitter_shm_LDADD = $(LDADD) \
574569 $(GUPNP_LIBS) \
580575 transmitter/generic.h \
581576 transmitter/shm.c
582577
583 raw_conference_CFLAGS = $(AM_CFLAGS)
578 raw_conference_CFLAGS = $(CFLAGS) $(AM_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
584579 raw_conference_SOURCES = \
585580 check-threadsafe.h \
586581 testutils.c \
602597 rtp/generic.h \
603598 rtp/codecs.c
604599
605 rtp_sendcodecs_CFLAGS = $(AM_CFLAGS)
606 rtp_sendcodecs_LDADD = $(LDADD) -lgstrtp-@GST_MAJORMINOR@
600 rtp_sendcodecs_CFLAGS = $(AM_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
601 rtp_sendcodecs_LDADD = $(LDADD) -lgstrtp-@GST_API_VERSION@
607602 rtp_sendcodecs_SOURCES = \
608603 rtp/generic.c \
609604 rtp/generic.h \
610605 rtp/sendcodecs.c
611606
612 rtp_recvcodecs_CFLAGS = $(AM_CFLAGS)
613 rtp_recvcodecs_LDADD = $(LDADD) -lgstrtp-@GST_MAJORMINOR@
607 rtp_recvcodecs_CFLAGS = $(AM_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
608 rtp_recvcodecs_LDADD = $(LDADD) -lgstrtp-@GST_API_VERSION@
614609 msn_conference_CFLAGS = $(AM_CFLAGS)
615610 msn_conference_SOURCES = \
616611 msn/conference.c
621616 testutils.h \
622617 utils/binadded.c
623618
624 elements_rtcpfilter_CFLAGS = $(AM_CFLAGS)
619 elements_rtcpfilter_CFLAGS = $(AM_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
625620 elements_rtcpfilter_SOURCES = elements/rtcpfilter.c
626 elements_rtcpfilter_LDADD = $(LDADD) -lgstrtp-@GST_MAJORMINOR@
627 elements_funnel_CFLAGS = $(AM_CFLAGS)
628 elements_funnel_SOURCES = elements/funnel.c
621 elements_rtcpfilter_LDADD = $(LDADD) -lgstrtp-@GST_API_VERSION@
629622 all: all-am
630623
631624 .SUFFIXES:
651644 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
652645 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
653646 esac;
647 $(top_srcdir)/common/check.mak:
654648
655649 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
656650 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
663657
664658 clean-checkPROGRAMS:
665659 @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
660 echo " rm -f" $$list; \
661 rm -f $$list || exit $$?; \
662 test -n "$(EXEEXT)" || exit 0; \
663 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
664 echo " rm -f" $$list; \
665 rm -f $$list
666
667 clean-noinstPROGRAMS:
668 @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
666669 echo " rm -f" $$list; \
667670 rm -f $$list || exit $$?; \
668671 test -n "$(EXEEXT)" || exit 0; \
672675 base/$(am__dirstamp):
673676 @$(MKDIR_P) base
674677 @: > base/$(am__dirstamp)
675 base/fscodec$(EXEEXT): $(base_fscodec_OBJECTS) $(base_fscodec_DEPENDENCIES) base/$(am__dirstamp)
678 base/fscodec$(EXEEXT): $(base_fscodec_OBJECTS) $(base_fscodec_DEPENDENCIES) $(EXTRA_base_fscodec_DEPENDENCIES) base/$(am__dirstamp)
676679 @rm -f base/fscodec$(EXEEXT)
677680 $(AM_V_CCLD)$(LINK) $(base_fscodec_OBJECTS) $(base_fscodec_LDADD) $(LIBS)
678 base/fstransmitter$(EXEEXT): $(base_fstransmitter_OBJECTS) $(base_fstransmitter_DEPENDENCIES) base/$(am__dirstamp)
681 base/fstransmitter$(EXEEXT): $(base_fstransmitter_OBJECTS) $(base_fstransmitter_DEPENDENCIES) $(EXTRA_base_fstransmitter_DEPENDENCIES) base/$(am__dirstamp)
679682 @rm -f base/fstransmitter$(EXEEXT)
680683 $(AM_V_CCLD)$(LINK) $(base_fstransmitter_OBJECTS) $(base_fstransmitter_LDADD) $(LIBS)
681684 elements/$(am__dirstamp):
682685 @$(MKDIR_P) elements
683686 @: > elements/$(am__dirstamp)
684 elements/funnel$(EXEEXT): $(elements_funnel_OBJECTS) $(elements_funnel_DEPENDENCIES) elements/$(am__dirstamp)
685 @rm -f elements/funnel$(EXEEXT)
686 $(AM_V_CCLD)$(elements_funnel_LINK) $(elements_funnel_OBJECTS) $(elements_funnel_LDADD) $(LIBS)
687 elements/rtcpfilter$(EXEEXT): $(elements_rtcpfilter_OBJECTS) $(elements_rtcpfilter_DEPENDENCIES) elements/$(am__dirstamp)
687 elements/rtcpfilter$(EXEEXT): $(elements_rtcpfilter_OBJECTS) $(elements_rtcpfilter_DEPENDENCIES) $(EXTRA_elements_rtcpfilter_DEPENDENCIES) elements/$(am__dirstamp)
688688 @rm -f elements/rtcpfilter$(EXEEXT)
689689 $(AM_V_CCLD)$(elements_rtcpfilter_LINK) $(elements_rtcpfilter_OBJECTS) $(elements_rtcpfilter_LDADD) $(LIBS)
690690 msn/$(am__dirstamp):
691691 @$(MKDIR_P) msn
692692 @: > msn/$(am__dirstamp)
693 msn/conference$(EXEEXT): $(msn_conference_OBJECTS) $(msn_conference_DEPENDENCIES) msn/$(am__dirstamp)
693 msn/conference$(EXEEXT): $(msn_conference_OBJECTS) $(msn_conference_DEPENDENCIES) $(EXTRA_msn_conference_DEPENDENCIES) msn/$(am__dirstamp)
694694 @rm -f msn/conference$(EXEEXT)
695695 $(AM_V_CCLD)$(msn_conference_LINK) $(msn_conference_OBJECTS) $(msn_conference_LDADD) $(LIBS)
696696 raw/$(am__dirstamp):
697697 @$(MKDIR_P) raw
698698 @: > raw/$(am__dirstamp)
699 raw/conference$(EXEEXT): $(raw_conference_OBJECTS) $(raw_conference_DEPENDENCIES) raw/$(am__dirstamp)
699 raw/conference$(EXEEXT): $(raw_conference_OBJECTS) $(raw_conference_DEPENDENCIES) $(EXTRA_raw_conference_DEPENDENCIES) raw/$(am__dirstamp)
700700 @rm -f raw/conference$(EXEEXT)
701701 $(AM_V_CCLD)$(raw_conference_LINK) $(raw_conference_OBJECTS) $(raw_conference_LDADD) $(LIBS)
702702 rtp/$(am__dirstamp):
703703 @$(MKDIR_P) rtp
704704 @: > rtp/$(am__dirstamp)
705 rtp/codecs$(EXEEXT): $(rtp_codecs_OBJECTS) $(rtp_codecs_DEPENDENCIES) rtp/$(am__dirstamp)
705 rtp/codecs$(EXEEXT): $(rtp_codecs_OBJECTS) $(rtp_codecs_DEPENDENCIES) $(EXTRA_rtp_codecs_DEPENDENCIES) rtp/$(am__dirstamp)
706706 @rm -f rtp/codecs$(EXEEXT)
707707 $(AM_V_CCLD)$(rtp_codecs_LINK) $(rtp_codecs_OBJECTS) $(rtp_codecs_LDADD) $(LIBS)
708 rtp/conference$(EXEEXT): $(rtp_conference_OBJECTS) $(rtp_conference_DEPENDENCIES) rtp/$(am__dirstamp)
708 rtp/conference$(EXEEXT): $(rtp_conference_OBJECTS) $(rtp_conference_DEPENDENCIES) $(EXTRA_rtp_conference_DEPENDENCIES) rtp/$(am__dirstamp)
709709 @rm -f rtp/conference$(EXEEXT)
710710 $(AM_V_CCLD)$(rtp_conference_LINK) $(rtp_conference_OBJECTS) $(rtp_conference_LDADD) $(LIBS)
711 rtp/recvcodecs$(EXEEXT): $(rtp_recvcodecs_OBJECTS) $(rtp_recvcodecs_DEPENDENCIES) rtp/$(am__dirstamp)
711 rtp/recvcodecs$(EXEEXT): $(rtp_recvcodecs_OBJECTS) $(rtp_recvcodecs_DEPENDENCIES) $(EXTRA_rtp_recvcodecs_DEPENDENCIES) rtp/$(am__dirstamp)
712712 @rm -f rtp/recvcodecs$(EXEEXT)
713713 $(AM_V_CCLD)$(rtp_recvcodecs_LINK) $(rtp_recvcodecs_OBJECTS) $(rtp_recvcodecs_LDADD) $(LIBS)
714 rtp/sendcodecs$(EXEEXT): $(rtp_sendcodecs_OBJECTS) $(rtp_sendcodecs_DEPENDENCIES) rtp/$(am__dirstamp)
714 rtp/sendcodecs$(EXEEXT): $(rtp_sendcodecs_OBJECTS) $(rtp_sendcodecs_DEPENDENCIES) $(EXTRA_rtp_sendcodecs_DEPENDENCIES) rtp/$(am__dirstamp)
715715 @rm -f rtp/sendcodecs$(EXEEXT)
716716 $(AM_V_CCLD)$(rtp_sendcodecs_LINK) $(rtp_sendcodecs_OBJECTS) $(rtp_sendcodecs_LDADD) $(LIBS)
717717 transmitter/$(am__dirstamp):
718718 @$(MKDIR_P) transmitter
719719 @: > transmitter/$(am__dirstamp)
720 transmitter/multicast$(EXEEXT): $(transmitter_multicast_OBJECTS) $(transmitter_multicast_DEPENDENCIES) transmitter/$(am__dirstamp)
720 transmitter/multicast$(EXEEXT): $(transmitter_multicast_OBJECTS) $(transmitter_multicast_DEPENDENCIES) $(EXTRA_transmitter_multicast_DEPENDENCIES) transmitter/$(am__dirstamp)
721721 @rm -f transmitter/multicast$(EXEEXT)
722722 $(AM_V_CCLD)$(transmitter_multicast_LINK) $(transmitter_multicast_OBJECTS) $(transmitter_multicast_LDADD) $(LIBS)
723 transmitter/nice$(EXEEXT): $(transmitter_nice_OBJECTS) $(transmitter_nice_DEPENDENCIES) transmitter/$(am__dirstamp)
723 transmitter/nice$(EXEEXT): $(transmitter_nice_OBJECTS) $(transmitter_nice_DEPENDENCIES) $(EXTRA_transmitter_nice_DEPENDENCIES) transmitter/$(am__dirstamp)
724724 @rm -f transmitter/nice$(EXEEXT)
725725 $(AM_V_CCLD)$(transmitter_nice_LINK) $(transmitter_nice_OBJECTS) $(transmitter_nice_LDADD) $(LIBS)
726 transmitter/rawudp$(EXEEXT): $(transmitter_rawudp_OBJECTS) $(transmitter_rawudp_DEPENDENCIES) transmitter/$(am__dirstamp)
726 transmitter/rawudp$(EXEEXT): $(transmitter_rawudp_OBJECTS) $(transmitter_rawudp_DEPENDENCIES) $(EXTRA_transmitter_rawudp_DEPENDENCIES) transmitter/$(am__dirstamp)
727727 @rm -f transmitter/rawudp$(EXEEXT)
728728 $(AM_V_CCLD)$(transmitter_rawudp_LINK) $(transmitter_rawudp_OBJECTS) $(transmitter_rawudp_LDADD) $(LIBS)
729 transmitter/shm$(EXEEXT): $(transmitter_shm_OBJECTS) $(transmitter_shm_DEPENDENCIES) transmitter/$(am__dirstamp)
729 transmitter/shm$(EXEEXT): $(transmitter_shm_OBJECTS) $(transmitter_shm_DEPENDENCIES) $(EXTRA_transmitter_shm_DEPENDENCIES) transmitter/$(am__dirstamp)
730730 @rm -f transmitter/shm$(EXEEXT)
731731 $(AM_V_CCLD)$(transmitter_shm_LINK) $(transmitter_shm_OBJECTS) $(transmitter_shm_LDADD) $(LIBS)
732732 utils/$(am__dirstamp):
733733 @$(MKDIR_P) utils
734734 @: > utils/$(am__dirstamp)
735 utils/binadded$(EXEEXT): $(utils_binadded_OBJECTS) $(utils_binadded_DEPENDENCIES) utils/$(am__dirstamp)
735 utils/binadded$(EXEEXT): $(utils_binadded_OBJECTS) $(utils_binadded_DEPENDENCIES) $(EXTRA_utils_binadded_DEPENDENCIES) utils/$(am__dirstamp)
736736 @rm -f utils/binadded$(EXEEXT)
737737 $(AM_V_CCLD)$(utils_binadded_LINK) $(utils_binadded_OBJECTS) $(utils_binadded_LDADD) $(LIBS)
738738
742742 distclean-compile:
743743 -rm -f *.tab.c
744744
745 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elements_funnel-funnel.Po@am__quote@
746745 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elements_rtcpfilter-rtcpfilter.Po@am__quote@
747746 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fscodec.Po@am__quote@
748747 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstransmitter.Po@am__quote@
778777 .c.o:
779778 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
780779 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
781 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
782 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
783 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
784 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
780 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
781 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
782 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
785783
786784 .c.obj:
787785 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
788786 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
789 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
790 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
791 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
792 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
787 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
788 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
789 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
793790
794791 .c.lo:
795792 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
796793 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
797 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
798 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
799 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
800 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
794 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
795 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
796 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
801797
802798 fscodec.o: base/fscodec.c
803799 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fscodec.o -MD -MP -MF $(DEPDIR)/fscodec.Tpo -c -o fscodec.o `test -f 'base/fscodec.c' || echo '$(srcdir)/'`base/fscodec.c
804800 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fscodec.Tpo $(DEPDIR)/fscodec.Po
805 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
806 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='base/fscodec.c' object='fscodec.o' libtool=no @AMDEPBACKSLASH@
807 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
808 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fscodec.o `test -f 'base/fscodec.c' || echo '$(srcdir)/'`base/fscodec.c
801 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='base/fscodec.c' object='fscodec.o' libtool=no @AMDEPBACKSLASH@
802 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
803 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fscodec.o `test -f 'base/fscodec.c' || echo '$(srcdir)/'`base/fscodec.c
809804
810805 fscodec.obj: base/fscodec.c
811806 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fscodec.obj -MD -MP -MF $(DEPDIR)/fscodec.Tpo -c -o fscodec.obj `if test -f 'base/fscodec.c'; then $(CYGPATH_W) 'base/fscodec.c'; else $(CYGPATH_W) '$(srcdir)/base/fscodec.c'; fi`
812807 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fscodec.Tpo $(DEPDIR)/fscodec.Po
813 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
814 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='base/fscodec.c' object='fscodec.obj' libtool=no @AMDEPBACKSLASH@
815 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
816 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fscodec.obj `if test -f 'base/fscodec.c'; then $(CYGPATH_W) 'base/fscodec.c'; else $(CYGPATH_W) '$(srcdir)/base/fscodec.c'; fi`
808 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='base/fscodec.c' object='fscodec.obj' libtool=no @AMDEPBACKSLASH@
809 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
810 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fscodec.obj `if test -f 'base/fscodec.c'; then $(CYGPATH_W) 'base/fscodec.c'; else $(CYGPATH_W) '$(srcdir)/base/fscodec.c'; fi`
817811
818812 fstransmitter.o: base/fstransmitter.c
819813 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstransmitter.o -MD -MP -MF $(DEPDIR)/fstransmitter.Tpo -c -o fstransmitter.o `test -f 'base/fstransmitter.c' || echo '$(srcdir)/'`base/fstransmitter.c
820814 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fstransmitter.Tpo $(DEPDIR)/fstransmitter.Po
821 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
822 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='base/fstransmitter.c' object='fstransmitter.o' libtool=no @AMDEPBACKSLASH@
823 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
824 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstransmitter.o `test -f 'base/fstransmitter.c' || echo '$(srcdir)/'`base/fstransmitter.c
815 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='base/fstransmitter.c' object='fstransmitter.o' libtool=no @AMDEPBACKSLASH@
816 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
817 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstransmitter.o `test -f 'base/fstransmitter.c' || echo '$(srcdir)/'`base/fstransmitter.c
825818
826819 fstransmitter.obj: base/fstransmitter.c
827820 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstransmitter.obj -MD -MP -MF $(DEPDIR)/fstransmitter.Tpo -c -o fstransmitter.obj `if test -f 'base/fstransmitter.c'; then $(CYGPATH_W) 'base/fstransmitter.c'; else $(CYGPATH_W) '$(srcdir)/base/fstransmitter.c'; fi`
828821 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fstransmitter.Tpo $(DEPDIR)/fstransmitter.Po
829 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
830 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='base/fstransmitter.c' object='fstransmitter.obj' libtool=no @AMDEPBACKSLASH@
831 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
832 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstransmitter.obj `if test -f 'base/fstransmitter.c'; then $(CYGPATH_W) 'base/fstransmitter.c'; else $(CYGPATH_W) '$(srcdir)/base/fstransmitter.c'; fi`
833
834 elements_funnel-funnel.o: elements/funnel.c
835 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_funnel_CFLAGS) $(CFLAGS) -MT elements_funnel-funnel.o -MD -MP -MF $(DEPDIR)/elements_funnel-funnel.Tpo -c -o elements_funnel-funnel.o `test -f 'elements/funnel.c' || echo '$(srcdir)/'`elements/funnel.c
836 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/elements_funnel-funnel.Tpo $(DEPDIR)/elements_funnel-funnel.Po
837 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
838 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='elements/funnel.c' object='elements_funnel-funnel.o' libtool=no @AMDEPBACKSLASH@
839 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
840 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_funnel_CFLAGS) $(CFLAGS) -c -o elements_funnel-funnel.o `test -f 'elements/funnel.c' || echo '$(srcdir)/'`elements/funnel.c
841
842 elements_funnel-funnel.obj: elements/funnel.c
843 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_funnel_CFLAGS) $(CFLAGS) -MT elements_funnel-funnel.obj -MD -MP -MF $(DEPDIR)/elements_funnel-funnel.Tpo -c -o elements_funnel-funnel.obj `if test -f 'elements/funnel.c'; then $(CYGPATH_W) 'elements/funnel.c'; else $(CYGPATH_W) '$(srcdir)/elements/funnel.c'; fi`
844 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/elements_funnel-funnel.Tpo $(DEPDIR)/elements_funnel-funnel.Po
845 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
846 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='elements/funnel.c' object='elements_funnel-funnel.obj' libtool=no @AMDEPBACKSLASH@
847 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
848 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_funnel_CFLAGS) $(CFLAGS) -c -o elements_funnel-funnel.obj `if test -f 'elements/funnel.c'; then $(CYGPATH_W) 'elements/funnel.c'; else $(CYGPATH_W) '$(srcdir)/elements/funnel.c'; fi`
822 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='base/fstransmitter.c' object='fstransmitter.obj' libtool=no @AMDEPBACKSLASH@
823 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
824 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fstransmitter.obj `if test -f 'base/fstransmitter.c'; then $(CYGPATH_W) 'base/fstransmitter.c'; else $(CYGPATH_W) '$(srcdir)/base/fstransmitter.c'; fi`
849825
850826 elements_rtcpfilter-rtcpfilter.o: elements/rtcpfilter.c
851827 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_rtcpfilter_CFLAGS) $(CFLAGS) -MT elements_rtcpfilter-rtcpfilter.o -MD -MP -MF $(DEPDIR)/elements_rtcpfilter-rtcpfilter.Tpo -c -o elements_rtcpfilter-rtcpfilter.o `test -f 'elements/rtcpfilter.c' || echo '$(srcdir)/'`elements/rtcpfilter.c
852828 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/elements_rtcpfilter-rtcpfilter.Tpo $(DEPDIR)/elements_rtcpfilter-rtcpfilter.Po
853 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
854 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='elements/rtcpfilter.c' object='elements_rtcpfilter-rtcpfilter.o' libtool=no @AMDEPBACKSLASH@
855 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
856 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_rtcpfilter_CFLAGS) $(CFLAGS) -c -o elements_rtcpfilter-rtcpfilter.o `test -f 'elements/rtcpfilter.c' || echo '$(srcdir)/'`elements/rtcpfilter.c
829 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/rtcpfilter.c' object='elements_rtcpfilter-rtcpfilter.o' libtool=no @AMDEPBACKSLASH@
830 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
831 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_rtcpfilter_CFLAGS) $(CFLAGS) -c -o elements_rtcpfilter-rtcpfilter.o `test -f 'elements/rtcpfilter.c' || echo '$(srcdir)/'`elements/rtcpfilter.c
857832
858833 elements_rtcpfilter-rtcpfilter.obj: elements/rtcpfilter.c
859834 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_rtcpfilter_CFLAGS) $(CFLAGS) -MT elements_rtcpfilter-rtcpfilter.obj -MD -MP -MF $(DEPDIR)/elements_rtcpfilter-rtcpfilter.Tpo -c -o elements_rtcpfilter-rtcpfilter.obj `if test -f 'elements/rtcpfilter.c'; then $(CYGPATH_W) 'elements/rtcpfilter.c'; else $(CYGPATH_W) '$(srcdir)/elements/rtcpfilter.c'; fi`
860835 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/elements_rtcpfilter-rtcpfilter.Tpo $(DEPDIR)/elements_rtcpfilter-rtcpfilter.Po
861 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
862 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='elements/rtcpfilter.c' object='elements_rtcpfilter-rtcpfilter.obj' libtool=no @AMDEPBACKSLASH@
863 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
864 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_rtcpfilter_CFLAGS) $(CFLAGS) -c -o elements_rtcpfilter-rtcpfilter.obj `if test -f 'elements/rtcpfilter.c'; then $(CYGPATH_W) 'elements/rtcpfilter.c'; else $(CYGPATH_W) '$(srcdir)/elements/rtcpfilter.c'; fi`
836 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/rtcpfilter.c' object='elements_rtcpfilter-rtcpfilter.obj' libtool=no @AMDEPBACKSLASH@
837 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
838 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_rtcpfilter_CFLAGS) $(CFLAGS) -c -o elements_rtcpfilter-rtcpfilter.obj `if test -f 'elements/rtcpfilter.c'; then $(CYGPATH_W) 'elements/rtcpfilter.c'; else $(CYGPATH_W) '$(srcdir)/elements/rtcpfilter.c'; fi`
865839
866840 msn_conference-conference.o: msn/conference.c
867841 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(msn_conference_CFLAGS) $(CFLAGS) -MT msn_conference-conference.o -MD -MP -MF $(DEPDIR)/msn_conference-conference.Tpo -c -o msn_conference-conference.o `test -f 'msn/conference.c' || echo '$(srcdir)/'`msn/conference.c
868842 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/msn_conference-conference.Tpo $(DEPDIR)/msn_conference-conference.Po
869 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
870 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='msn/conference.c' object='msn_conference-conference.o' libtool=no @AMDEPBACKSLASH@
871 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
872 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(msn_conference_CFLAGS) $(CFLAGS) -c -o msn_conference-conference.o `test -f 'msn/conference.c' || echo '$(srcdir)/'`msn/conference.c
843 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='msn/conference.c' object='msn_conference-conference.o' libtool=no @AMDEPBACKSLASH@
844 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
845 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(msn_conference_CFLAGS) $(CFLAGS) -c -o msn_conference-conference.o `test -f 'msn/conference.c' || echo '$(srcdir)/'`msn/conference.c
873846
874847 msn_conference-conference.obj: msn/conference.c
875848 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(msn_conference_CFLAGS) $(CFLAGS) -MT msn_conference-conference.obj -MD -MP -MF $(DEPDIR)/msn_conference-conference.Tpo -c -o msn_conference-conference.obj `if test -f 'msn/conference.c'; then $(CYGPATH_W) 'msn/conference.c'; else $(CYGPATH_W) '$(srcdir)/msn/conference.c'; fi`
876849 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/msn_conference-conference.Tpo $(DEPDIR)/msn_conference-conference.Po
877 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
878 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='msn/conference.c' object='msn_conference-conference.obj' libtool=no @AMDEPBACKSLASH@
879 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
880 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(msn_conference_CFLAGS) $(CFLAGS) -c -o msn_conference-conference.obj `if test -f 'msn/conference.c'; then $(CYGPATH_W) 'msn/conference.c'; else $(CYGPATH_W) '$(srcdir)/msn/conference.c'; fi`
850 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='msn/conference.c' object='msn_conference-conference.obj' libtool=no @AMDEPBACKSLASH@
851 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
852 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(msn_conference_CFLAGS) $(CFLAGS) -c -o msn_conference-conference.obj `if test -f 'msn/conference.c'; then $(CYGPATH_W) 'msn/conference.c'; else $(CYGPATH_W) '$(srcdir)/msn/conference.c'; fi`
881853
882854 raw_conference-testutils.o: testutils.c
883855 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(raw_conference_CFLAGS) $(CFLAGS) -MT raw_conference-testutils.o -MD -MP -MF $(DEPDIR)/raw_conference-testutils.Tpo -c -o raw_conference-testutils.o `test -f 'testutils.c' || echo '$(srcdir)/'`testutils.c
884856 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/raw_conference-testutils.Tpo $(DEPDIR)/raw_conference-testutils.Po
885 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
886 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutils.c' object='raw_conference-testutils.o' libtool=no @AMDEPBACKSLASH@
887 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
888 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(raw_conference_CFLAGS) $(CFLAGS) -c -o raw_conference-testutils.o `test -f 'testutils.c' || echo '$(srcdir)/'`testutils.c
857 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutils.c' object='raw_conference-testutils.o' libtool=no @AMDEPBACKSLASH@
858 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
859 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(raw_conference_CFLAGS) $(CFLAGS) -c -o raw_conference-testutils.o `test -f 'testutils.c' || echo '$(srcdir)/'`testutils.c
889860
890861 raw_conference-testutils.obj: testutils.c
891862 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(raw_conference_CFLAGS) $(CFLAGS) -MT raw_conference-testutils.obj -MD -MP -MF $(DEPDIR)/raw_conference-testutils.Tpo -c -o raw_conference-testutils.obj `if test -f 'testutils.c'; then $(CYGPATH_W) 'testutils.c'; else $(CYGPATH_W) '$(srcdir)/testutils.c'; fi`
892863 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/raw_conference-testutils.Tpo $(DEPDIR)/raw_conference-testutils.Po
893 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
894 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutils.c' object='raw_conference-testutils.obj' libtool=no @AMDEPBACKSLASH@
895 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
896 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(raw_conference_CFLAGS) $(CFLAGS) -c -o raw_conference-testutils.obj `if test -f 'testutils.c'; then $(CYGPATH_W) 'testutils.c'; else $(CYGPATH_W) '$(srcdir)/testutils.c'; fi`
864 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutils.c' object='raw_conference-testutils.obj' libtool=no @AMDEPBACKSLASH@
865 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
866 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(raw_conference_CFLAGS) $(CFLAGS) -c -o raw_conference-testutils.obj `if test -f 'testutils.c'; then $(CYGPATH_W) 'testutils.c'; else $(CYGPATH_W) '$(srcdir)/testutils.c'; fi`
897867
898868 raw_conference-conference.o: raw/conference.c
899869 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(raw_conference_CFLAGS) $(CFLAGS) -MT raw_conference-conference.o -MD -MP -MF $(DEPDIR)/raw_conference-conference.Tpo -c -o raw_conference-conference.o `test -f 'raw/conference.c' || echo '$(srcdir)/'`raw/conference.c
900870 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/raw_conference-conference.Tpo $(DEPDIR)/raw_conference-conference.Po
901 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
902 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='raw/conference.c' object='raw_conference-conference.o' libtool=no @AMDEPBACKSLASH@
903 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
904 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(raw_conference_CFLAGS) $(CFLAGS) -c -o raw_conference-conference.o `test -f 'raw/conference.c' || echo '$(srcdir)/'`raw/conference.c
871 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='raw/conference.c' object='raw_conference-conference.o' libtool=no @AMDEPBACKSLASH@
872 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
873 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(raw_conference_CFLAGS) $(CFLAGS) -c -o raw_conference-conference.o `test -f 'raw/conference.c' || echo '$(srcdir)/'`raw/conference.c
905874
906875 raw_conference-conference.obj: raw/conference.c
907876 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(raw_conference_CFLAGS) $(CFLAGS) -MT raw_conference-conference.obj -MD -MP -MF $(DEPDIR)/raw_conference-conference.Tpo -c -o raw_conference-conference.obj `if test -f 'raw/conference.c'; then $(CYGPATH_W) 'raw/conference.c'; else $(CYGPATH_W) '$(srcdir)/raw/conference.c'; fi`
908877 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/raw_conference-conference.Tpo $(DEPDIR)/raw_conference-conference.Po
909 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
910 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='raw/conference.c' object='raw_conference-conference.obj' libtool=no @AMDEPBACKSLASH@
911 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
912 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(raw_conference_CFLAGS) $(CFLAGS) -c -o raw_conference-conference.obj `if test -f 'raw/conference.c'; then $(CYGPATH_W) 'raw/conference.c'; else $(CYGPATH_W) '$(srcdir)/raw/conference.c'; fi`
878 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='raw/conference.c' object='raw_conference-conference.obj' libtool=no @AMDEPBACKSLASH@
879 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
880 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(raw_conference_CFLAGS) $(CFLAGS) -c -o raw_conference-conference.obj `if test -f 'raw/conference.c'; then $(CYGPATH_W) 'raw/conference.c'; else $(CYGPATH_W) '$(srcdir)/raw/conference.c'; fi`
913881
914882 rtp_codecs-generic.o: rtp/generic.c
915883 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_codecs_CFLAGS) $(CFLAGS) -MT rtp_codecs-generic.o -MD -MP -MF $(DEPDIR)/rtp_codecs-generic.Tpo -c -o rtp_codecs-generic.o `test -f 'rtp/generic.c' || echo '$(srcdir)/'`rtp/generic.c
916884 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rtp_codecs-generic.Tpo $(DEPDIR)/rtp_codecs-generic.Po
917 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
918 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtp/generic.c' object='rtp_codecs-generic.o' libtool=no @AMDEPBACKSLASH@
919 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
920 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_codecs_CFLAGS) $(CFLAGS) -c -o rtp_codecs-generic.o `test -f 'rtp/generic.c' || echo '$(srcdir)/'`rtp/generic.c
885 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rtp/generic.c' object='rtp_codecs-generic.o' libtool=no @AMDEPBACKSLASH@
886 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
887 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_codecs_CFLAGS) $(CFLAGS) -c -o rtp_codecs-generic.o `test -f 'rtp/generic.c' || echo '$(srcdir)/'`rtp/generic.c
921888
922889 rtp_codecs-generic.obj: rtp/generic.c
923890 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_codecs_CFLAGS) $(CFLAGS) -MT rtp_codecs-generic.obj -MD -MP -MF $(DEPDIR)/rtp_codecs-generic.Tpo -c -o rtp_codecs-generic.obj `if test -f 'rtp/generic.c'; then $(CYGPATH_W) 'rtp/generic.c'; else $(CYGPATH_W) '$(srcdir)/rtp/generic.c'; fi`
924891 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rtp_codecs-generic.Tpo $(DEPDIR)/rtp_codecs-generic.Po
925 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
926 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtp/generic.c' object='rtp_codecs-generic.obj' libtool=no @AMDEPBACKSLASH@
927 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
928 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_codecs_CFLAGS) $(CFLAGS) -c -o rtp_codecs-generic.obj `if test -f 'rtp/generic.c'; then $(CYGPATH_W) 'rtp/generic.c'; else $(CYGPATH_W) '$(srcdir)/rtp/generic.c'; fi`
892 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rtp/generic.c' object='rtp_codecs-generic.obj' libtool=no @AMDEPBACKSLASH@
893 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
894 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_codecs_CFLAGS) $(CFLAGS) -c -o rtp_codecs-generic.obj `if test -f 'rtp/generic.c'; then $(CYGPATH_W) 'rtp/generic.c'; else $(CYGPATH_W) '$(srcdir)/rtp/generic.c'; fi`
929895
930896 rtp_codecs-codecs.o: rtp/codecs.c
931897 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_codecs_CFLAGS) $(CFLAGS) -MT rtp_codecs-codecs.o -MD -MP -MF $(DEPDIR)/rtp_codecs-codecs.Tpo -c -o rtp_codecs-codecs.o `test -f 'rtp/codecs.c' || echo '$(srcdir)/'`rtp/codecs.c
932898 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rtp_codecs-codecs.Tpo $(DEPDIR)/rtp_codecs-codecs.Po
933 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
934 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtp/codecs.c' object='rtp_codecs-codecs.o' libtool=no @AMDEPBACKSLASH@
935 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
936 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_codecs_CFLAGS) $(CFLAGS) -c -o rtp_codecs-codecs.o `test -f 'rtp/codecs.c' || echo '$(srcdir)/'`rtp/codecs.c
899 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rtp/codecs.c' object='rtp_codecs-codecs.o' libtool=no @AMDEPBACKSLASH@
900 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
901 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_codecs_CFLAGS) $(CFLAGS) -c -o rtp_codecs-codecs.o `test -f 'rtp/codecs.c' || echo '$(srcdir)/'`rtp/codecs.c
937902
938903 rtp_codecs-codecs.obj: rtp/codecs.c
939904 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_codecs_CFLAGS) $(CFLAGS) -MT rtp_codecs-codecs.obj -MD -MP -MF $(DEPDIR)/rtp_codecs-codecs.Tpo -c -o rtp_codecs-codecs.obj `if test -f 'rtp/codecs.c'; then $(CYGPATH_W) 'rtp/codecs.c'; else $(CYGPATH_W) '$(srcdir)/rtp/codecs.c'; fi`
940905 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rtp_codecs-codecs.Tpo $(DEPDIR)/rtp_codecs-codecs.Po
941 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
942 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtp/codecs.c' object='rtp_codecs-codecs.obj' libtool=no @AMDEPBACKSLASH@
943 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
944 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_codecs_CFLAGS) $(CFLAGS) -c -o rtp_codecs-codecs.obj `if test -f 'rtp/codecs.c'; then $(CYGPATH_W) 'rtp/codecs.c'; else $(CYGPATH_W) '$(srcdir)/rtp/codecs.c'; fi`
906 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rtp/codecs.c' object='rtp_codecs-codecs.obj' libtool=no @AMDEPBACKSLASH@
907 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
908 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_codecs_CFLAGS) $(CFLAGS) -c -o rtp_codecs-codecs.obj `if test -f 'rtp/codecs.c'; then $(CYGPATH_W) 'rtp/codecs.c'; else $(CYGPATH_W) '$(srcdir)/rtp/codecs.c'; fi`
945909
946910 rtp_conference-testutils.o: testutils.c
947911 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -MT rtp_conference-testutils.o -MD -MP -MF $(DEPDIR)/rtp_conference-testutils.Tpo -c -o rtp_conference-testutils.o `test -f 'testutils.c' || echo '$(srcdir)/'`testutils.c
948912 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rtp_conference-testutils.Tpo $(DEPDIR)/rtp_conference-testutils.Po
949 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
950 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutils.c' object='rtp_conference-testutils.o' libtool=no @AMDEPBACKSLASH@
951 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
952 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -c -o rtp_conference-testutils.o `test -f 'testutils.c' || echo '$(srcdir)/'`testutils.c
913 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutils.c' object='rtp_conference-testutils.o' libtool=no @AMDEPBACKSLASH@
914 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
915 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -c -o rtp_conference-testutils.o `test -f 'testutils.c' || echo '$(srcdir)/'`testutils.c
953916
954917 rtp_conference-testutils.obj: testutils.c
955918 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -MT rtp_conference-testutils.obj -MD -MP -MF $(DEPDIR)/rtp_conference-testutils.Tpo -c -o rtp_conference-testutils.obj `if test -f 'testutils.c'; then $(CYGPATH_W) 'testutils.c'; else $(CYGPATH_W) '$(srcdir)/testutils.c'; fi`
956919 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rtp_conference-testutils.Tpo $(DEPDIR)/rtp_conference-testutils.Po
957 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
958 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutils.c' object='rtp_conference-testutils.obj' libtool=no @AMDEPBACKSLASH@
959 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
960 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -c -o rtp_conference-testutils.obj `if test -f 'testutils.c'; then $(CYGPATH_W) 'testutils.c'; else $(CYGPATH_W) '$(srcdir)/testutils.c'; fi`
920 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutils.c' object='rtp_conference-testutils.obj' libtool=no @AMDEPBACKSLASH@
921 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
922 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -c -o rtp_conference-testutils.obj `if test -f 'testutils.c'; then $(CYGPATH_W) 'testutils.c'; else $(CYGPATH_W) '$(srcdir)/testutils.c'; fi`
961923
962924 rtp_conference-generic.o: rtp/generic.c
963925 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -MT rtp_conference-generic.o -MD -MP -MF $(DEPDIR)/rtp_conference-generic.Tpo -c -o rtp_conference-generic.o `test -f 'rtp/generic.c' || echo '$(srcdir)/'`rtp/generic.c
964926 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rtp_conference-generic.Tpo $(DEPDIR)/rtp_conference-generic.Po
965 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
966 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtp/generic.c' object='rtp_conference-generic.o' libtool=no @AMDEPBACKSLASH@
967 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
968 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -c -o rtp_conference-generic.o `test -f 'rtp/generic.c' || echo '$(srcdir)/'`rtp/generic.c
927 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rtp/generic.c' object='rtp_conference-generic.o' libtool=no @AMDEPBACKSLASH@
928 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
929 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -c -o rtp_conference-generic.o `test -f 'rtp/generic.c' || echo '$(srcdir)/'`rtp/generic.c
969930
970931 rtp_conference-generic.obj: rtp/generic.c
971932 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -MT rtp_conference-generic.obj -MD -MP -MF $(DEPDIR)/rtp_conference-generic.Tpo -c -o rtp_conference-generic.obj `if test -f 'rtp/generic.c'; then $(CYGPATH_W) 'rtp/generic.c'; else $(CYGPATH_W) '$(srcdir)/rtp/generic.c'; fi`
972933 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rtp_conference-generic.Tpo $(DEPDIR)/rtp_conference-generic.Po
973 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
974 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtp/generic.c' object='rtp_conference-generic.obj' libtool=no @AMDEPBACKSLASH@
975 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
976 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -c -o rtp_conference-generic.obj `if test -f 'rtp/generic.c'; then $(CYGPATH_W) 'rtp/generic.c'; else $(CYGPATH_W) '$(srcdir)/rtp/generic.c'; fi`
934 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rtp/generic.c' object='rtp_conference-generic.obj' libtool=no @AMDEPBACKSLASH@
935 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
936 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -c -o rtp_conference-generic.obj `if test -f 'rtp/generic.c'; then $(CYGPATH_W) 'rtp/generic.c'; else $(CYGPATH_W) '$(srcdir)/rtp/generic.c'; fi`
977937
978938 rtp_conference-conference.o: rtp/conference.c
979939 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -MT rtp_conference-conference.o -MD -MP -MF $(DEPDIR)/rtp_conference-conference.Tpo -c -o rtp_conference-conference.o `test -f 'rtp/conference.c' || echo '$(srcdir)/'`rtp/conference.c
980940 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rtp_conference-conference.Tpo $(DEPDIR)/rtp_conference-conference.Po
981 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
982 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtp/conference.c' object='rtp_conference-conference.o' libtool=no @AMDEPBACKSLASH@
983 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
984 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -c -o rtp_conference-conference.o `test -f 'rtp/conference.c' || echo '$(srcdir)/'`rtp/conference.c
941 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rtp/conference.c' object='rtp_conference-conference.o' libtool=no @AMDEPBACKSLASH@
942 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
943 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -c -o rtp_conference-conference.o `test -f 'rtp/conference.c' || echo '$(srcdir)/'`rtp/conference.c
985944
986945 rtp_conference-conference.obj: rtp/conference.c
987946 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -MT rtp_conference-conference.obj -MD -MP -MF $(DEPDIR)/rtp_conference-conference.Tpo -c -o rtp_conference-conference.obj `if test -f 'rtp/conference.c'; then $(CYGPATH_W) 'rtp/conference.c'; else $(CYGPATH_W) '$(srcdir)/rtp/conference.c'; fi`
988947 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rtp_conference-conference.Tpo $(DEPDIR)/rtp_conference-conference.Po
989 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
990 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtp/conference.c' object='rtp_conference-conference.obj' libtool=no @AMDEPBACKSLASH@
991 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
992 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -c -o rtp_conference-conference.obj `if test -f 'rtp/conference.c'; then $(CYGPATH_W) 'rtp/conference.c'; else $(CYGPATH_W) '$(srcdir)/rtp/conference.c'; fi`
948 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rtp/conference.c' object='rtp_conference-conference.obj' libtool=no @AMDEPBACKSLASH@
949 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
950 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_conference_CFLAGS) $(CFLAGS) -c -o rtp_conference-conference.obj `if test -f 'rtp/conference.c'; then $(CYGPATH_W) 'rtp/conference.c'; else $(CYGPATH_W) '$(srcdir)/rtp/conference.c'; fi`
993951
994952 rtp_recvcodecs-recvcodecs.o: rtp/recvcodecs.c
995953 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_recvcodecs_CFLAGS) $(CFLAGS) -MT rtp_recvcodecs-recvcodecs.o -MD -MP -MF $(DEPDIR)/rtp_recvcodecs-recvcodecs.Tpo -c -o rtp_recvcodecs-recvcodecs.o `test -f 'rtp/recvcodecs.c' || echo '$(srcdir)/'`rtp/recvcodecs.c
996954 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rtp_recvcodecs-recvcodecs.Tpo $(DEPDIR)/rtp_recvcodecs-recvcodecs.Po
997 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
998 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtp/recvcodecs.c' object='rtp_recvcodecs-recvcodecs.o' libtool=no @AMDEPBACKSLASH@
999 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1000 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_recvcodecs_CFLAGS) $(CFLAGS) -c -o rtp_recvcodecs-recvcodecs.o `test -f 'rtp/recvcodecs.c' || echo '$(srcdir)/'`rtp/recvcodecs.c
955 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rtp/recvcodecs.c' object='rtp_recvcodecs-recvcodecs.o' libtool=no @AMDEPBACKSLASH@
956 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
957 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_recvcodecs_CFLAGS) $(CFLAGS) -c -o rtp_recvcodecs-recvcodecs.o `test -f 'rtp/recvcodecs.c' || echo '$(srcdir)/'`rtp/recvcodecs.c
1001958
1002959 rtp_recvcodecs-recvcodecs.obj: rtp/recvcodecs.c
1003960 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_recvcodecs_CFLAGS) $(CFLAGS) -MT rtp_recvcodecs-recvcodecs.obj -MD -MP -MF $(DEPDIR)/rtp_recvcodecs-recvcodecs.Tpo -c -o rtp_recvcodecs-recvcodecs.obj `if test -f 'rtp/recvcodecs.c'; then $(CYGPATH_W) 'rtp/recvcodecs.c'; else $(CYGPATH_W) '$(srcdir)/rtp/recvcodecs.c'; fi`
1004961 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rtp_recvcodecs-recvcodecs.Tpo $(DEPDIR)/rtp_recvcodecs-recvcodecs.Po
1005 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1006 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtp/recvcodecs.c' object='rtp_recvcodecs-recvcodecs.obj' libtool=no @AMDEPBACKSLASH@
1007 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1008 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_recvcodecs_CFLAGS) $(CFLAGS) -c -o rtp_recvcodecs-recvcodecs.obj `if test -f 'rtp/recvcodecs.c'; then $(CYGPATH_W) 'rtp/recvcodecs.c'; else $(CYGPATH_W) '$(srcdir)/rtp/recvcodecs.c'; fi`
962 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rtp/recvcodecs.c' object='rtp_recvcodecs-recvcodecs.obj' libtool=no @AMDEPBACKSLASH@
963 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
964 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_recvcodecs_CFLAGS) $(CFLAGS) -c -o rtp_recvcodecs-recvcodecs.obj `if test -f 'rtp/recvcodecs.c'; then $(CYGPATH_W) 'rtp/recvcodecs.c'; else $(CYGPATH_W) '$(srcdir)/rtp/recvcodecs.c'; fi`
1009965
1010966 rtp_sendcodecs-generic.o: rtp/generic.c
1011967 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_sendcodecs_CFLAGS) $(CFLAGS) -MT rtp_sendcodecs-generic.o -MD -MP -MF $(DEPDIR)/rtp_sendcodecs-generic.Tpo -c -o rtp_sendcodecs-generic.o `test -f 'rtp/generic.c' || echo '$(srcdir)/'`rtp/generic.c
1012968 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rtp_sendcodecs-generic.Tpo $(DEPDIR)/rtp_sendcodecs-generic.Po
1013 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1014 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtp/generic.c' object='rtp_sendcodecs-generic.o' libtool=no @AMDEPBACKSLASH@
1015 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1016 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_sendcodecs_CFLAGS) $(CFLAGS) -c -o rtp_sendcodecs-generic.o `test -f 'rtp/generic.c' || echo '$(srcdir)/'`rtp/generic.c
969 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rtp/generic.c' object='rtp_sendcodecs-generic.o' libtool=no @AMDEPBACKSLASH@
970 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
971 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_sendcodecs_CFLAGS) $(CFLAGS) -c -o rtp_sendcodecs-generic.o `test -f 'rtp/generic.c' || echo '$(srcdir)/'`rtp/generic.c
1017972
1018973 rtp_sendcodecs-generic.obj: rtp/generic.c
1019974 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_sendcodecs_CFLAGS) $(CFLAGS) -MT rtp_sendcodecs-generic.obj -MD -MP -MF $(DEPDIR)/rtp_sendcodecs-generic.Tpo -c -o rtp_sendcodecs-generic.obj `if test -f 'rtp/generic.c'; then $(CYGPATH_W) 'rtp/generic.c'; else $(CYGPATH_W) '$(srcdir)/rtp/generic.c'; fi`
1020975 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rtp_sendcodecs-generic.Tpo $(DEPDIR)/rtp_sendcodecs-generic.Po
1021 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1022 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtp/generic.c' object='rtp_sendcodecs-generic.obj' libtool=no @AMDEPBACKSLASH@
1023 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1024 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_sendcodecs_CFLAGS) $(CFLAGS) -c -o rtp_sendcodecs-generic.obj `if test -f 'rtp/generic.c'; then $(CYGPATH_W) 'rtp/generic.c'; else $(CYGPATH_W) '$(srcdir)/rtp/generic.c'; fi`
976 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rtp/generic.c' object='rtp_sendcodecs-generic.obj' libtool=no @AMDEPBACKSLASH@
977 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
978 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_sendcodecs_CFLAGS) $(CFLAGS) -c -o rtp_sendcodecs-generic.obj `if test -f 'rtp/generic.c'; then $(CYGPATH_W) 'rtp/generic.c'; else $(CYGPATH_W) '$(srcdir)/rtp/generic.c'; fi`
1025979
1026980 rtp_sendcodecs-sendcodecs.o: rtp/sendcodecs.c
1027981 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_sendcodecs_CFLAGS) $(CFLAGS) -MT rtp_sendcodecs-sendcodecs.o -MD -MP -MF $(DEPDIR)/rtp_sendcodecs-sendcodecs.Tpo -c -o rtp_sendcodecs-sendcodecs.o `test -f 'rtp/sendcodecs.c' || echo '$(srcdir)/'`rtp/sendcodecs.c
1028982 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rtp_sendcodecs-sendcodecs.Tpo $(DEPDIR)/rtp_sendcodecs-sendcodecs.Po
1029 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1030 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtp/sendcodecs.c' object='rtp_sendcodecs-sendcodecs.o' libtool=no @AMDEPBACKSLASH@
1031 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1032 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_sendcodecs_CFLAGS) $(CFLAGS) -c -o rtp_sendcodecs-sendcodecs.o `test -f 'rtp/sendcodecs.c' || echo '$(srcdir)/'`rtp/sendcodecs.c
983 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rtp/sendcodecs.c' object='rtp_sendcodecs-sendcodecs.o' libtool=no @AMDEPBACKSLASH@
984 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
985 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_sendcodecs_CFLAGS) $(CFLAGS) -c -o rtp_sendcodecs-sendcodecs.o `test -f 'rtp/sendcodecs.c' || echo '$(srcdir)/'`rtp/sendcodecs.c
1033986
1034987 rtp_sendcodecs-sendcodecs.obj: rtp/sendcodecs.c
1035988 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_sendcodecs_CFLAGS) $(CFLAGS) -MT rtp_sendcodecs-sendcodecs.obj -MD -MP -MF $(DEPDIR)/rtp_sendcodecs-sendcodecs.Tpo -c -o rtp_sendcodecs-sendcodecs.obj `if test -f 'rtp/sendcodecs.c'; then $(CYGPATH_W) 'rtp/sendcodecs.c'; else $(CYGPATH_W) '$(srcdir)/rtp/sendcodecs.c'; fi`
1036989 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/rtp_sendcodecs-sendcodecs.Tpo $(DEPDIR)/rtp_sendcodecs-sendcodecs.Po
1037 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1038 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rtp/sendcodecs.c' object='rtp_sendcodecs-sendcodecs.obj' libtool=no @AMDEPBACKSLASH@
1039 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1040 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_sendcodecs_CFLAGS) $(CFLAGS) -c -o rtp_sendcodecs-sendcodecs.obj `if test -f 'rtp/sendcodecs.c'; then $(CYGPATH_W) 'rtp/sendcodecs.c'; else $(CYGPATH_W) '$(srcdir)/rtp/sendcodecs.c'; fi`
990 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rtp/sendcodecs.c' object='rtp_sendcodecs-sendcodecs.obj' libtool=no @AMDEPBACKSLASH@
991 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
992 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rtp_sendcodecs_CFLAGS) $(CFLAGS) -c -o rtp_sendcodecs-sendcodecs.obj `if test -f 'rtp/sendcodecs.c'; then $(CYGPATH_W) 'rtp/sendcodecs.c'; else $(CYGPATH_W) '$(srcdir)/rtp/sendcodecs.c'; fi`
1041993
1042994 transmitter_multicast-testutils.o: testutils.c
1043995 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -MT transmitter_multicast-testutils.o -MD -MP -MF $(DEPDIR)/transmitter_multicast-testutils.Tpo -c -o transmitter_multicast-testutils.o `test -f 'testutils.c' || echo '$(srcdir)/'`testutils.c
1044996 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_multicast-testutils.Tpo $(DEPDIR)/transmitter_multicast-testutils.Po
1045 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1046 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutils.c' object='transmitter_multicast-testutils.o' libtool=no @AMDEPBACKSLASH@
1047 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1048 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -c -o transmitter_multicast-testutils.o `test -f 'testutils.c' || echo '$(srcdir)/'`testutils.c
997 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutils.c' object='transmitter_multicast-testutils.o' libtool=no @AMDEPBACKSLASH@
998 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
999 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -c -o transmitter_multicast-testutils.o `test -f 'testutils.c' || echo '$(srcdir)/'`testutils.c
10491000
10501001 transmitter_multicast-testutils.obj: testutils.c
10511002 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -MT transmitter_multicast-testutils.obj -MD -MP -MF $(DEPDIR)/transmitter_multicast-testutils.Tpo -c -o transmitter_multicast-testutils.obj `if test -f 'testutils.c'; then $(CYGPATH_W) 'testutils.c'; else $(CYGPATH_W) '$(srcdir)/testutils.c'; fi`
10521003 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_multicast-testutils.Tpo $(DEPDIR)/transmitter_multicast-testutils.Po
1053 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1054 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutils.c' object='transmitter_multicast-testutils.obj' libtool=no @AMDEPBACKSLASH@
1055 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1056 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -c -o transmitter_multicast-testutils.obj `if test -f 'testutils.c'; then $(CYGPATH_W) 'testutils.c'; else $(CYGPATH_W) '$(srcdir)/testutils.c'; fi`
1004 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutils.c' object='transmitter_multicast-testutils.obj' libtool=no @AMDEPBACKSLASH@
1005 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1006 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -c -o transmitter_multicast-testutils.obj `if test -f 'testutils.c'; then $(CYGPATH_W) 'testutils.c'; else $(CYGPATH_W) '$(srcdir)/testutils.c'; fi`
10571007
10581008 transmitter_multicast-generic.o: transmitter/generic.c
10591009 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -MT transmitter_multicast-generic.o -MD -MP -MF $(DEPDIR)/transmitter_multicast-generic.Tpo -c -o transmitter_multicast-generic.o `test -f 'transmitter/generic.c' || echo '$(srcdir)/'`transmitter/generic.c
10601010 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_multicast-generic.Tpo $(DEPDIR)/transmitter_multicast-generic.Po
1061 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1062 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/generic.c' object='transmitter_multicast-generic.o' libtool=no @AMDEPBACKSLASH@
1063 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1064 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -c -o transmitter_multicast-generic.o `test -f 'transmitter/generic.c' || echo '$(srcdir)/'`transmitter/generic.c
1011 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/generic.c' object='transmitter_multicast-generic.o' libtool=no @AMDEPBACKSLASH@
1012 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1013 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -c -o transmitter_multicast-generic.o `test -f 'transmitter/generic.c' || echo '$(srcdir)/'`transmitter/generic.c
10651014
10661015 transmitter_multicast-generic.obj: transmitter/generic.c
10671016 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -MT transmitter_multicast-generic.obj -MD -MP -MF $(DEPDIR)/transmitter_multicast-generic.Tpo -c -o transmitter_multicast-generic.obj `if test -f 'transmitter/generic.c'; then $(CYGPATH_W) 'transmitter/generic.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/generic.c'; fi`
10681017 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_multicast-generic.Tpo $(DEPDIR)/transmitter_multicast-generic.Po
1069 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1070 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/generic.c' object='transmitter_multicast-generic.obj' libtool=no @AMDEPBACKSLASH@
1071 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1072 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -c -o transmitter_multicast-generic.obj `if test -f 'transmitter/generic.c'; then $(CYGPATH_W) 'transmitter/generic.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/generic.c'; fi`
1018 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/generic.c' object='transmitter_multicast-generic.obj' libtool=no @AMDEPBACKSLASH@
1019 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1020 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -c -o transmitter_multicast-generic.obj `if test -f 'transmitter/generic.c'; then $(CYGPATH_W) 'transmitter/generic.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/generic.c'; fi`
10731021
10741022 transmitter_multicast-fake-filter.o: transmitter/fake-filter.c
10751023 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -MT transmitter_multicast-fake-filter.o -MD -MP -MF $(DEPDIR)/transmitter_multicast-fake-filter.Tpo -c -o transmitter_multicast-fake-filter.o `test -f 'transmitter/fake-filter.c' || echo '$(srcdir)/'`transmitter/fake-filter.c
10761024 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_multicast-fake-filter.Tpo $(DEPDIR)/transmitter_multicast-fake-filter.Po
1077 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1078 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/fake-filter.c' object='transmitter_multicast-fake-filter.o' libtool=no @AMDEPBACKSLASH@
1079 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1080 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -c -o transmitter_multicast-fake-filter.o `test -f 'transmitter/fake-filter.c' || echo '$(srcdir)/'`transmitter/fake-filter.c
1025 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/fake-filter.c' object='transmitter_multicast-fake-filter.o' libtool=no @AMDEPBACKSLASH@
1026 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1027 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -c -o transmitter_multicast-fake-filter.o `test -f 'transmitter/fake-filter.c' || echo '$(srcdir)/'`transmitter/fake-filter.c
10811028
10821029 transmitter_multicast-fake-filter.obj: transmitter/fake-filter.c
10831030 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -MT transmitter_multicast-fake-filter.obj -MD -MP -MF $(DEPDIR)/transmitter_multicast-fake-filter.Tpo -c -o transmitter_multicast-fake-filter.obj `if test -f 'transmitter/fake-filter.c'; then $(CYGPATH_W) 'transmitter/fake-filter.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/fake-filter.c'; fi`
10841031 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_multicast-fake-filter.Tpo $(DEPDIR)/transmitter_multicast-fake-filter.Po
1085 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1086 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/fake-filter.c' object='transmitter_multicast-fake-filter.obj' libtool=no @AMDEPBACKSLASH@
1087 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1088 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -c -o transmitter_multicast-fake-filter.obj `if test -f 'transmitter/fake-filter.c'; then $(CYGPATH_W) 'transmitter/fake-filter.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/fake-filter.c'; fi`
1032 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/fake-filter.c' object='transmitter_multicast-fake-filter.obj' libtool=no @AMDEPBACKSLASH@
1033 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1034 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -c -o transmitter_multicast-fake-filter.obj `if test -f 'transmitter/fake-filter.c'; then $(CYGPATH_W) 'transmitter/fake-filter.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/fake-filter.c'; fi`
10891035
10901036 transmitter_multicast-multicast.o: transmitter/multicast.c
10911037 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -MT transmitter_multicast-multicast.o -MD -MP -MF $(DEPDIR)/transmitter_multicast-multicast.Tpo -c -o transmitter_multicast-multicast.o `test -f 'transmitter/multicast.c' || echo '$(srcdir)/'`transmitter/multicast.c
10921038 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_multicast-multicast.Tpo $(DEPDIR)/transmitter_multicast-multicast.Po
1093 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1094 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/multicast.c' object='transmitter_multicast-multicast.o' libtool=no @AMDEPBACKSLASH@
1095 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1096 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -c -o transmitter_multicast-multicast.o `test -f 'transmitter/multicast.c' || echo '$(srcdir)/'`transmitter/multicast.c
1039 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/multicast.c' object='transmitter_multicast-multicast.o' libtool=no @AMDEPBACKSLASH@
1040 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1041 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -c -o transmitter_multicast-multicast.o `test -f 'transmitter/multicast.c' || echo '$(srcdir)/'`transmitter/multicast.c
10971042
10981043 transmitter_multicast-multicast.obj: transmitter/multicast.c
10991044 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -MT transmitter_multicast-multicast.obj -MD -MP -MF $(DEPDIR)/transmitter_multicast-multicast.Tpo -c -o transmitter_multicast-multicast.obj `if test -f 'transmitter/multicast.c'; then $(CYGPATH_W) 'transmitter/multicast.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/multicast.c'; fi`
11001045 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_multicast-multicast.Tpo $(DEPDIR)/transmitter_multicast-multicast.Po
1101 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1102 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/multicast.c' object='transmitter_multicast-multicast.obj' libtool=no @AMDEPBACKSLASH@
1103 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1104 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -c -o transmitter_multicast-multicast.obj `if test -f 'transmitter/multicast.c'; then $(CYGPATH_W) 'transmitter/multicast.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/multicast.c'; fi`
1046 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/multicast.c' object='transmitter_multicast-multicast.obj' libtool=no @AMDEPBACKSLASH@
1047 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1048 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_multicast_CFLAGS) $(CFLAGS) -c -o transmitter_multicast-multicast.obj `if test -f 'transmitter/multicast.c'; then $(CYGPATH_W) 'transmitter/multicast.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/multicast.c'; fi`
11051049
11061050 transmitter_nice-generic.o: transmitter/generic.c
11071051 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -MT transmitter_nice-generic.o -MD -MP -MF $(DEPDIR)/transmitter_nice-generic.Tpo -c -o transmitter_nice-generic.o `test -f 'transmitter/generic.c' || echo '$(srcdir)/'`transmitter/generic.c
11081052 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_nice-generic.Tpo $(DEPDIR)/transmitter_nice-generic.Po
1109 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1110 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/generic.c' object='transmitter_nice-generic.o' libtool=no @AMDEPBACKSLASH@
1111 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1112 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -c -o transmitter_nice-generic.o `test -f 'transmitter/generic.c' || echo '$(srcdir)/'`transmitter/generic.c
1053 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/generic.c' object='transmitter_nice-generic.o' libtool=no @AMDEPBACKSLASH@
1054 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1055 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -c -o transmitter_nice-generic.o `test -f 'transmitter/generic.c' || echo '$(srcdir)/'`transmitter/generic.c
11131056
11141057 transmitter_nice-generic.obj: transmitter/generic.c
11151058 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -MT transmitter_nice-generic.obj -MD -MP -MF $(DEPDIR)/transmitter_nice-generic.Tpo -c -o transmitter_nice-generic.obj `if test -f 'transmitter/generic.c'; then $(CYGPATH_W) 'transmitter/generic.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/generic.c'; fi`
11161059 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_nice-generic.Tpo $(DEPDIR)/transmitter_nice-generic.Po
1117 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1118 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/generic.c' object='transmitter_nice-generic.obj' libtool=no @AMDEPBACKSLASH@
1119 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1120 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -c -o transmitter_nice-generic.obj `if test -f 'transmitter/generic.c'; then $(CYGPATH_W) 'transmitter/generic.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/generic.c'; fi`
1060 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/generic.c' object='transmitter_nice-generic.obj' libtool=no @AMDEPBACKSLASH@
1061 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1062 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -c -o transmitter_nice-generic.obj `if test -f 'transmitter/generic.c'; then $(CYGPATH_W) 'transmitter/generic.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/generic.c'; fi`
11211063
11221064 transmitter_nice-fake-filter.o: transmitter/fake-filter.c
11231065 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -MT transmitter_nice-fake-filter.o -MD -MP -MF $(DEPDIR)/transmitter_nice-fake-filter.Tpo -c -o transmitter_nice-fake-filter.o `test -f 'transmitter/fake-filter.c' || echo '$(srcdir)/'`transmitter/fake-filter.c
11241066 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_nice-fake-filter.Tpo $(DEPDIR)/transmitter_nice-fake-filter.Po
1125 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1126 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/fake-filter.c' object='transmitter_nice-fake-filter.o' libtool=no @AMDEPBACKSLASH@
1127 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1128 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -c -o transmitter_nice-fake-filter.o `test -f 'transmitter/fake-filter.c' || echo '$(srcdir)/'`transmitter/fake-filter.c
1067 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/fake-filter.c' object='transmitter_nice-fake-filter.o' libtool=no @AMDEPBACKSLASH@
1068 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1069 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -c -o transmitter_nice-fake-filter.o `test -f 'transmitter/fake-filter.c' || echo '$(srcdir)/'`transmitter/fake-filter.c
11291070
11301071 transmitter_nice-fake-filter.obj: transmitter/fake-filter.c
11311072 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -MT transmitter_nice-fake-filter.obj -MD -MP -MF $(DEPDIR)/transmitter_nice-fake-filter.Tpo -c -o transmitter_nice-fake-filter.obj `if test -f 'transmitter/fake-filter.c'; then $(CYGPATH_W) 'transmitter/fake-filter.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/fake-filter.c'; fi`
11321073 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_nice-fake-filter.Tpo $(DEPDIR)/transmitter_nice-fake-filter.Po
1133 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1134 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/fake-filter.c' object='transmitter_nice-fake-filter.obj' libtool=no @AMDEPBACKSLASH@
1135 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1136 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -c -o transmitter_nice-fake-filter.obj `if test -f 'transmitter/fake-filter.c'; then $(CYGPATH_W) 'transmitter/fake-filter.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/fake-filter.c'; fi`
1074 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/fake-filter.c' object='transmitter_nice-fake-filter.obj' libtool=no @AMDEPBACKSLASH@
1075 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1076 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -c -o transmitter_nice-fake-filter.obj `if test -f 'transmitter/fake-filter.c'; then $(CYGPATH_W) 'transmitter/fake-filter.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/fake-filter.c'; fi`
11371077
11381078 transmitter_nice-nice.o: transmitter/nice.c
11391079 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -MT transmitter_nice-nice.o -MD -MP -MF $(DEPDIR)/transmitter_nice-nice.Tpo -c -o transmitter_nice-nice.o `test -f 'transmitter/nice.c' || echo '$(srcdir)/'`transmitter/nice.c
11401080 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_nice-nice.Tpo $(DEPDIR)/transmitter_nice-nice.Po
1141 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1142 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/nice.c' object='transmitter_nice-nice.o' libtool=no @AMDEPBACKSLASH@
1143 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1144 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -c -o transmitter_nice-nice.o `test -f 'transmitter/nice.c' || echo '$(srcdir)/'`transmitter/nice.c
1081 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/nice.c' object='transmitter_nice-nice.o' libtool=no @AMDEPBACKSLASH@
1082 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1083 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -c -o transmitter_nice-nice.o `test -f 'transmitter/nice.c' || echo '$(srcdir)/'`transmitter/nice.c
11451084
11461085 transmitter_nice-nice.obj: transmitter/nice.c
11471086 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -MT transmitter_nice-nice.obj -MD -MP -MF $(DEPDIR)/transmitter_nice-nice.Tpo -c -o transmitter_nice-nice.obj `if test -f 'transmitter/nice.c'; then $(CYGPATH_W) 'transmitter/nice.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/nice.c'; fi`
11481087 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_nice-nice.Tpo $(DEPDIR)/transmitter_nice-nice.Po
1149 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1150 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/nice.c' object='transmitter_nice-nice.obj' libtool=no @AMDEPBACKSLASH@
1151 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1152 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -c -o transmitter_nice-nice.obj `if test -f 'transmitter/nice.c'; then $(CYGPATH_W) 'transmitter/nice.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/nice.c'; fi`
1088 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/nice.c' object='transmitter_nice-nice.obj' libtool=no @AMDEPBACKSLASH@
1089 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1090 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_nice_CFLAGS) $(CFLAGS) -c -o transmitter_nice-nice.obj `if test -f 'transmitter/nice.c'; then $(CYGPATH_W) 'transmitter/nice.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/nice.c'; fi`
11531091
11541092 transmitter_rawudp-testutils.o: testutils.c
11551093 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -MT transmitter_rawudp-testutils.o -MD -MP -MF $(DEPDIR)/transmitter_rawudp-testutils.Tpo -c -o transmitter_rawudp-testutils.o `test -f 'testutils.c' || echo '$(srcdir)/'`testutils.c
11561094 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_rawudp-testutils.Tpo $(DEPDIR)/transmitter_rawudp-testutils.Po
1157 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1158 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutils.c' object='transmitter_rawudp-testutils.o' libtool=no @AMDEPBACKSLASH@
1159 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1160 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-testutils.o `test -f 'testutils.c' || echo '$(srcdir)/'`testutils.c
1095 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutils.c' object='transmitter_rawudp-testutils.o' libtool=no @AMDEPBACKSLASH@
1096 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1097 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-testutils.o `test -f 'testutils.c' || echo '$(srcdir)/'`testutils.c
11611098
11621099 transmitter_rawudp-testutils.obj: testutils.c
11631100 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -MT transmitter_rawudp-testutils.obj -MD -MP -MF $(DEPDIR)/transmitter_rawudp-testutils.Tpo -c -o transmitter_rawudp-testutils.obj `if test -f 'testutils.c'; then $(CYGPATH_W) 'testutils.c'; else $(CYGPATH_W) '$(srcdir)/testutils.c'; fi`
11641101 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_rawudp-testutils.Tpo $(DEPDIR)/transmitter_rawudp-testutils.Po
1165 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1166 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutils.c' object='transmitter_rawudp-testutils.obj' libtool=no @AMDEPBACKSLASH@
1167 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1168 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-testutils.obj `if test -f 'testutils.c'; then $(CYGPATH_W) 'testutils.c'; else $(CYGPATH_W) '$(srcdir)/testutils.c'; fi`
1102 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutils.c' object='transmitter_rawudp-testutils.obj' libtool=no @AMDEPBACKSLASH@
1103 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1104 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-testutils.obj `if test -f 'testutils.c'; then $(CYGPATH_W) 'testutils.c'; else $(CYGPATH_W) '$(srcdir)/testutils.c'; fi`
11691105
11701106 transmitter_rawudp-generic.o: transmitter/generic.c
11711107 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -MT transmitter_rawudp-generic.o -MD -MP -MF $(DEPDIR)/transmitter_rawudp-generic.Tpo -c -o transmitter_rawudp-generic.o `test -f 'transmitter/generic.c' || echo '$(srcdir)/'`transmitter/generic.c
11721108 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_rawudp-generic.Tpo $(DEPDIR)/transmitter_rawudp-generic.Po
1173 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1174 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/generic.c' object='transmitter_rawudp-generic.o' libtool=no @AMDEPBACKSLASH@
1175 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1176 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-generic.o `test -f 'transmitter/generic.c' || echo '$(srcdir)/'`transmitter/generic.c
1109 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/generic.c' object='transmitter_rawudp-generic.o' libtool=no @AMDEPBACKSLASH@
1110 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1111 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-generic.o `test -f 'transmitter/generic.c' || echo '$(srcdir)/'`transmitter/generic.c
11771112
11781113 transmitter_rawudp-generic.obj: transmitter/generic.c
11791114 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -MT transmitter_rawudp-generic.obj -MD -MP -MF $(DEPDIR)/transmitter_rawudp-generic.Tpo -c -o transmitter_rawudp-generic.obj `if test -f 'transmitter/generic.c'; then $(CYGPATH_W) 'transmitter/generic.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/generic.c'; fi`
11801115 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_rawudp-generic.Tpo $(DEPDIR)/transmitter_rawudp-generic.Po
1181 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1182 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/generic.c' object='transmitter_rawudp-generic.obj' libtool=no @AMDEPBACKSLASH@
1183 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1184 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-generic.obj `if test -f 'transmitter/generic.c'; then $(CYGPATH_W) 'transmitter/generic.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/generic.c'; fi`
1116 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/generic.c' object='transmitter_rawudp-generic.obj' libtool=no @AMDEPBACKSLASH@
1117 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1118 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-generic.obj `if test -f 'transmitter/generic.c'; then $(CYGPATH_W) 'transmitter/generic.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/generic.c'; fi`
11851119
11861120 transmitter_rawudp-rawudp.o: transmitter/rawudp.c
11871121 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -MT transmitter_rawudp-rawudp.o -MD -MP -MF $(DEPDIR)/transmitter_rawudp-rawudp.Tpo -c -o transmitter_rawudp-rawudp.o `test -f 'transmitter/rawudp.c' || echo '$(srcdir)/'`transmitter/rawudp.c
11881122 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_rawudp-rawudp.Tpo $(DEPDIR)/transmitter_rawudp-rawudp.Po
1189 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1190 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/rawudp.c' object='transmitter_rawudp-rawudp.o' libtool=no @AMDEPBACKSLASH@
1191 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1192 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-rawudp.o `test -f 'transmitter/rawudp.c' || echo '$(srcdir)/'`transmitter/rawudp.c
1123 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/rawudp.c' object='transmitter_rawudp-rawudp.o' libtool=no @AMDEPBACKSLASH@
1124 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1125 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-rawudp.o `test -f 'transmitter/rawudp.c' || echo '$(srcdir)/'`transmitter/rawudp.c
11931126
11941127 transmitter_rawudp-rawudp.obj: transmitter/rawudp.c
11951128 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -MT transmitter_rawudp-rawudp.obj -MD -MP -MF $(DEPDIR)/transmitter_rawudp-rawudp.Tpo -c -o transmitter_rawudp-rawudp.obj `if test -f 'transmitter/rawudp.c'; then $(CYGPATH_W) 'transmitter/rawudp.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/rawudp.c'; fi`
11961129 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_rawudp-rawudp.Tpo $(DEPDIR)/transmitter_rawudp-rawudp.Po
1197 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1198 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/rawudp.c' object='transmitter_rawudp-rawudp.obj' libtool=no @AMDEPBACKSLASH@
1199 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1200 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-rawudp.obj `if test -f 'transmitter/rawudp.c'; then $(CYGPATH_W) 'transmitter/rawudp.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/rawudp.c'; fi`
1130 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/rawudp.c' object='transmitter_rawudp-rawudp.obj' libtool=no @AMDEPBACKSLASH@
1131 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1132 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-rawudp.obj `if test -f 'transmitter/rawudp.c'; then $(CYGPATH_W) 'transmitter/rawudp.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/rawudp.c'; fi`
12011133
12021134 transmitter_rawudp-rawudp-upnp.o: transmitter/rawudp-upnp.c
12031135 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -MT transmitter_rawudp-rawudp-upnp.o -MD -MP -MF $(DEPDIR)/transmitter_rawudp-rawudp-upnp.Tpo -c -o transmitter_rawudp-rawudp-upnp.o `test -f 'transmitter/rawudp-upnp.c' || echo '$(srcdir)/'`transmitter/rawudp-upnp.c
12041136 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_rawudp-rawudp-upnp.Tpo $(DEPDIR)/transmitter_rawudp-rawudp-upnp.Po
1205 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1206 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/rawudp-upnp.c' object='transmitter_rawudp-rawudp-upnp.o' libtool=no @AMDEPBACKSLASH@
1207 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1208 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-rawudp-upnp.o `test -f 'transmitter/rawudp-upnp.c' || echo '$(srcdir)/'`transmitter/rawudp-upnp.c
1137 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/rawudp-upnp.c' object='transmitter_rawudp-rawudp-upnp.o' libtool=no @AMDEPBACKSLASH@
1138 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1139 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-rawudp-upnp.o `test -f 'transmitter/rawudp-upnp.c' || echo '$(srcdir)/'`transmitter/rawudp-upnp.c
12091140
12101141 transmitter_rawudp-rawudp-upnp.obj: transmitter/rawudp-upnp.c
12111142 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -MT transmitter_rawudp-rawudp-upnp.obj -MD -MP -MF $(DEPDIR)/transmitter_rawudp-rawudp-upnp.Tpo -c -o transmitter_rawudp-rawudp-upnp.obj `if test -f 'transmitter/rawudp-upnp.c'; then $(CYGPATH_W) 'transmitter/rawudp-upnp.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/rawudp-upnp.c'; fi`
12121143 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_rawudp-rawudp-upnp.Tpo $(DEPDIR)/transmitter_rawudp-rawudp-upnp.Po
1213 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1214 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/rawudp-upnp.c' object='transmitter_rawudp-rawudp-upnp.obj' libtool=no @AMDEPBACKSLASH@
1215 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1216 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-rawudp-upnp.obj `if test -f 'transmitter/rawudp-upnp.c'; then $(CYGPATH_W) 'transmitter/rawudp-upnp.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/rawudp-upnp.c'; fi`
1144 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/rawudp-upnp.c' object='transmitter_rawudp-rawudp-upnp.obj' libtool=no @AMDEPBACKSLASH@
1145 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1146 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-rawudp-upnp.obj `if test -f 'transmitter/rawudp-upnp.c'; then $(CYGPATH_W) 'transmitter/rawudp-upnp.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/rawudp-upnp.c'; fi`
12171147
12181148 transmitter_rawudp-stunalternd.o: transmitter/stunalternd.c
12191149 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -MT transmitter_rawudp-stunalternd.o -MD -MP -MF $(DEPDIR)/transmitter_rawudp-stunalternd.Tpo -c -o transmitter_rawudp-stunalternd.o `test -f 'transmitter/stunalternd.c' || echo '$(srcdir)/'`transmitter/stunalternd.c
12201150 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_rawudp-stunalternd.Tpo $(DEPDIR)/transmitter_rawudp-stunalternd.Po
1221 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1222 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/stunalternd.c' object='transmitter_rawudp-stunalternd.o' libtool=no @AMDEPBACKSLASH@
1223 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1224 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-stunalternd.o `test -f 'transmitter/stunalternd.c' || echo '$(srcdir)/'`transmitter/stunalternd.c
1151 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/stunalternd.c' object='transmitter_rawudp-stunalternd.o' libtool=no @AMDEPBACKSLASH@
1152 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1153 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-stunalternd.o `test -f 'transmitter/stunalternd.c' || echo '$(srcdir)/'`transmitter/stunalternd.c
12251154
12261155 transmitter_rawudp-stunalternd.obj: transmitter/stunalternd.c
12271156 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -MT transmitter_rawudp-stunalternd.obj -MD -MP -MF $(DEPDIR)/transmitter_rawudp-stunalternd.Tpo -c -o transmitter_rawudp-stunalternd.obj `if test -f 'transmitter/stunalternd.c'; then $(CYGPATH_W) 'transmitter/stunalternd.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/stunalternd.c'; fi`
12281157 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_rawudp-stunalternd.Tpo $(DEPDIR)/transmitter_rawudp-stunalternd.Po
1229 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1230 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/stunalternd.c' object='transmitter_rawudp-stunalternd.obj' libtool=no @AMDEPBACKSLASH@
1231 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1232 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-stunalternd.obj `if test -f 'transmitter/stunalternd.c'; then $(CYGPATH_W) 'transmitter/stunalternd.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/stunalternd.c'; fi`
1158 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/stunalternd.c' object='transmitter_rawudp-stunalternd.obj' libtool=no @AMDEPBACKSLASH@
1159 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1160 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_rawudp_CFLAGS) $(CFLAGS) -c -o transmitter_rawudp-stunalternd.obj `if test -f 'transmitter/stunalternd.c'; then $(CYGPATH_W) 'transmitter/stunalternd.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/stunalternd.c'; fi`
12331161
12341162 transmitter_shm-generic.o: transmitter/generic.c
12351163 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_shm_CFLAGS) $(CFLAGS) -MT transmitter_shm-generic.o -MD -MP -MF $(DEPDIR)/transmitter_shm-generic.Tpo -c -o transmitter_shm-generic.o `test -f 'transmitter/generic.c' || echo '$(srcdir)/'`transmitter/generic.c
12361164 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_shm-generic.Tpo $(DEPDIR)/transmitter_shm-generic.Po
1237 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1238 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/generic.c' object='transmitter_shm-generic.o' libtool=no @AMDEPBACKSLASH@
1239 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1240 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_shm_CFLAGS) $(CFLAGS) -c -o transmitter_shm-generic.o `test -f 'transmitter/generic.c' || echo '$(srcdir)/'`transmitter/generic.c
1165 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/generic.c' object='transmitter_shm-generic.o' libtool=no @AMDEPBACKSLASH@
1166 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1167 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_shm_CFLAGS) $(CFLAGS) -c -o transmitter_shm-generic.o `test -f 'transmitter/generic.c' || echo '$(srcdir)/'`transmitter/generic.c
12411168
12421169 transmitter_shm-generic.obj: transmitter/generic.c
12431170 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_shm_CFLAGS) $(CFLAGS) -MT transmitter_shm-generic.obj -MD -MP -MF $(DEPDIR)/transmitter_shm-generic.Tpo -c -o transmitter_shm-generic.obj `if test -f 'transmitter/generic.c'; then $(CYGPATH_W) 'transmitter/generic.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/generic.c'; fi`
12441171 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_shm-generic.Tpo $(DEPDIR)/transmitter_shm-generic.Po
1245 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1246 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/generic.c' object='transmitter_shm-generic.obj' libtool=no @AMDEPBACKSLASH@
1247 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1248 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_shm_CFLAGS) $(CFLAGS) -c -o transmitter_shm-generic.obj `if test -f 'transmitter/generic.c'; then $(CYGPATH_W) 'transmitter/generic.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/generic.c'; fi`
1172 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/generic.c' object='transmitter_shm-generic.obj' libtool=no @AMDEPBACKSLASH@
1173 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1174 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_shm_CFLAGS) $(CFLAGS) -c -o transmitter_shm-generic.obj `if test -f 'transmitter/generic.c'; then $(CYGPATH_W) 'transmitter/generic.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/generic.c'; fi`
12491175
12501176 transmitter_shm-shm.o: transmitter/shm.c
12511177 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_shm_CFLAGS) $(CFLAGS) -MT transmitter_shm-shm.o -MD -MP -MF $(DEPDIR)/transmitter_shm-shm.Tpo -c -o transmitter_shm-shm.o `test -f 'transmitter/shm.c' || echo '$(srcdir)/'`transmitter/shm.c
12521178 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_shm-shm.Tpo $(DEPDIR)/transmitter_shm-shm.Po
1253 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1254 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/shm.c' object='transmitter_shm-shm.o' libtool=no @AMDEPBACKSLASH@
1255 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1256 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_shm_CFLAGS) $(CFLAGS) -c -o transmitter_shm-shm.o `test -f 'transmitter/shm.c' || echo '$(srcdir)/'`transmitter/shm.c
1179 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/shm.c' object='transmitter_shm-shm.o' libtool=no @AMDEPBACKSLASH@
1180 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1181 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_shm_CFLAGS) $(CFLAGS) -c -o transmitter_shm-shm.o `test -f 'transmitter/shm.c' || echo '$(srcdir)/'`transmitter/shm.c
12571182
12581183 transmitter_shm-shm.obj: transmitter/shm.c
12591184 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_shm_CFLAGS) $(CFLAGS) -MT transmitter_shm-shm.obj -MD -MP -MF $(DEPDIR)/transmitter_shm-shm.Tpo -c -o transmitter_shm-shm.obj `if test -f 'transmitter/shm.c'; then $(CYGPATH_W) 'transmitter/shm.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/shm.c'; fi`
12601185 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/transmitter_shm-shm.Tpo $(DEPDIR)/transmitter_shm-shm.Po
1261 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1262 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='transmitter/shm.c' object='transmitter_shm-shm.obj' libtool=no @AMDEPBACKSLASH@
1263 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1264 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_shm_CFLAGS) $(CFLAGS) -c -o transmitter_shm-shm.obj `if test -f 'transmitter/shm.c'; then $(CYGPATH_W) 'transmitter/shm.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/shm.c'; fi`
1186 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='transmitter/shm.c' object='transmitter_shm-shm.obj' libtool=no @AMDEPBACKSLASH@
1187 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1188 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(transmitter_shm_CFLAGS) $(CFLAGS) -c -o transmitter_shm-shm.obj `if test -f 'transmitter/shm.c'; then $(CYGPATH_W) 'transmitter/shm.c'; else $(CYGPATH_W) '$(srcdir)/transmitter/shm.c'; fi`
12651189
12661190 utils_binadded-testutils.o: testutils.c
12671191 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(utils_binadded_CFLAGS) $(CFLAGS) -MT utils_binadded-testutils.o -MD -MP -MF $(DEPDIR)/utils_binadded-testutils.Tpo -c -o utils_binadded-testutils.o `test -f 'testutils.c' || echo '$(srcdir)/'`testutils.c
12681192 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/utils_binadded-testutils.Tpo $(DEPDIR)/utils_binadded-testutils.Po
1269 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1270 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutils.c' object='utils_binadded-testutils.o' libtool=no @AMDEPBACKSLASH@
1271 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1272 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(utils_binadded_CFLAGS) $(CFLAGS) -c -o utils_binadded-testutils.o `test -f 'testutils.c' || echo '$(srcdir)/'`testutils.c
1193 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutils.c' object='utils_binadded-testutils.o' libtool=no @AMDEPBACKSLASH@
1194 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1195 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(utils_binadded_CFLAGS) $(CFLAGS) -c -o utils_binadded-testutils.o `test -f 'testutils.c' || echo '$(srcdir)/'`testutils.c
12731196
12741197 utils_binadded-testutils.obj: testutils.c
12751198 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(utils_binadded_CFLAGS) $(CFLAGS) -MT utils_binadded-testutils.obj -MD -MP -MF $(DEPDIR)/utils_binadded-testutils.Tpo -c -o utils_binadded-testutils.obj `if test -f 'testutils.c'; then $(CYGPATH_W) 'testutils.c'; else $(CYGPATH_W) '$(srcdir)/testutils.c'; fi`
12761199 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/utils_binadded-testutils.Tpo $(DEPDIR)/utils_binadded-testutils.Po
1277 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1278 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='testutils.c' object='utils_binadded-testutils.obj' libtool=no @AMDEPBACKSLASH@
1279 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1280 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(utils_binadded_CFLAGS) $(CFLAGS) -c -o utils_binadded-testutils.obj `if test -f 'testutils.c'; then $(CYGPATH_W) 'testutils.c'; else $(CYGPATH_W) '$(srcdir)/testutils.c'; fi`
1200 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutils.c' object='utils_binadded-testutils.obj' libtool=no @AMDEPBACKSLASH@
1201 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1202 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(utils_binadded_CFLAGS) $(CFLAGS) -c -o utils_binadded-testutils.obj `if test -f 'testutils.c'; then $(CYGPATH_W) 'testutils.c'; else $(CYGPATH_W) '$(srcdir)/testutils.c'; fi`
12811203
12821204 utils_binadded-binadded.o: utils/binadded.c
12831205 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(utils_binadded_CFLAGS) $(CFLAGS) -MT utils_binadded-binadded.o -MD -MP -MF $(DEPDIR)/utils_binadded-binadded.Tpo -c -o utils_binadded-binadded.o `test -f 'utils/binadded.c' || echo '$(srcdir)/'`utils/binadded.c
12841206 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/utils_binadded-binadded.Tpo $(DEPDIR)/utils_binadded-binadded.Po
1285 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1286 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='utils/binadded.c' object='utils_binadded-binadded.o' libtool=no @AMDEPBACKSLASH@
1287 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1288 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(utils_binadded_CFLAGS) $(CFLAGS) -c -o utils_binadded-binadded.o `test -f 'utils/binadded.c' || echo '$(srcdir)/'`utils/binadded.c
1207 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils/binadded.c' object='utils_binadded-binadded.o' libtool=no @AMDEPBACKSLASH@
1208 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1209 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(utils_binadded_CFLAGS) $(CFLAGS) -c -o utils_binadded-binadded.o `test -f 'utils/binadded.c' || echo '$(srcdir)/'`utils/binadded.c
12891210
12901211 utils_binadded-binadded.obj: utils/binadded.c
12911212 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(utils_binadded_CFLAGS) $(CFLAGS) -MT utils_binadded-binadded.obj -MD -MP -MF $(DEPDIR)/utils_binadded-binadded.Tpo -c -o utils_binadded-binadded.obj `if test -f 'utils/binadded.c'; then $(CYGPATH_W) 'utils/binadded.c'; else $(CYGPATH_W) '$(srcdir)/utils/binadded.c'; fi`
12921213 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/utils_binadded-binadded.Tpo $(DEPDIR)/utils_binadded-binadded.Po
1293 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
1294 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='utils/binadded.c' object='utils_binadded-binadded.obj' libtool=no @AMDEPBACKSLASH@
1295 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1296 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(utils_binadded_CFLAGS) $(CFLAGS) -c -o utils_binadded-binadded.obj `if test -f 'utils/binadded.c'; then $(CYGPATH_W) 'utils/binadded.c'; else $(CYGPATH_W) '$(srcdir)/utils/binadded.c'; fi`
1214 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils/binadded.c' object='utils_binadded-binadded.obj' libtool=no @AMDEPBACKSLASH@
1215 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
1216 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(utils_binadded_CFLAGS) $(CFLAGS) -c -o utils_binadded-binadded.obj `if test -f 'utils/binadded.c'; then $(CYGPATH_W) 'utils/binadded.c'; else $(CYGPATH_W) '$(srcdir)/utils/binadded.c'; fi`
12971217
12981218 mostlyclean-libtool:
12991219 -rm -f *.lo
14411361 fi; \
14421362 dashes=`echo "$$dashes" | sed s/./=/g`; \
14431363 if test "$$failed" -eq 0; then \
1444 echo "$$grn$$dashes"; \
1364 col="$$grn"; \
14451365 else \
1446 echo "$$red$$dashes"; \
1366 col="$$red"; \
14471367 fi; \
1448 echo "$$banner"; \
1449 test -z "$$skipped" || echo "$$skipped"; \
1450 test -z "$$report" || echo "$$report"; \
1451 echo "$$dashes$$std"; \
1368 echo "$${col}$$dashes$${std}"; \
1369 echo "$${col}$$banner$${std}"; \
1370 test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
1371 test -z "$$report" || echo "$${col}$$report$${std}"; \
1372 echo "$${col}$$dashes$${std}"; \
14521373 test "$$failed" -eq 0; \
14531374 else :; fi
14541375
14861407 $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
14871408 $(MAKE) $(AM_MAKEFLAGS) check-TESTS
14881409 check: check-am
1489 all-am: Makefile
1410 all-am: Makefile $(PROGRAMS)
14901411 installdirs:
14911412 install: install-am
14921413 install-exec: install-exec-am
14981419
14991420 installcheck: installcheck-am
15001421 install-strip:
1501 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
1502 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
1503 `test -z '$(STRIP)' || \
1504 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
1422 if test -z '$(STRIP)'; then \
1423 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
1424 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
1425 install; \
1426 else \
1427 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
1428 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
1429 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
1430 fi
15051431 mostlyclean-generic:
15061432
15071433 clean-generic:
15241450 clean: clean-am
15251451
15261452 clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \
1527 mostlyclean-am
1453 clean-noinstPROGRAMS mostlyclean-am
15281454
15291455 distclean: distclean-am
15301456 -rm -rf ./$(DEPDIR)
15961522
15971523 .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
15981524 clean-checkPROGRAMS clean-generic clean-libtool clean-local \
1599 ctags distclean distclean-compile distclean-generic \
1600 distclean-libtool distclean-tags distdir dvi dvi-am html \
1601 html-am info info-am install install-am install-data \
1602 install-data-am install-dvi install-dvi-am install-exec \
1603 install-exec-am install-html install-html-am install-info \
1604 install-info-am install-man install-pdf install-pdf-am \
1605 install-ps install-ps-am install-strip installcheck \
1606 installcheck-am installdirs maintainer-clean \
1525 clean-noinstPROGRAMS ctags distclean distclean-compile \
1526 distclean-generic distclean-libtool distclean-tags distdir dvi \
1527 dvi-am html html-am info info-am install install-am \
1528 install-data install-data-am install-dvi install-dvi-am \
1529 install-exec install-exec-am install-html install-html-am \
1530 install-info install-info-am install-man install-pdf \
1531 install-pdf-am install-ps install-ps-am install-strip \
1532 installcheck installcheck-am installdirs maintainer-clean \
16071533 maintainer-clean-generic mostlyclean mostlyclean-compile \
16081534 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
16091535 tags uninstall uninstall-am
16271553 $* || \
16281554 $(TESTS_ENVIRONMENT) \
16291555 GST_DEBUG=$$GST_DEBUG,*:2 \
1556 CK_DEFAULT_TIMEOUT=20 \
1557 $*
1558
1559 # just like 'check', but don't run it again if it fails (useful for debugging)
1560 %.check-norepeat: %
1561 @$(TESTS_ENVIRONMENT) \
16301562 CK_DEFAULT_TIMEOUT=20 \
16311563 $*
16321564
17551687 @echo
17561688 @echo "make check -- run all checks"
17571689 @echo "make torture -- run all checks $(LOOPS) times"
1758 @echo "make (dir)/(test).check -- run the given check once"
1690 @echo "make (dir)/(test).check -- run the given check once, repeat with GST_DEBUG=*:2 if it fails"
1691 @echo "make (dir)/(test).check-norepeat -- run the given check once, but don't run it again if it fails"
17591692 @echo "make (dir)/(test).forever -- run the given check forever"
17601693 @echo "make (dir)/(test).torture -- run the given check $(LOOPS) times"
17611694 @echo
88
99 #define ts_fail_unless(...) \
1010 G_STMT_START { \
11 g_mutex_lock (check_mutex); \
11 g_mutex_lock (&check_mutex); \
1212 fail_unless (__VA_ARGS__); \
13 g_mutex_unlock (check_mutex); \
13 g_mutex_unlock (&check_mutex); \
1414 } G_STMT_END
1515
1616
1717 #define ts_fail_if(...) \
1818 G_STMT_START { \
19 g_mutex_lock (check_mutex); \
19 g_mutex_lock (&check_mutex); \
2020 fail_if (__VA_ARGS__); \
21 g_mutex_unlock (check_mutex); \
21 g_mutex_unlock (&check_mutex); \
2222 } G_STMT_END
2323
2424
2525 #define ts_fail(...) \
2626 G_STMT_START { \
27 g_mutex_lock (check_mutex); \
27 g_mutex_lock (&check_mutex); \
2828 fail (__VA_ARGS__); \
29 g_mutex_unlock (check_mutex); \
29 g_mutex_unlock (&check_mutex); \
3030 } G_STMT_END
3131
3232 #endif /* __CHECK_THREADSAFE_H__ */
+0
-184
tests/check/elements/funnel.c less more
0 /* Farstream unit tests for the fsfunnel
1 *
2 * Copyright (C) 2008 Collabora, Nokia
3 * @author: Olivier Crete <olivier.crete@collabora.co.uk>
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 */
19
20
21 #ifdef HAVE_CONFIG_H
22 # include <config.h>
23 #endif
24
25 #include <gst/check/gstcheck.h>
26
27 struct TestData {
28 GstElement *funnel;
29 GstPad *funnelsrc, *funnelsink11, *funnelsink22;
30 GstPad *mysink, *mysrc1, *mysrc2;
31 GstCaps *mycaps;
32 };
33
34 static void
35 setup_test_objects (struct TestData *td, GstPadChainFunction chain_func, GstPadBufferAllocFunction alloc_func)
36 {
37 td->mycaps = gst_caps_new_simple ("test/test", NULL);
38
39 td->funnel = gst_element_factory_make ("fsfunnel", NULL);
40
41 td->funnelsrc = gst_element_get_static_pad (td->funnel, "src");
42 fail_unless (td->funnelsrc != NULL);
43
44 td->funnelsink11 = gst_element_get_request_pad (td->funnel, "sink11");
45 fail_unless (td->funnelsink11 != NULL);
46 fail_unless (!strcmp (GST_OBJECT_NAME (td->funnelsink11), "sink11"));
47
48 td->funnelsink22 = gst_element_get_request_pad (td->funnel, "sink22");
49 fail_unless (td->funnelsink22 != NULL);
50 fail_unless (!strcmp (GST_OBJECT_NAME (td->funnelsink22), "sink22"));
51
52 fail_unless (gst_element_set_state (td->funnel, GST_STATE_PLAYING) ==
53 GST_STATE_CHANGE_SUCCESS);
54
55 td->mysink = gst_pad_new ("sink", GST_PAD_SINK);
56 gst_pad_set_chain_function (td->mysink, chain_func);
57 gst_pad_set_bufferalloc_function (td->mysink, alloc_func);
58 gst_pad_set_active (td->mysink, TRUE);
59 gst_pad_set_caps (td->mysink, td->mycaps);
60
61 td->mysrc1 = gst_pad_new ("src1", GST_PAD_SRC);
62 gst_pad_set_active (td->mysrc1, TRUE);
63 gst_pad_set_caps (td->mysrc1, td->mycaps);
64
65 td->mysrc2 = gst_pad_new ("src2", GST_PAD_SRC);
66 gst_pad_set_active (td->mysrc2, TRUE);
67 gst_pad_set_caps (td->mysrc2, td->mycaps);
68
69 fail_unless (GST_PAD_LINK_SUCCESSFUL(
70 gst_pad_link (td->funnelsrc, td->mysink)));
71
72 fail_unless (GST_PAD_LINK_SUCCESSFUL(
73 gst_pad_link (td->mysrc1, td->funnelsink11)));
74
75 fail_unless (GST_PAD_LINK_SUCCESSFUL(
76 gst_pad_link (td->mysrc2, td->funnelsink22)));
77
78 }
79
80 static void
81 release_test_objects (struct TestData *td)
82 {
83 gst_pad_set_active (td->mysink, FALSE);
84 gst_pad_set_active (td->mysrc1, FALSE);
85 gst_pad_set_active (td->mysrc1, FALSE);
86
87 gst_object_unref (td->mysink);
88 gst_object_unref (td->mysrc1);
89 gst_object_unref (td->mysrc2);
90
91 fail_unless (gst_element_set_state (td->funnel, GST_STATE_NULL) ==
92 GST_STATE_CHANGE_SUCCESS);
93
94 gst_object_unref (td->funnelsrc);
95 gst_object_unref (td->funnelsink11);
96 gst_element_release_request_pad (td->funnel, td->funnelsink11);
97 gst_object_unref (td->funnelsink22);
98 gst_element_release_request_pad (td->funnel, td->funnelsink22);
99
100 gst_caps_unref (td->mycaps);
101 gst_object_unref (td->funnel);
102 }
103
104 static gint bufcount = 0;
105 static gint alloccount = 0;
106
107 static GstFlowReturn
108 chain_ok (GstPad *pad, GstBuffer *buffer)
109 {
110 bufcount++;
111
112 gst_buffer_unref (buffer);
113
114 return GST_FLOW_OK;
115 }
116
117 static GstFlowReturn
118 alloc_ok (GstPad *pad,
119 guint64 offset,
120 guint size,
121 GstCaps *caps,
122 GstBuffer **buffer)
123 {
124 alloccount++;
125
126 fail_unless (buffer != NULL);
127 fail_unless (*buffer == NULL);
128
129 *buffer = gst_buffer_new_and_alloc(size);
130 gst_buffer_set_caps (*buffer, caps);
131 GST_BUFFER_OFFSET (*buffer) = offset;
132
133 return GST_FLOW_OK;
134 }
135
136 GST_START_TEST (test_funnel_simple)
137 {
138 struct TestData td;
139 GstBuffer *buf1 = NULL;
140 GstBuffer *buf2 = NULL;
141
142 setup_test_objects (&td, chain_ok, alloc_ok);
143
144 bufcount = 0;
145 alloccount = 0;
146
147 fail_unless (gst_pad_push (td.mysrc1, gst_buffer_new ()) == GST_FLOW_OK);
148 fail_unless (gst_pad_push (td.mysrc2, gst_buffer_new ()) == GST_FLOW_OK);
149
150 fail_unless (bufcount == 2);
151
152 fail_unless (gst_pad_alloc_buffer (td.mysrc1, 0, 1024, td.mycaps, &buf1) == GST_FLOW_OK);
153 fail_unless (gst_pad_alloc_buffer (td.mysrc2, 1024, 1024, td.mycaps, &buf2) == GST_FLOW_OK);
154
155 fail_unless (alloccount == 2);
156
157 gst_buffer_unref (buf1);
158 gst_buffer_unref (buf2);
159
160 release_test_objects (&td);
161 }
162 GST_END_TEST;
163
164 static Suite *
165 funnel_suite (void)
166 {
167 Suite *s = suite_create ("funnel");
168 TCase *tc_chain;
169 GLogLevelFlags fatal_mask;
170
171 fatal_mask = g_log_set_always_fatal (G_LOG_FATAL_MASK);
172 fatal_mask |= G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL;
173 g_log_set_always_fatal (fatal_mask);
174
175 tc_chain = tcase_create ("funnel simple");
176 tcase_add_test (tc_chain, test_funnel_simple);
177 suite_add_tcase (s, tc_chain);
178
179 return s;
180 }
181
182 GST_CHECK_MAIN (funnel);
183
2727 #include <gst/rtp/gstrtcpbuffer.h>
2828
2929 static GstBuffer *
30 make_buffer (GstCaps *caps, gboolean have_sr, gint rr_count,
30 make_buffer (gboolean have_sr, gint rr_count,
3131 gboolean have_sdes, gboolean have_bye)
3232 {
3333 GstRTCPPacket packet;
3434 GstBuffer *buf = gst_rtcp_buffer_new (1024);
3535 gint i;
36 GstRTCPBuffer rtcpbuffer = GST_RTCP_BUFFER_INIT;
3637
37 gst_buffer_set_caps (buf, caps);
38 gst_rtcp_buffer_map (buf, GST_MAP_READWRITE, &rtcpbuffer);
39
3840 if (have_sr)
3941 {
40 gst_rtcp_buffer_add_packet (buf, GST_RTCP_TYPE_SR, &packet);
42 gst_rtcp_buffer_add_packet (&rtcpbuffer, GST_RTCP_TYPE_SR, &packet);
4143 gst_rtcp_packet_sr_set_sender_info (&packet, 132132, 12, 12, 12, 12);
4244 }
4345
4446 if (rr_count >= 0 || !have_sr)
4547 {
46 gst_rtcp_buffer_add_packet (buf, GST_RTCP_TYPE_RR, &packet);
48 gst_rtcp_buffer_add_packet (&rtcpbuffer, GST_RTCP_TYPE_RR, &packet);
4749 gst_rtcp_packet_rr_set_ssrc (&packet, 132132);
4850 for (i = 0; i < rr_count; i++)
4951 gst_rtcp_packet_add_rb (&packet, 123124+i, 12, 12, 21, 31, 41, 12);
5153
5254 if (have_sdes)
5355 {
54 gst_rtcp_buffer_add_packet (buf, GST_RTCP_TYPE_SDES, &packet);
56 gst_rtcp_buffer_add_packet (&rtcpbuffer, GST_RTCP_TYPE_SDES, &packet);
5557 gst_rtcp_packet_sdes_add_item (&packet, 123121);
5658 gst_rtcp_packet_sdes_add_entry (&packet, GST_RTCP_SDES_EMAIL,
5759 10, (guint8 *) "aa@aaa.com");
6365
6466 if (have_bye)
6567 {
66 gst_rtcp_buffer_add_packet (buf, GST_RTCP_TYPE_BYE, &packet);
68 gst_rtcp_buffer_add_packet (&rtcpbuffer, GST_RTCP_TYPE_BYE, &packet);
6769 gst_rtcp_packet_bye_add_ssrc (&packet, 132123);
6870 gst_rtcp_packet_bye_set_reason (&packet, "allo");
6971 }
70 gst_rtcp_buffer_end (buf);
72 gst_rtcp_buffer_unmap (&rtcpbuffer);
7173
7274 return buf;
7375 }
7779 GList *in_buffers = NULL;
7880 GList *out_buffers = NULL;
7981 GstBuffer *buf = NULL;
80 GstCaps *caps = gst_caps_new_simple ("application/x-rtcp", NULL);
82 GstCaps *caps = gst_caps_new_empty_simple ("application/x-rtcp");
8183 gint i;
8284
8385 for (i = 0; i < 3; i++)
8486 {
85 buf = make_buffer (caps, FALSE, i, FALSE, FALSE);
87 buf = make_buffer (FALSE, i, FALSE, FALSE);
8688 in_buffers = g_list_append (in_buffers, gst_buffer_ref (buf));
8789 out_buffers = g_list_append (out_buffers, buf);
8890
89 buf = make_buffer (caps, FALSE, i, TRUE, FALSE);
91 buf = make_buffer (FALSE, i, TRUE, FALSE);
9092 in_buffers = g_list_append (in_buffers, gst_buffer_ref (buf));
9193 out_buffers = g_list_append (out_buffers, buf);
9294
93 buf = make_buffer (caps, FALSE, i, TRUE, TRUE);
95 buf = make_buffer (FALSE, i, TRUE, TRUE);
9496 in_buffers = g_list_append (in_buffers, gst_buffer_ref (buf));
9597 out_buffers = g_list_append (out_buffers, buf);
9698 }
99101 {
100102
101103 in_buffers = g_list_append (in_buffers,
102 make_buffer (caps, TRUE, i, FALSE, FALSE));
104 make_buffer (TRUE, i, FALSE, FALSE));
103105 out_buffers = g_list_append (out_buffers,
104 make_buffer (caps, FALSE, i, FALSE, FALSE));
106 make_buffer (FALSE, i, FALSE, FALSE));
105107
106108 in_buffers = g_list_append (in_buffers,
107 make_buffer (caps, TRUE, i, TRUE, FALSE));
109 make_buffer (TRUE, i, TRUE, FALSE));
108110 out_buffers = g_list_append (out_buffers,
109 make_buffer (caps, FALSE, i, TRUE, FALSE));
111 make_buffer (FALSE, i, TRUE, FALSE));
110112
111113
112114 in_buffers = g_list_append (in_buffers,
113 make_buffer (caps, TRUE, i, TRUE, TRUE));
115 make_buffer (TRUE, i, TRUE, TRUE));
114116 out_buffers = g_list_append (out_buffers,
115 make_buffer (caps, FALSE, i, TRUE, TRUE));
117 make_buffer (FALSE, i, TRUE, TRUE));
116118 }
117119
118120
119121
120 gst_check_element_push_buffer_list ("fsrtcpfilter", in_buffers, out_buffers,
121 GST_FLOW_OK);
122 gst_check_element_push_buffer_list ("fsrtcpfilter", in_buffers, caps,
123 out_buffers, caps, GST_FLOW_OK);
122124
123125 gst_caps_unref (caps);
124126 }
6565 const gchar *error;
6666
6767 ts_fail_unless (
68 gst_implements_interface_check (GST_MESSAGE_SRC (message),
69 FS_TYPE_CONFERENCE),
70 "Received farstream-error from non-farstream element");
71
72 ts_fail_unless (
7368 gst_structure_has_field_typed (s, "src-object", G_TYPE_OBJECT),
7469 "farstream-error structure has no src-object field");
7570 ts_fail_unless (
9085 FsStream *stream;
9186 FsCandidate *candidate;
9287 const GValue *value;
93
94 ts_fail_unless (
95 gst_implements_interface_check (GST_MESSAGE_SRC (message),
96 FS_TYPE_CONFERENCE),
97 "Received farstream-error from non-farstream element");
9888
9989 ts_fail_unless (
10090 gst_structure_has_field_typed (s, "stream", FS_TYPE_STREAM),
163153 return TRUE;
164154 }
165155
166 static void
167 pad_probe_cb (GstPad *pad, GstBuffer *buf, gpointer user_data)
156 static GstPadProbeReturn
157 pad_probe_cb (GstPad *pad, GstPadProbeInfo *info, gpointer user_data)
168158 {
169159 count++;
170160
171161 if (count > 20)
172162 g_main_loop_quit (loop);
163
164 return GST_PAD_PROBE_OK;
173165 }
174166
175167 static void
188180 sinkpad = gst_element_get_static_pad (sink, "sink");
189181 ts_fail_unless (sinkpad != NULL);
190182
191 gst_pad_add_buffer_probe (sinkpad, G_CALLBACK (pad_probe_cb), dat);
183 gst_pad_add_probe (sinkpad, GST_PAD_PROBE_TYPE_BUFFER, pad_probe_cb, dat,
184 NULL);
192185
193186 ts_fail_if (GST_PAD_LINK_FAILED (gst_pad_link (pad, sinkpad)));
194187
2222 # include <config.h>
2323 #endif
2424
25 #include <gst/audio/audio.h>
2526 #include <gst/check/gstcheck.h>
2627 #include <farstream/fs-conference.h>
2728 #include <farstream/fs-stream-transmitter.h>
128129
129130 bus = gst_pipeline_get_bus (GST_PIPELINE (dat->pipeline));
130131 fail_if (bus == NULL);
131 gst_bus_set_sync_handler (bus, default_sync_handler, dat);
132 gst_bus_set_sync_handler (bus, default_sync_handler, dat, NULL);
132133 gst_object_unref (bus);
133134
134135 dat->conference = gst_element_factory_make (conference_elem, NULL);
271272 }
272273
273274 static gboolean
274 pad_count_fold (gpointer pad, GValue *val, gpointer user_data)
275 pad_count_fold (const GValue *item, GValue *val, gpointer user_data)
275276 {
276277 g_value_set_uint (val, g_value_get_uint (val) + 1);
277
278 gst_object_unref (pad);
279278
280279 return TRUE;
281280 }
328327 FsStreamDirection dir;
329328
330329 dat = setup_simple_conference (1, "fsrawconference", "bob@127.0.0.1");
331 st = simple_conference_add_stream (dat, dat, "shm", 0, NULL);
330 //st = simple_conference_add_stream (dat, dat, "shm", 0, NULL);
331 st = simple_conference_add_stream (dat, dat, "rawudp", 0, NULL);
332332
333333 g_object_get (dat->session,
334334 "id", &id,
483483 {
484484 const GValue *value;
485485 FsError errorno;
486 const gchar *error, *debug;
487
488 ts_fail_unless (
489 gst_implements_interface_check (GST_MESSAGE_SRC (message),
490 FS_TYPE_CONFERENCE),
491 "Received farstream-error from non-farstream element");
486 const gchar *error;
487
488 ts_fail_unless (
489 FS_IS_CONFERENCE (GST_MESSAGE_SRC (message)),
490 "Received farstream-error from non-farstream element");
492491
493492 ts_fail_unless (
494493 gst_structure_has_field_typed (s, "src-object", G_TYPE_OBJECT),
498497 "farstream-error structure has no src-object field");
499498 ts_fail_unless (
500499 gst_structure_has_field_typed (s, "error-msg", G_TYPE_STRING),
501 "farstream-error structure has no src-object field");
502 ts_fail_unless (
503 gst_structure_has_field_typed (s, "debug-msg", G_TYPE_STRING),
504 "farstream-error structure has no src-object field");
500 "farstream-error structure has no error-msg field");
505501
506502 value = gst_structure_get_value (s, "error-no");
507503 errorno = g_value_get_enum (value);
508504 error = gst_structure_get_string (s, "error-msg");
509 debug = gst_structure_get_string (s, "debug-msg");
510
511 ts_fail ("Error on BUS (%d) %s .. %s", errorno, error, debug);
505
506 ts_fail ("Error on BUS (%d) %s", errorno, error);
512507 }
513508 else if (gst_structure_has_name (s, "farstream-new-local-candidate"))
514509 {
517512 const GValue *value;
518513
519514 ts_fail_unless (
520 gst_implements_interface_check (GST_MESSAGE_SRC (message),
521 FS_TYPE_CONFERENCE),
522 "Received farstream-error from non-farstream element");
515 FS_IS_CONFERENCE (GST_MESSAGE_SRC (message)),
516 "Received farstream-error from non-farstream element");
523517
524518 ts_fail_unless (
525519 gst_structure_has_field_typed (s, "stream", FS_TYPE_STREAM),
547541 const GValue *value;
548542
549543 ts_fail_unless (
550 gst_implements_interface_check (GST_MESSAGE_SRC (message),
551 FS_TYPE_CONFERENCE),
552 "Received farstream-error from non-farstream element");
544 FS_IS_CONFERENCE (GST_MESSAGE_SRC (message)),
545 "Received farstream-error from non-farstream element");
553546
554547 ts_fail_unless (
555548 gst_structure_has_field_typed (s, "stream", FS_TYPE_STREAM),
586579 const GValue *value;
587580
588581 ts_fail_unless (
589 gst_implements_interface_check (GST_MESSAGE_SRC (message),
590 FS_TYPE_CONFERENCE),
591 "Received farstream-current-send-codec-change from non-farstream"
592 " element");
582 FS_IS_CONFERENCE (GST_MESSAGE_SRC (message)),
583 "Received farstream-error from non-farstream element");
593584
594585 ts_fail_unless (
595586 gst_structure_has_field_typed (s, "session", FS_TYPE_SESSION),
618609 const GValue *value;
619610
620611 ts_fail_unless (
621 gst_implements_interface_check (GST_MESSAGE_SRC (message),
622 FS_TYPE_CONFERENCE),
623 "Received farstream-local-candidates-prepared from non-farstream"
624 " element");
612 FS_IS_CONFERENCE (GST_MESSAGE_SRC (message)),
613 "Received farstream-error from non-farstream element");
625614
626615 ts_fail_unless (
627616 gst_structure_has_field_typed (s, "stream", FS_TYPE_STREAM),
1004993
1005994 ts_fail_unless (codecs == NULL, "Shouldn't generate codecs codecs");
1006995
1007 codec = fs_codec_new (0, "audio/x-raw-int,"
1008 "endianness=(int)1234, signed=(bool)true, "
1009 "width=(int)16, depth=(int)16, "
1010 "rate=(int)44100", FS_MEDIA_TYPE_AUDIO, 0);
996 codec = fs_codec_new (0, "audio/x-raw,"
997 "format=(string)"GST_AUDIO_NE (S16)","
998 "rate=(int)44100, channels=(int)1", FS_MEDIA_TYPE_AUDIO, 0);
1011999 codecs = g_list_append (codecs, codec);
10121000
10131001 filtered_codecs = g_list_append (filtered_codecs, codecs->data);
13871375 }
13881376 GST_END_TEST;
13891377
1390 static void unref_session_on_src_pad_added (FsStream *stream,
1391 GstPad *pad, FsCodec *codec, struct SimpleTestStream *st)
1392 {
1393 TEST_LOCK ();
1394
1395 gst_element_set_locked_state (st->dat->fakesrc, TRUE);
1396 gst_element_set_state (st->dat->fakesrc, GST_STATE_NULL);
1397 gst_bin_remove (GST_BIN (st->dat->pipeline), st->dat->fakesrc);
1398
1399 ASSERT_CRITICAL (fs_session_destroy (st->dat->session));
1400 st->dat->destroyed = TRUE;
1401
1402 TEST_UNLOCK ();
1403
1404 g_main_loop_quit (loop);
1405 }
1406
1407 static void unref_session_init (struct SimpleTestStream *st, guint confid,
1408 guint streamid)
1409 {
1410 g_signal_connect (st->stream, "src-pad-added",
1411 G_CALLBACK (unref_session_on_src_pad_added), st);
1412 }
1413
1414 GST_START_TEST (test_rawconference_unref_session_in_pad_added)
1415 {
1416 nway_test (2, NULL, unref_session_init, "rawudp", 0, NULL);
1417 }
1418 GST_END_TEST;
1419
1420 static const gchar *signal_name;
1421
1422 static GstBusSyncReply
1423 unref_stream_sync_handler (GstBus *bus, GstMessage *message,
1424 gpointer data)
1425 {
1426 struct SimpleTestConference *dat = data;
1427 const GstStructure *s;
1428 FsStream *stream;
1429 const GValue *v;
1430 GList *item;
1431
1432 if (GST_MESSAGE_TYPE (message) != GST_MESSAGE_ELEMENT)
1433 return GST_BUS_PASS;
1434
1435 s = gst_message_get_structure (message);
1436
1437 if (!gst_structure_has_name (s, signal_name))
1438 return GST_BUS_PASS;
1439
1440 v = gst_structure_get_value (s, "stream");
1441 ts_fail_unless (G_VALUE_HOLDS (v, FS_TYPE_STREAM));
1442 stream = g_value_get_object (v);
1443
1444 TEST_LOCK ();
1445
1446 for (item = dat->streams; item; item = item->next)
1447 {
1448 struct SimpleTestStream *st = item->data;
1449 if (st->stream == stream)
1450 {
1451 fs_stream_destroy (stream);
1452 st->destroyed = TRUE;
1453 gst_message_unref (message);
1454 g_main_loop_quit (loop);
1455 TEST_UNLOCK ();
1456 return GST_BUS_DROP;
1457 }
1458 }
1459
1460 TEST_UNLOCK ();
1461
1462 gst_message_unref (message);
1463 return GST_BUS_DROP;
1464 }
1465
1466 static void unref_stream_init (struct SimpleTestConference *dat, guint confid)
1467 {
1468 GstBus *bus = gst_pipeline_get_bus (GST_PIPELINE (dat->pipeline));
1469
1470 gst_bus_set_sync_handler (bus, NULL, NULL);
1471 gst_bus_set_sync_handler (bus, unref_stream_sync_handler, dat);
1472 gst_object_unref (bus);
1473 }
1474
1475 GST_START_TEST (test_rawconference_unref_stream_in_nice_thread_prepared)
1476 {
1477 signal_name = "farstream-local-candidates-prepared";
1478 nway_test (2, unref_stream_init, NULL, "nice", 0, NULL);
1479 }
1480 GST_END_TEST;
1481
1482 GST_START_TEST (test_rawconference_unref_stream_in_nice_thread_new_active)
1483 {
1484 signal_name = "farstream-new-active-candidate-pair";
1485 nway_test (2, unref_stream_init, NULL, "nice", 0, NULL);
1486 }
1487 GST_END_TEST;
1488
1489 GST_START_TEST (test_rawconference_unref_stream_in_nice_thread_state_changed)
1490 {
1491 signal_name = "farstream-component-state-changed";
1492 nway_test (2, unref_stream_init, NULL, "nice", 0, NULL);
1493 }
1494 GST_END_TEST;
1495
14961378
14971379 static Suite *
14981380 fsrawconference_suite (void)
15101392
15111393 tc_chain = tcase_create ("fsrawconference_two_way_shm");
15121394 tcase_add_test (tc_chain, test_rawconference_two_way_shm);
1513 suite_add_tcase (s, tc_chain);
1395 //suite_add_tcase (s, tc_chain);
15141396
15151397 tc_chain = tcase_create ("fsrawconference_errors");
15161398 tcase_add_test (tc_chain, test_rawconference_errors);
15321414 tcase_add_test (tc_chain, test_rawconference_dispose);
15331415 suite_add_tcase (s, tc_chain);
15341416
1535 tc_chain = tcase_create ("fsrawconference_unref_session_in_pad_added");
1536 tcase_add_test (tc_chain, test_rawconference_unref_session_in_pad_added);
1537 suite_add_tcase (s, tc_chain);
1538
1539 tc_chain = tcase_create (
1540 "fsrawconference_unref_stream_in_nice_thread_prepared");
1541 tcase_add_test (tc_chain,
1542 test_rawconference_unref_stream_in_nice_thread_prepared);
1543 suite_add_tcase (s, tc_chain);
1544
1545 tc_chain = tcase_create (
1546 "fsrawconference_unref_stream_in_nice_thread_new_active");
1547 tcase_add_test (tc_chain,
1548 test_rawconference_unref_stream_in_nice_thread_new_active);
1549 suite_add_tcase (s, tc_chain);
1550
1551 tc_chain = tcase_create (
1552 "fsrawconference_unref_stream_in_nice_thread_state_changed");
1553 tcase_add_test (tc_chain,
1554 test_rawconference_unref_stream_in_nice_thread_state_changed);
1555 suite_add_tcase (s, tc_chain);
15561417 return s;
15571418 }
15581419
12711271
12721272 bus = gst_pipeline_get_bus (GST_PIPELINE ((*dat)->pipeline));
12731273 fail_if (bus == NULL);
1274 gst_bus_set_sync_handler (bus, NULL, NULL);
1275 gst_bus_set_sync_handler (bus, drop_all_sync_handler, *dat);
1274 gst_bus_set_sync_handler (bus, NULL, NULL, NULL);
1275 gst_bus_set_sync_handler (bus, drop_all_sync_handler, *dat, NULL);
12761276 gst_object_unref (bus);
12771277
12781278 }
22712271
22722272 bus = gst_pipeline_get_bus (GST_PIPELINE (dat->pipeline));
22732273 fail_if (bus == NULL);
2274 gst_bus_set_sync_handler (bus, NULL, NULL);
2275 gst_bus_set_sync_handler (bus, drop_all_sync_handler, dat);
2274 gst_bus_set_sync_handler (bus, NULL, NULL, NULL);
2275 gst_bus_set_sync_handler (bus, drop_all_sync_handler, dat, NULL);
22762276 gst_object_unref (bus);
22772277
22782278
2121 # include <config.h>
2222 #endif
2323
24 #include <stdio.h>
25
2426 #include <gst/check/gstcheck.h>
2527 #include <farstream/fs-conference.h>
2628 #include <farstream/fs-stream-transmitter.h>
247249 const gchar *error;
248250
249251 ts_fail_unless (
250 gst_implements_interface_check (GST_MESSAGE_SRC (message),
251 FS_TYPE_CONFERENCE),
252 "Received farstream-error from non-farstream element");
253
254 ts_fail_unless (
255252 gst_structure_has_field_typed (s, "src-object", G_TYPE_OBJECT),
256253 "farstream-error structure has no src-object field");
257254 ts_fail_unless (
274271 const GValue *value;
275272
276273 ts_fail_unless (
277 gst_implements_interface_check (GST_MESSAGE_SRC (message),
278 FS_TYPE_CONFERENCE),
279 "Received farstream-error from non-farstream element");
280
281 ts_fail_unless (
282274 gst_structure_has_field_typed (s, "stream", FS_TYPE_STREAM),
283275 "farstream-new-local-candidate structure has no stream field");
284276 ts_fail_unless (
302294 FsStream *stream;
303295 FsCandidate *local_candidate, *remote_candidate;
304296 const GValue *value;
305
306 ts_fail_unless (
307 gst_implements_interface_check (GST_MESSAGE_SRC (message),
308 FS_TYPE_CONFERENCE),
309 "Received farstream-error from non-farstream element");
310297
311298 ts_fail_unless (
312299 gst_structure_has_field_typed (s, "stream", FS_TYPE_STREAM),
343330 const GValue *value;
344331
345332 ts_fail_unless (
346 gst_implements_interface_check (GST_MESSAGE_SRC (message),
347 FS_TYPE_CONFERENCE),
348 "Received farstream-current-send-codec-change from non-farstream"
349 " element");
350
351 ts_fail_unless (
352333 gst_structure_has_field_typed (s, "session", FS_TYPE_SESSION),
353334 "farstream-current-send-codec-changed structure"
354335 " has no session field");
373354 {
374355 FsStream *stream;
375356 const GValue *value;
376
377 ts_fail_unless (
378 gst_implements_interface_check (GST_MESSAGE_SRC (message),
379 FS_TYPE_CONFERENCE),
380 "Received farstream-local-candidates-prepared from non-farstream"
381 " element");
382357
383358 ts_fail_unless (
384359 gst_structure_has_field_typed (s, "stream", FS_TYPE_STREAM),
14241399 }
14251400 GST_END_TEST;
14261401
1427 #if 0
1428
1429 static const gchar *signal_name;
1430
1431 static GstBusSyncReply
1432 unref_stream_sync_handler (GstBus *bus, GstMessage *message,
1433 gpointer data)
1434 {
1435 struct SimpleTestConference *dat = data;
1436 const GstStructure *s;
1437 FsStream *stream;
1438 const GValue *v;
1439 GList *item;
1440
1441 if (GST_MESSAGE_TYPE (message) != GST_MESSAGE_ELEMENT)
1442 return GST_BUS_PASS;
1443
1444 s = gst_message_get_structure (message);
1445
1446 if (!gst_structure_has_name (s, signal_name))
1447 return GST_BUS_PASS;
1448
1449 v = gst_structure_get_value (s, "stream");
1450 ts_fail_unless (G_VALUE_HOLDS (v, FS_TYPE_STREAM));
1451 stream = g_value_get_object (v);
1452
1453 TEST_LOCK ();
1454
1455 for (item = dat->streams; item; item = item->next)
1456 {
1457 struct SimpleTestStream *st = item->data;
1458 if (st->stream == stream)
1459 {
1460 ASSERT_CRITICAL (fs_stream_destroy (stream));
1461 gst_message_unref (message);
1462 g_main_loop_quit (loop);
1463 TEST_UNLOCK ();
1464 return GST_BUS_DROP;
1465 }
1466 }
1467
1468 TEST_UNLOCK ();
1469
1470 gst_message_unref (message);
1471 return GST_BUS_DROP;
1472 }
1473
1474 static void unref_stream_init (struct SimpleTestConference *dat, guint confid)
1475 {
1476 GstBus *bus = gst_pipeline_get_bus (GST_PIPELINE (dat->pipeline));
1477
1478 gst_bus_set_sync_handler (bus, NULL, NULL);
1479 gst_bus_set_sync_handler (bus, unref_stream_sync_handler, dat);
1480 gst_object_unref (bus);
1481 }
1482
1483 GST_START_TEST (test_rtpconference_unref_stream_in_nice_thread_prepared)
1484 {
1485 signal_name = "farstream-local-candidates-prepared";
1486 nway_test (2, unref_stream_init, NULL, "nice", 0, NULL);
1487 }
1488 GST_END_TEST;
1489
1490 GST_START_TEST (test_rtpconference_unref_stream_in_nice_thread_new_active)
1491 {
1492 signal_name = "farstream-new-active-candidate-pair";
1493 nway_test (2, unref_stream_init, NULL, "nice", 0, NULL);
1494 }
1495 GST_END_TEST;
1496
1497 GST_START_TEST (test_rtpconference_unref_stream_in_nice_thread_state_changed)
1498 {
1499 signal_name = "farstream-component-state-changed";
1500 nway_test (2, unref_stream_init, NULL, "nice", 0, NULL);
1501 }
1502 GST_END_TEST;
1503
1504 #endif
15051402
15061403 static Suite *
15071404 fsrtpconference_suite (void)
15861483 tcase_add_test (tc_chain, test_rtpconference_unref_session_in_pad_added);
15871484 suite_add_tcase (s, tc_chain);
15881485
1589 #if 0
1590
1591 tc_chain = tcase_create (
1592 "fsrtpconference_unref_stream_in_nice_thread_prepared");
1593 tcase_add_test (tc_chain,
1594 test_rtpconference_unref_stream_in_nice_thread_prepared);
1595 suite_add_tcase (s, tc_chain);
1596
1597 tc_chain = tcase_create (
1598 "fsrtpconference_unref_stream_in_nice_thread_new_active");
1599 tcase_add_test (tc_chain,
1600 test_rtpconference_unref_stream_in_nice_thread_new_active);
1601 suite_add_tcase (s, tc_chain);
1602
1603 tc_chain = tcase_create (
1604 "fsrtpconference_unref_stream_in_nice_thread_state_changed");
1605 tcase_add_test (tc_chain,
1606 test_rtpconference_unref_stream_in_nice_thread_state_changed);
1607 suite_add_tcase (s, tc_chain);
1608
1609 #endif
16101486
16111487 return s;
16121488 }
6464
6565 bus = gst_pipeline_get_bus (GST_PIPELINE (dat->pipeline));
6666 fail_if (bus == NULL);
67 gst_bus_set_sync_handler (bus, default_sync_handler, dat);
67 gst_bus_set_sync_handler (bus, default_sync_handler, dat, NULL);
6868 gst_object_unref (bus);
6969
7070 dat->conference = gst_element_factory_make (conference_elem, NULL);
210210 }
211211
212212 static gboolean
213 pad_count_fold (gpointer pad, GValue *val, gpointer user_data)
213 pad_count_fold (const GValue *item, GValue *val, gpointer user_data)
214214 {
215215 g_value_set_uint (val, g_value_get_uint (val) + 1);
216
217 gst_object_unref (pad);
218216
219217 return TRUE;
220218 }
124124 fs_codec_list_destroy (codecs);
125125 }
126126
127 static gboolean
128 drop_theora_config (GstPad *pad, GstBuffer *buffer, gpointer user_data)
129 {
130 guint8 *payload = gst_rtp_buffer_get_payload (buffer);
127 static GstPadProbeReturn
128 drop_theora_config (GstPad *pad, GstPadProbeInfo *info, gpointer user_data)
129 {
130 GstBuffer *buffer = GST_PAD_PROBE_INFO_BUFFER (info);
131 GstRTPBuffer rtpbuffer = GST_RTP_BUFFER_INIT;
132 guint8 *payload;
131133 guint32 header;
132134 guchar TDT;
135
136 gst_rtp_buffer_map (buffer, GST_MAP_READ, &rtpbuffer);
137
138 payload = gst_rtp_buffer_get_payload (&rtpbuffer);
133139
134140 header = GST_READ_UINT32_BE (payload);
135141 /*
145151 */
146152 TDT = (header & 0x30) >> 4;
147153
154 gst_rtp_buffer_unmap (&rtpbuffer);
155
148156 if (TDT == 1)
149 return FALSE;
157 return GST_PAD_PROBE_DROP;
150158 else
151 return TRUE;
159 return GST_PAD_PROBE_OK;
152160 }
153161
154162 GST_START_TEST (test_rtprecv_inband_config_data)
247255
248256 pipeline = gst_parse_launch (
249257 "videotestsrc is-live=1 name=src num-buffers="G_STRINGIFY (BUFFER_COUNT) " !"
250 " video/x-raw-yuv, framerate=(fraction)30/1 ! theoraenc !"
258 " video/x-raw, framerate=(fraction)30/1 ! theoraenc !"
251259 " rtptheorapay name=pay config-interval=0 name=pay !"
252260 " application/x-rtp, payload=96, ssrc=(uint)12345678 !"
253261 " udpsink host=127.0.0.1 name=sink", NULL);
299307 ts_fail_unless (pay != NULL);
300308 pad = gst_element_get_static_pad (pay, "src");
301309 ts_fail_unless (pad != NULL);
302 gst_pad_add_buffer_probe (pad, G_CALLBACK (drop_theora_config), NULL);
310 gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_BUFFER,
311 drop_theora_config, NULL, NULL);
303312 g_signal_connect (pad, "notify::caps", G_CALLBACK (caps_changed), stream);
304313 caps_changed (pad, NULL, stream);
305314 gst_object_unref (pad);
6969 {
7070 const GstStructure *s = gst_message_get_structure (message);
7171
72 if (gst_implements_interface_check (GST_MESSAGE_SRC (message),
73 FS_TYPE_CONFERENCE) &&
74 gst_structure_has_name (s, "farstream-error"))
72 if (gst_structure_has_name (s, "farstream-error"))
7573 {
7674 const GValue *value;
7775 FsError errorno;
8078 GEnumValue *enumvalue = NULL;
8179
8280 ts_fail_unless (
83 gst_implements_interface_check (GST_MESSAGE_SRC (message),
84 FS_TYPE_CONFERENCE),
85 "Received farstream-error from non-farstream element");
81 FS_IS_CONFERENCE (GST_MESSAGE_SRC (message)),
82 "Received farstream-error from non-farstream element");
8683
8784 ts_fail_unless (
8885 gst_structure_has_field_typed (s, "src-object", G_TYPE_OBJECT),
126123 FsCodec *codec = item->data;
127124
128125 if (codec->clock_rate == 8000 &&
129 !g_strcasecmp ("telephone-event", codec->encoding_name))
126 !g_ascii_strcasecmp ("telephone-event", codec->encoding_name))
130127 {
131128 ts_fail_unless (codec->id == dtmf_id);
132129 ready_to_send = TRUE;
175172 }
176173
177174 static GstElement *
178 build_recv_pipeline (GCallback havedata_handler, gpointer data, gint *port)
175 build_recv_pipeline (GstPadProbeCallback buffer_handler, gpointer data,
176 gint *port)
179177 {
180178 GstElement *pipeline;
181179 GstElement *src;
199197
200198 pad = gst_element_get_static_pad (sink, "sink");
201199
202 gst_pad_add_buffer_probe (pad, havedata_handler, data);
200 gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_BUFFER, buffer_handler, data,
201 NULL);
203202
204203 gst_object_ref (pad);
205204
331330 }
332331
333332
334 static void
335 send_dmtf_havedata_handler (GstPad *pad, GstBuffer *buf, gpointer user_data)
336 {
333 static GstPadProbeReturn
334 send_dmtf_buffer_handler (GstPad *pad, GstPadProbeInfo *info,
335 gpointer user_data)
336 {
337 GstRTPBuffer rtpbuf = GST_RTP_BUFFER_INIT;
338 GstBuffer *buf = GST_PAD_PROBE_INFO_BUFFER (info);
337339 gchar *data;
338340
339 ts_fail_unless (gst_rtp_buffer_validate (buf), "Buffer is not valid rtp");
340
341 if (gst_rtp_buffer_get_payload_type (buf) != dtmf_id)
342 return;
343
344 data = gst_rtp_buffer_get_payload (buf);
345
341 ts_fail_unless (gst_rtp_buffer_map (buf, GST_MAP_READ, &rtpbuf),
342 "Buffer is not valid rtp");
343 if (gst_rtp_buffer_get_payload_type (&rtpbuf) != dtmf_id)
344 goto out;
345
346 data = gst_rtp_buffer_get_payload (&rtpbuf);
347
348 /* Check if still on previous digit */
346349 if (data[0] < digit)
347 {
348 /* Still on previous digit */
349 return;
350 }
350 goto out;
351351
352352 GST_LOG ("Got digit %d", data[0]);
353353
355355 " (sending %d, should be %d", data[0], digit);
356356
357357 received = TRUE;
358
359 out:
360 gst_rtp_buffer_unmap (&rtpbuf);
361 return GST_PAD_PROBE_OK;
358362 }
359363
360364
422426 {
423427 gint port;
424428 GstElement *recv_pipeline = build_recv_pipeline (
425 G_CALLBACK (send_dmtf_havedata_handler), NULL, &port);
429 send_dmtf_buffer_handler, NULL, &port);
426430
427431 g_timeout_add (350, start_stop_sending_dtmf, NULL);
428432 one_way (recv_pipeline, port);
500504 {
501505 gint port;
502506 GstElement *recv_pipeline = build_recv_pipeline (
503 G_CALLBACK (send_dmtf_havedata_handler), NULL, &port);
507 send_dmtf_buffer_handler, NULL, &port);
504508
505509 change_codec = TRUE;
506510 g_timeout_add (350, start_stop_sending_dtmf, NULL);
510514
511515 gboolean checked = FALSE;
512516
513 static void
514 change_ssrc_handler (GstPad *pad, GstBuffer *buf, gpointer user_data)
515 {
517 static GstPadProbeReturn
518 change_ssrc_buffer_handler (GstPad *pad, GstPadProbeInfo *info,
519 gpointer user_data)
520 {
521 GstBuffer *buf = GST_PAD_PROBE_INFO_BUFFER (info);
516522 guint sess_ssrc;
517523 guint buf_ssrc;
518
519 ts_fail_unless (gst_rtp_buffer_validate (buf));
520
521 buf_ssrc = gst_rtp_buffer_get_ssrc (buf);
524 GstRTPBuffer rtpbuf = GST_RTP_BUFFER_INIT;
525
526 ts_fail_unless (gst_rtp_buffer_map (buf, GST_MAP_READ, &rtpbuf));
527 buf_ssrc = gst_rtp_buffer_get_ssrc (&rtpbuf);
528 gst_rtp_buffer_unmap (&rtpbuf);
522529
523530 g_object_get (dat->session, "ssrc", &sess_ssrc, NULL);
524531
545552 if (sess_ssrc != 12345)
546553 g_object_set (dat->session, "ssrc", 12345, NULL);
547554 }
555
556 return GST_PAD_PROBE_OK;
548557 }
549558
550559 GST_START_TEST (test_change_ssrc)
551560 {
552561 gint port;
553562 GstElement *recv_pipeline = build_recv_pipeline (
554 G_CALLBACK (change_ssrc_handler), NULL, &port);
563 change_ssrc_buffer_handler, NULL, &port);
555564
556565 checked = FALSE;
557566 one_way (recv_pipeline, port);
5050 if ((ifa->ifa_flags & IFF_MULTICAST) == 0)
5151 continue;
5252
53 if ((ifa->ifa_flags & IFF_RUNNING) == 0)
54 continue;
55
5356 if (ifa->ifa_addr == NULL || ifa->ifa_addr->sa_family != AF_INET)
5457 continue;
5558
00 /*
11 * Farstream Voice+Video library
22 *
3 * Copyright 2008 Collabora Ltd,
3 * Copyright 2008-2012 Collabora Ltd,
44 * Copyright 2008 Nokia Corporation
55 * @author: Olivier Crete <olivier.crete@collabora.co.uk>
66 *
3131 GST_DEBUG_CATEGORY (fake_filter_debug);
3232 #define GST_CAT_DEFAULT (fake_filter_debug)
3333
34 /* elementfactory information */
35 static const GstElementDetails fs_fake_filter_details =
36 GST_ELEMENT_DETAILS (
37 "Fake Filter element",
38 "Filter",
39 "This element ignores the sending property",
40 "Olivier Crete <olivier.crete@collabora.co.uk>");
41
4234
4335 static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
4436 GST_PAD_SINK,
5042 GST_PAD_ALWAYS,
5143 GST_STATIC_CAPS_ANY);
5244
53 /* signals and args */
54 enum
55 {
56 /* FILL ME */
57 LAST_SIGNAL
58 };
59
60 enum
61 {
62 PROP_0,
63 PROP_SENDING
64 };
65
6645 static void fs_fake_filter_get_property (GObject *object,
6746 guint prop_id,
6847 GValue *value,
7251 const GValue *value,
7352 GParamSpec *pspec);
7453
75 static void
76 _do_init (GType type)
54 /* signals and args */
55
56 enum
7757 {
78 GST_DEBUG_CATEGORY_INIT
79 (fake_filter_debug, "fsfakefilter", 0, "fsfakefilter");
80 }
58 PROP_0,
59 PROP_SENDING
60 };
8161
82 GST_BOILERPLATE_FULL (FsFakeFilter, fs_fake_filter, GstBaseTransform,
83 GST_TYPE_BASE_TRANSFORM, _do_init);
62 G_DEFINE_TYPE (FsFakeFilter, fs_fake_filter, GST_TYPE_BASE_TRANSFORM);
8463
85 static void
86 fs_fake_filter_base_init (gpointer klass)
87 {
88 GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
89
90 gst_element_class_add_pad_template (element_class,
91 gst_static_pad_template_get (&srctemplate));
92 gst_element_class_add_pad_template (element_class,
93 gst_static_pad_template_get (&sinktemplate));
94
95 gst_element_class_set_details (element_class, &fs_fake_filter_details);
96 }
9764
9865 static void
9966 fs_fake_filter_class_init (FsFakeFilterClass *klass)
10067 {
10168 GObjectClass *gobject_class;
69 GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
10270
10371 gobject_class = (GObjectClass *) klass;
10472
105 gobject_class->set_property = GST_DEBUG_FUNCPTR (fs_fake_filter_set_property);
106 gobject_class->get_property = GST_DEBUG_FUNCPTR (fs_fake_filter_get_property);
73 GST_DEBUG_CATEGORY_INIT
74 (fake_filter_debug, "fsfakefilter", 0, "fsfakefilter");
75
76 gobject_class->set_property = fs_fake_filter_set_property;
77 gobject_class->get_property = fs_fake_filter_get_property;
78
79 gst_element_class_add_pad_template (gstelement_class,
80 gst_static_pad_template_get (&srctemplate));
81 gst_element_class_add_pad_template (gstelement_class,
82 gst_static_pad_template_get (&sinktemplate));
83
84 gst_element_class_set_metadata (gstelement_class,
85 "Fake Filter element",
86 "Filter",
87 "This element ignores the sending property",
88 "Olivier Crete <olivier.crete@collabora.com>");
10789
10890 g_object_class_install_property (gobject_class,
10991 PROP_SENDING,
11597 }
11698
11799 static void
118 fs_fake_filter_init (FsFakeFilter *fakefilter,
119 FsFakeFilterClass *klass)
100 fs_fake_filter_init (FsFakeFilter *fakefilter)
120101 {
121102 }
122103
5555 gchar *padname;
5656 gchar *tmp;
5757
58 tmp = g_strdup_printf ("fakemediasrc_%d", component_id);
58 tmp = g_strdup_printf ("fakemediasrc_%u", component_id);
5959 src = gst_element_factory_make ("fakesrc", tmp);
6060 g_free (tmp);
6161 g_object_set (src,
7777
7878 g_object_get (trans, "gst-sink", &trans_sink, NULL);
7979
80 padname = g_strdup_printf ("sink%d", component_id);
80 padname = g_strdup_printf ("sink_%u", component_id);
8181 ts_fail_unless (gst_element_link_pads (src, "src", trans_sink, padname),
8282 "Could not link the fakesrc to %s", padname);
8383 g_free (padname);
124124 gst_bin_add_many (GST_BIN (pipeline), rtpfakesink, rtcpfakesink,
125125 trans_sink, trans_src, NULL);
126126
127 ts_fail_unless (gst_element_link_pads (trans_src, "src1",
127 ts_fail_unless (gst_element_link_pads (trans_src, "src_1",
128128 rtpfakesink, "sink"),
129129 "Coult not link transmitter src and fakesink");
130 ts_fail_unless (gst_element_link_pads (trans_src, "src2",
130 ts_fail_unless (gst_element_link_pads (trans_src, "src_2",
131131 rtcpfakesink, "sink"),
132132 "Coult not link transmitter src and fakesink");
133133
5656 {
5757 gint component_id = GPOINTER_TO_INT (user_data);
5858
59 ts_fail_unless (GST_BUFFER_SIZE (buffer) == component_id * 10,
60 "Buffer is size %d but component_id is %d", GST_BUFFER_SIZE (buffer),
59 ts_fail_unless (gst_buffer_get_size (buffer) == component_id * 10,
60 "Buffer is size %d but component_id is %d", gst_buffer_get_size (buffer),
6161 component_id);
6262
6363 buffer_count[component_id-1]++;
6464
6565 /*
6666 GST_DEBUG ("Buffer %d component: %d size: %u", buffer_count[component_id-1],
67 component_id, GST_BUFFER_SIZE (buffer));
67 component_id, gst_buffer_get_size (buffer));
6868 */
6969
7070 ts_fail_if (buffer_count[component_id-1] > 20,
195195 _handoff_handler (GstElement *element, GstBuffer *buffer, GstPad *pad,
196196 guint stream, gint component_id)
197197 {
198 ts_fail_unless (GST_BUFFER_SIZE (buffer) == component_id * 10,
199 "Buffer is size %d but component_id is %d", GST_BUFFER_SIZE (buffer),
198 ts_fail_unless (gst_buffer_get_size (buffer) == component_id * 10,
199 "Buffer is size %d but component_id is %d", gst_buffer_get_size (buffer),
200200 component_id);
201201
202202 g_static_mutex_lock (&count_mutex);
208208 {
209209 GST_DEBUG ("Buffer %d stream: %u component: %d size: %u",
210210 buffer_count[stream][component_id-1], stream,
211 component_id, GST_BUFFER_SIZE (buffer));
211 component_id, gst_buffer_get_size (buffer));
212212 GST_DEBUG ("Received %d %d %d %d",
213213 buffer_count[0][0], buffer_count[0][1],
214214 buffer_count[1][0], buffer_count[1][1]);
7272 gboolean found_it = FALSE;
7373
7474 transmitters = fs_transmitter_list_available ();
75 for (i=0; transmitters[i]; i++)
75 for (i=0; transmitters != NULL && transmitters[i]; i++)
7676 {
7777 if (!strcmp ("rawudp", transmitters[i]))
7878 {
199199 {
200200 gint component_id = GPOINTER_TO_INT (user_data);
201201
202 ts_fail_unless (GST_BUFFER_SIZE (buffer) == component_id * 10,
203 "Buffer is size %d but component_id is %d", GST_BUFFER_SIZE (buffer),
202 ts_fail_unless (gst_buffer_get_size (buffer) == component_id * 10,
203 "Buffer is size %d but component_id is %d", gst_buffer_get_size (buffer),
204204 component_id);
205205
206206 buffer_count[component_id-1]++;
207207
208208 GST_LOG ("Buffer %d component: %d size: %u", buffer_count[component_id-1],
209 component_id, GST_BUFFER_SIZE (buffer));
209 component_id, gst_buffer_get_size (buffer));
210210
211211 ts_fail_if (buffer_count[component_id-1] > 20,
212212 "Too many buffers %d > 20 for component",
4242 guint received_known[2] = {0, 0};
4343 gboolean associate_on_source = TRUE;
4444
45 GMutex *mutex;
45 GMutex *test_mutex;
4646 GCond *cond;
4747 gboolean done = FALSE;
4848 guint connected_count;
118118 _state_changed (FsStreamTransmitter *st, guint component_id,
119119 FsStreamState state, gpointer user_data)
120120 {
121 g_mutex_lock (mutex);
121 g_mutex_lock (test_mutex);
122122 connected_count++;
123 g_mutex_unlock (mutex);
123 g_mutex_unlock (test_mutex);
124124 g_cond_signal (cond);
125125 }
126126
130130 {
131131 gint component_id = GPOINTER_TO_INT (user_data);
132132
133 ts_fail_unless (GST_BUFFER_SIZE (buffer) == component_id * 10,
134 "Buffer is size %d but component_id is %d", GST_BUFFER_SIZE (buffer),
133 ts_fail_unless (gst_buffer_get_size (buffer) == component_id * 10,
134 "Buffer is size %d but component_id is %d", gst_buffer_get_size (buffer),
135135 component_id);
136136
137137 buffer_count[component_id-1]++;
138138
139139 GST_LOG ("Buffer %d component: %d size: %u", buffer_count[component_id-1],
140 component_id, GST_BUFFER_SIZE (buffer));
140 component_id, gst_buffer_get_size (buffer));
141141
142142 ts_fail_if (buffer_count[component_id-1] > 20,
143143 "Too many buffers %d > 20 for component",
156156 ts_fail_unless (received_known[0] == 0 && received_known[1] == 0,
157157 "Got a known-source-packet-received signal when we shouldn't have");
158158
159 g_mutex_lock (mutex);
159 g_mutex_lock (test_mutex);
160160 done = TRUE;
161 g_mutex_unlock (mutex);
161 g_mutex_unlock (test_mutex);
162162 g_cond_signal (cond);
163163 }
164164 }
179179 received_known[component_id - 1]++;
180180
181181 GST_LOG ("Known source buffer %d component: %d size: %u",
182 received_known[component_id-1], component_id, GST_BUFFER_SIZE (buffer));
182 received_known[component_id-1], component_id,
183 gst_buffer_get_size (buffer));
183184 }
184185
185186 void
218219 done = FALSE;
219220 connected_count = 0;
220221 cond = g_cond_new ();
221 mutex = g_mutex_new ();
222 test_mutex = g_mutex_new ();
222223
223224 buffer_count[0] = 0;
224225 buffer_count[1] = 0;
366367 ts_fail_unless (ret == TRUE, "No detailed error from add_remote_candidate");
367368 g_clear_error (&error);
368369
369 g_mutex_lock (mutex);
370 g_mutex_lock (test_mutex);
370371 while (connected_count < 2)
371 g_cond_wait (cond, mutex);
372 g_mutex_unlock (mutex);
372 g_cond_wait (cond, test_mutex);
373 g_mutex_unlock (test_mutex);
373374
374375 setup_fakesrc (trans, pipeline, 1);
375376 setup_fakesrc (trans, pipeline, 2);
376377
377 g_mutex_lock (mutex);
378 g_mutex_lock (test_mutex);
378379 while (!done)
379 g_cond_wait (cond, mutex);
380 g_mutex_unlock (mutex);
380 g_cond_wait (cond, test_mutex);
381 g_mutex_unlock (test_mutex);
381382
382383 fail_unless (got_prepared[0] == TRUE);
383384 fail_unless (got_prepared[1] == TRUE);
397398 gst_object_unref (pipeline);
398399
399400 g_cond_free (cond);
400 g_mutex_free (mutex);
401 g_mutex_free (test_mutex);
401402 }
402403
403404 GST_START_TEST (test_shmtransmitter_run_basic)
1111 $(CFLAGS)
1212
1313 LDADD = \
14 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
14 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
1515 $(top_builddir)/gst/fsrtpconference/libfsrtpconference-convenience.la \
1616 $(GST_CHECK_LIBS) \
1717 $(GST_PLUGINS_BASE_LIBS) \
1818 $(GST_LIBS) \
19 -lgstrtp-@GST_MAJORMINOR@
19 -lgstrtp-@GST_API_VERSION@
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3333 POST_UNINSTALL = :
3434 build_triplet = @build@
3535 host_triplet = @host@
36 target_triplet = @target@
3637 noinst_PROGRAMS = codec-discovery$(EXEEXT)
3738 subdir = tests/rtp
3839 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
4142 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4243 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4344 $(top_srcdir)/common/m4/as-libtool.m4 \
45 $(top_srcdir)/common/m4/as-python.m4 \
4446 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4547 $(top_srcdir)/common/m4/as-version.m4 \
4648 $(top_srcdir)/common/m4/gst-arch.m4 \
5355 $(top_srcdir)/common/m4/gst.m4 \
5456 $(top_srcdir)/common/m4/gtk-doc.m4 \
5557 $(top_srcdir)/common/m4/pkg.m4 \
56 $(top_srcdir)/m4/as-check-python-headers.m4 \
5758 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
5859 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
5960 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
7172 codec_discovery_LDADD = $(LDADD)
7273 am__DEPENDENCIES_1 =
7374 codec_discovery_DEPENDENCIES = \
74 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
75 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
7576 $(top_builddir)/gst/fsrtpconference/libfsrtpconference-convenience.la \
7677 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
7778 $(am__DEPENDENCIES_1)
78 AM_V_lt = $(am__v_lt_$(V))
79 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
79 AM_V_lt = $(am__v_lt_@AM_V@)
80 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
8081 am__v_lt_0 = --silent
8182 codec_discovery_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
8283 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
9293 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
9394 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
9495 $(AM_CFLAGS) $(CFLAGS)
95 AM_V_CC = $(am__v_CC_$(V))
96 am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
96 AM_V_CC = $(am__v_CC_@AM_V@)
97 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
9798 am__v_CC_0 = @echo " CC " $@;
98 AM_V_at = $(am__v_at_$(V))
99 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
99 AM_V_at = $(am__v_at_@AM_V@)
100 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
100101 am__v_at_0 = @
101102 CCLD = $(CC)
102103 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
103104 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
104105 $(AM_LDFLAGS) $(LDFLAGS) -o $@
105 AM_V_CCLD = $(am__v_CCLD_$(V))
106 am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
106 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
107 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
107108 am__v_CCLD_0 = @echo " CCLD " $@;
108 AM_V_GEN = $(am__v_GEN_$(V))
109 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
109 AM_V_GEN = $(am__v_GEN_@AM_V@)
110 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
110111 am__v_GEN_0 = @echo " GEN " $@;
111112 SOURCES = $(codec_discovery_SOURCES)
112113 DIST_SOURCES = $(codec_discovery_SOURCES)
118119 AMTAR = @AMTAR@
119120 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
120121 AR = @AR@
122 AS = @AS@
121123 AUTOCONF = @AUTOCONF@
122124 AUTOHEADER = @AUTOHEADER@
123125 AUTOMAKE = @AUTOMAKE@
145147 FGREP = @FGREP@
146148 FS_AGE = @FS_AGE@
147149 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
150 FS_APIVERSION = @FS_APIVERSION@
151 FS_API_VERSION = @FS_API_VERSION@
148152 FS_CFLAGS = @FS_CFLAGS@
149153 FS_CURRENT = @FS_CURRENT@
150154 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
153157 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
154158 FS_LICENSE = @FS_LICENSE@
155159 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
156 FS_MAJORMINOR = @FS_MAJORMINOR@
157 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
158160 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
159161 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
160162 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
167169 GCOV = @GCOV@
168170 GCOV_CFLAGS = @GCOV_CFLAGS@
169171 GCOV_LIBS = @GCOV_LIBS@
172 GIO_CFLAGS = @GIO_CFLAGS@
173 GIO_LDFLAGS = @GIO_LDFLAGS@
174 GIO_LIBS = @GIO_LIBS@
170175 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
171176 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
172177 GLIB_CFLAGS = @GLIB_CFLAGS@
176181 GLIB_REQ = @GLIB_REQ@
177182 GREP = @GREP@
178183 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
184 GST_API_VERSION = @GST_API_VERSION@
179185 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
180186 GST_BASE_LIBS = @GST_BASE_LIBS@
181187 GST_CFLAGS = @GST_CFLAGS@
184190 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
185191 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
186192 GST_LIBS = @GST_LIBS@
187 GST_MAJORMINOR = @GST_MAJORMINOR@
188193 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
189194 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
190195 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
194199 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
195200 GST_TOOLS_DIR = @GST_TOOLS_DIR@
196201 GTKDOC_CHECK = @GTKDOC_CHECK@
202 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
203 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
204 GTKDOC_MKPDF = @GTKDOC_MKPDF@
205 GTKDOC_REBASE = @GTKDOC_REBASE@
197206 GUPNP_CFLAGS = @GUPNP_CFLAGS@
198207 GUPNP_LIBS = @GUPNP_LIBS@
199208 HTML_DIR = @HTML_DIR@
245254 PKG_CONFIG = @PKG_CONFIG@
246255 PLUGINDIR = @PLUGINDIR@
247256 PROFILE_CFLAGS = @PROFILE_CFLAGS@
248 PYCODEGEN = @PYCODEGEN@
249 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
250 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
251 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
252 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
253257 PYTHON = @PYTHON@
254258 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
255 PYTHON_INCLUDES = @PYTHON_INCLUDES@
256259 PYTHON_PLATFORM = @PYTHON_PLATFORM@
257260 PYTHON_PREFIX = @PYTHON_PREFIX@
258261 PYTHON_VERSION = @PYTHON_VERSION@
319322 sharedstatedir = @sharedstatedir@
320323 srcdir = @srcdir@
321324 sysconfdir = @sysconfdir@
325 target = @target@
322326 target_alias = @target_alias@
327 target_cpu = @target_cpu@
328 target_os = @target_os@
329 target_vendor = @target_vendor@
323330 top_build_prefix = @top_build_prefix@
324331 top_builddir = @top_builddir@
325332 top_srcdir = @top_srcdir@
334341 $(CFLAGS)
335342
336343 LDADD = \
337 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
344 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
338345 $(top_builddir)/gst/fsrtpconference/libfsrtpconference-convenience.la \
339346 $(GST_CHECK_LIBS) \
340347 $(GST_PLUGINS_BASE_LIBS) \
341348 $(GST_LIBS) \
342 -lgstrtp-@GST_MAJORMINOR@
349 -lgstrtp-@GST_API_VERSION@
343350
344351 all: all-am
345352
384391 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
385392 echo " rm -f" $$list; \
386393 rm -f $$list
387 codec-discovery$(EXEEXT): $(codec_discovery_OBJECTS) $(codec_discovery_DEPENDENCIES)
394 codec-discovery$(EXEEXT): $(codec_discovery_OBJECTS) $(codec_discovery_DEPENDENCIES) $(EXTRA_codec_discovery_DEPENDENCIES)
388395 @rm -f codec-discovery$(EXEEXT)
389396 $(AM_V_CCLD)$(codec_discovery_LINK) $(codec_discovery_OBJECTS) $(codec_discovery_LDADD) $(LIBS)
390397
399406 .c.o:
400407 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
401408 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
402 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
403 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
409 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
404410 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
405 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
411 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
406412
407413 .c.obj:
408414 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
409415 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
410 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
411 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
416 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
412417 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
413 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
418 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
414419
415420 .c.lo:
416421 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
417422 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
418 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
419 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
423 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
420424 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
421 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
425 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
422426
423427 codec_discovery-codec-discovery.o: codec-discovery.c
424428 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(codec_discovery_CFLAGS) $(CFLAGS) -MT codec_discovery-codec-discovery.o -MD -MP -MF $(DEPDIR)/codec_discovery-codec-discovery.Tpo -c -o codec_discovery-codec-discovery.o `test -f 'codec-discovery.c' || echo '$(srcdir)/'`codec-discovery.c
425429 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/codec_discovery-codec-discovery.Tpo $(DEPDIR)/codec_discovery-codec-discovery.Po
426 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
427 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='codec-discovery.c' object='codec_discovery-codec-discovery.o' libtool=no @AMDEPBACKSLASH@
430 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='codec-discovery.c' object='codec_discovery-codec-discovery.o' libtool=no @AMDEPBACKSLASH@
428431 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
429 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(codec_discovery_CFLAGS) $(CFLAGS) -c -o codec_discovery-codec-discovery.o `test -f 'codec-discovery.c' || echo '$(srcdir)/'`codec-discovery.c
432 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(codec_discovery_CFLAGS) $(CFLAGS) -c -o codec_discovery-codec-discovery.o `test -f 'codec-discovery.c' || echo '$(srcdir)/'`codec-discovery.c
430433
431434 codec_discovery-codec-discovery.obj: codec-discovery.c
432435 @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(codec_discovery_CFLAGS) $(CFLAGS) -MT codec_discovery-codec-discovery.obj -MD -MP -MF $(DEPDIR)/codec_discovery-codec-discovery.Tpo -c -o codec_discovery-codec-discovery.obj `if test -f 'codec-discovery.c'; then $(CYGPATH_W) 'codec-discovery.c'; else $(CYGPATH_W) '$(srcdir)/codec-discovery.c'; fi`
433436 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/codec_discovery-codec-discovery.Tpo $(DEPDIR)/codec_discovery-codec-discovery.Po
434 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
435 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='codec-discovery.c' object='codec_discovery-codec-discovery.obj' libtool=no @AMDEPBACKSLASH@
437 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='codec-discovery.c' object='codec_discovery-codec-discovery.obj' libtool=no @AMDEPBACKSLASH@
436438 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
437 @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(codec_discovery_CFLAGS) $(CFLAGS) -c -o codec_discovery-codec-discovery.obj `if test -f 'codec-discovery.c'; then $(CYGPATH_W) 'codec-discovery.c'; else $(CYGPATH_W) '$(srcdir)/codec-discovery.c'; fi`
439 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(codec_discovery_CFLAGS) $(CFLAGS) -c -o codec_discovery-codec-discovery.obj `if test -f 'codec-discovery.c'; then $(CYGPATH_W) 'codec-discovery.c'; else $(CYGPATH_W) '$(srcdir)/codec-discovery.c'; fi`
438440
439441 mostlyclean-libtool:
440442 -rm -f *.lo
538540
539541 installcheck: installcheck-am
540542 install-strip:
541 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
542 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
543 `test -z '$(STRIP)' || \
544 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
543 if test -z '$(STRIP)'; then \
544 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
545 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
546 install; \
547 else \
548 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
549 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
550 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
551 fi
545552 mostlyclean-generic:
546553
547554 clean-generic:
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3232 POST_UNINSTALL = :
3333 build_triplet = @build@
3434 host_triplet = @host@
35 target_triplet = @target@
3536 subdir = transmitters
3637 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
3738 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
3940 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4041 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4142 $(top_srcdir)/common/m4/as-libtool.m4 \
43 $(top_srcdir)/common/m4/as-python.m4 \
4244 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4345 $(top_srcdir)/common/m4/as-version.m4 \
4446 $(top_srcdir)/common/m4/gst-arch.m4 \
5153 $(top_srcdir)/common/m4/gst.m4 \
5254 $(top_srcdir)/common/m4/gtk-doc.m4 \
5355 $(top_srcdir)/common/m4/pkg.m4 \
54 $(top_srcdir)/m4/as-check-python-headers.m4 \
5556 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
5657 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
5758 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
6263 CONFIG_HEADER = $(top_builddir)/config.h
6364 CONFIG_CLEAN_FILES =
6465 CONFIG_CLEAN_VPATH_FILES =
65 AM_V_GEN = $(am__v_GEN_$(V))
66 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
66 AM_V_GEN = $(am__v_GEN_@AM_V@)
67 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
6768 am__v_GEN_0 = @echo " GEN " $@;
68 AM_V_at = $(am__v_at_$(V))
69 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
69 AM_V_at = $(am__v_at_@AM_V@)
70 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
7071 am__v_at_0 = @
7172 SOURCES =
7273 DIST_SOURCES =
115116 AMTAR = @AMTAR@
116117 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
117118 AR = @AR@
119 AS = @AS@
118120 AUTOCONF = @AUTOCONF@
119121 AUTOHEADER = @AUTOHEADER@
120122 AUTOMAKE = @AUTOMAKE@
142144 FGREP = @FGREP@
143145 FS_AGE = @FS_AGE@
144146 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
147 FS_APIVERSION = @FS_APIVERSION@
148 FS_API_VERSION = @FS_API_VERSION@
145149 FS_CFLAGS = @FS_CFLAGS@
146150 FS_CURRENT = @FS_CURRENT@
147151 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
150154 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
151155 FS_LICENSE = @FS_LICENSE@
152156 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
153 FS_MAJORMINOR = @FS_MAJORMINOR@
154 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
155157 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
156158 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
157159 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
164166 GCOV = @GCOV@
165167 GCOV_CFLAGS = @GCOV_CFLAGS@
166168 GCOV_LIBS = @GCOV_LIBS@
169 GIO_CFLAGS = @GIO_CFLAGS@
170 GIO_LDFLAGS = @GIO_LDFLAGS@
171 GIO_LIBS = @GIO_LIBS@
167172 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
168173 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
169174 GLIB_CFLAGS = @GLIB_CFLAGS@
173178 GLIB_REQ = @GLIB_REQ@
174179 GREP = @GREP@
175180 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
181 GST_API_VERSION = @GST_API_VERSION@
176182 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
177183 GST_BASE_LIBS = @GST_BASE_LIBS@
178184 GST_CFLAGS = @GST_CFLAGS@
181187 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
182188 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
183189 GST_LIBS = @GST_LIBS@
184 GST_MAJORMINOR = @GST_MAJORMINOR@
185190 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
186191 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
187192 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
191196 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
192197 GST_TOOLS_DIR = @GST_TOOLS_DIR@
193198 GTKDOC_CHECK = @GTKDOC_CHECK@
199 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
200 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
201 GTKDOC_MKPDF = @GTKDOC_MKPDF@
202 GTKDOC_REBASE = @GTKDOC_REBASE@
194203 GUPNP_CFLAGS = @GUPNP_CFLAGS@
195204 GUPNP_LIBS = @GUPNP_LIBS@
196205 HTML_DIR = @HTML_DIR@
242251 PKG_CONFIG = @PKG_CONFIG@
243252 PLUGINDIR = @PLUGINDIR@
244253 PROFILE_CFLAGS = @PROFILE_CFLAGS@
245 PYCODEGEN = @PYCODEGEN@
246 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
247 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
248 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
249 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
250254 PYTHON = @PYTHON@
251255 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
252 PYTHON_INCLUDES = @PYTHON_INCLUDES@
253256 PYTHON_PLATFORM = @PYTHON_PLATFORM@
254257 PYTHON_PREFIX = @PYTHON_PREFIX@
255258 PYTHON_VERSION = @PYTHON_VERSION@
316319 sharedstatedir = @sharedstatedir@
317320 srcdir = @srcdir@
318321 sysconfdir = @sysconfdir@
322 target = @target@
319323 target_alias = @target_alias@
324 target_cpu = @target_cpu@
325 target_os = @target_os@
326 target_vendor = @target_vendor@
320327 top_build_prefix = @top_build_prefix@
321328 top_builddir = @top_builddir@
322329 top_srcdir = @top_srcdir@
570577
571578 installcheck: installcheck-recursive
572579 install-strip:
573 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
574 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
575 `test -z '$(STRIP)' || \
576 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
580 if test -z '$(STRIP)'; then \
581 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
582 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
583 install; \
584 else \
585 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
586 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
587 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
588 fi
577589 mostlyclean-generic:
578590
579591 clean-generic:
1212 $(FS_INTERNAL_CFLAGS) \
1313 $(FS_CFLAGS) \
1414 $(GST_PLUGINS_BASE_CFLAGS) \
15 $(GST_CFLAGS)
15 $(GST_CFLAGS) \
16 $(GIO_CFLAGS)
1617 libmulticast_transmitter_la_LDFLAGS = $(FS_PLUGIN_LDFLAGS)
1718 libmulticast_transmitter_la_LIBADD = \
18 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
19 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
1920 $(FS_LIBS) \
2021 $(GST_BASE_LIBS) \
21 $(GST_LIBS)
22 $(GST_LIBS) \
23 $(GIO_LIBS)
2224
2325 noinst_HEADERS = \
2426 fs-multicast-transmitter.h \
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3434 POST_UNINSTALL = :
3535 build_triplet = @build@
3636 host_triplet = @host@
37 target_triplet = @target@
3738 subdir = transmitters/multicast
3839 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
3940 $(srcdir)/Makefile.in
4243 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4344 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4445 $(top_srcdir)/common/m4/as-libtool.m4 \
46 $(top_srcdir)/common/m4/as-python.m4 \
4547 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4648 $(top_srcdir)/common/m4/as-version.m4 \
4749 $(top_srcdir)/common/m4/gst-arch.m4 \
5456 $(top_srcdir)/common/m4/gst.m4 \
5557 $(top_srcdir)/common/m4/gtk-doc.m4 \
5658 $(top_srcdir)/common/m4/pkg.m4 \
57 $(top_srcdir)/m4/as-check-python-headers.m4 \
5859 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
5960 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
6061 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
8687 am__base_list = \
8788 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
8889 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
90 am__uninstall_files_from_dir = { \
91 test -z "$$files" \
92 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
93 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
94 $(am__cd) "$$dir" && rm -f $$files; }; \
95 }
8996 am__installdirs = "$(DESTDIR)$(plugindir)"
9097 LTLIBRARIES = $(plugin_LTLIBRARIES)
9198 am__DEPENDENCIES_1 =
9299 libmulticast_transmitter_la_DEPENDENCIES = \
93 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
100 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
94101 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
95 $(am__DEPENDENCIES_1)
102 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
96103 am_libmulticast_transmitter_la_OBJECTS = \
97104 libmulticast_transmitter_la-fs-multicast-transmitter.lo \
98105 libmulticast_transmitter_la-fs-multicast-stream-transmitter.lo
99106 libmulticast_transmitter_la_OBJECTS = \
100107 $(am_libmulticast_transmitter_la_OBJECTS)
101 AM_V_lt = $(am__v_lt_$(V))
102 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
108 AM_V_lt = $(am__v_lt_@AM_V@)
109 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
103110 am__v_lt_0 = --silent
104111 libmulticast_transmitter_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
105112 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
115122 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
116123 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
117124 $(AM_CFLAGS) $(CFLAGS)
118 AM_V_CC = $(am__v_CC_$(V))
119 am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
125 AM_V_CC = $(am__v_CC_@AM_V@)
126 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
120127 am__v_CC_0 = @echo " CC " $@;
121 AM_V_at = $(am__v_at_$(V))
122 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
128 AM_V_at = $(am__v_at_@AM_V@)
129 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
123130 am__v_at_0 = @
124131 CCLD = $(CC)
125132 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
126133 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
127134 $(AM_LDFLAGS) $(LDFLAGS) -o $@
128 AM_V_CCLD = $(am__v_CCLD_$(V))
129 am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
135 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
136 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
130137 am__v_CCLD_0 = @echo " CCLD " $@;
131 AM_V_GEN = $(am__v_GEN_$(V))
132 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
138 AM_V_GEN = $(am__v_GEN_@AM_V@)
139 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
133140 am__v_GEN_0 = @echo " GEN " $@;
134141 SOURCES = $(libmulticast_transmitter_la_SOURCES)
135142 DIST_SOURCES = $(libmulticast_transmitter_la_SOURCES)
142149 AMTAR = @AMTAR@
143150 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
144151 AR = @AR@
152 AS = @AS@
145153 AUTOCONF = @AUTOCONF@
146154 AUTOHEADER = @AUTOHEADER@
147155 AUTOMAKE = @AUTOMAKE@
169177 FGREP = @FGREP@
170178 FS_AGE = @FS_AGE@
171179 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
180 FS_APIVERSION = @FS_APIVERSION@
181 FS_API_VERSION = @FS_API_VERSION@
172182 FS_CFLAGS = @FS_CFLAGS@
173183 FS_CURRENT = @FS_CURRENT@
174184 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
177187 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
178188 FS_LICENSE = @FS_LICENSE@
179189 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
180 FS_MAJORMINOR = @FS_MAJORMINOR@
181 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
182190 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
183191 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
184192 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
191199 GCOV = @GCOV@
192200 GCOV_CFLAGS = @GCOV_CFLAGS@
193201 GCOV_LIBS = @GCOV_LIBS@
202 GIO_CFLAGS = @GIO_CFLAGS@
203 GIO_LDFLAGS = @GIO_LDFLAGS@
204 GIO_LIBS = @GIO_LIBS@
194205 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
195206 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
196207 GLIB_CFLAGS = @GLIB_CFLAGS@
200211 GLIB_REQ = @GLIB_REQ@
201212 GREP = @GREP@
202213 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
214 GST_API_VERSION = @GST_API_VERSION@
203215 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
204216 GST_BASE_LIBS = @GST_BASE_LIBS@
205217 GST_CFLAGS = @GST_CFLAGS@
208220 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
209221 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
210222 GST_LIBS = @GST_LIBS@
211 GST_MAJORMINOR = @GST_MAJORMINOR@
212223 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
213224 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
214225 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
218229 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
219230 GST_TOOLS_DIR = @GST_TOOLS_DIR@
220231 GTKDOC_CHECK = @GTKDOC_CHECK@
232 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
233 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
234 GTKDOC_MKPDF = @GTKDOC_MKPDF@
235 GTKDOC_REBASE = @GTKDOC_REBASE@
221236 GUPNP_CFLAGS = @GUPNP_CFLAGS@
222237 GUPNP_LIBS = @GUPNP_LIBS@
223238 HTML_DIR = @HTML_DIR@
269284 PKG_CONFIG = @PKG_CONFIG@
270285 PLUGINDIR = @PLUGINDIR@
271286 PROFILE_CFLAGS = @PROFILE_CFLAGS@
272 PYCODEGEN = @PYCODEGEN@
273 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
274 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
275 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
276 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
277287 PYTHON = @PYTHON@
278288 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
279 PYTHON_INCLUDES = @PYTHON_INCLUDES@
280289 PYTHON_PLATFORM = @PYTHON_PLATFORM@
281290 PYTHON_PREFIX = @PYTHON_PREFIX@
282291 PYTHON_VERSION = @PYTHON_VERSION@
343352 sharedstatedir = @sharedstatedir@
344353 srcdir = @srcdir@
345354 sysconfdir = @sysconfdir@
355 target = @target@
346356 target_alias = @target_alias@
357 target_cpu = @target_cpu@
358 target_os = @target_os@
359 target_vendor = @target_vendor@
347360 top_build_prefix = @top_build_prefix@
348361 top_builddir = @top_builddir@
349362 top_srcdir = @top_srcdir@
360373 $(FS_INTERNAL_CFLAGS) \
361374 $(FS_CFLAGS) \
362375 $(GST_PLUGINS_BASE_CFLAGS) \
363 $(GST_CFLAGS)
376 $(GST_CFLAGS) \
377 $(GIO_CFLAGS)
364378
365379 libmulticast_transmitter_la_LDFLAGS = $(FS_PLUGIN_LDFLAGS)
366380 libmulticast_transmitter_la_LIBADD = \
367 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
381 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
368382 $(FS_LIBS) \
369383 $(GST_BASE_LIBS) \
370 $(GST_LIBS)
384 $(GST_LIBS) \
385 $(GIO_LIBS)
371386
372387 noinst_HEADERS = \
373388 fs-multicast-transmitter.h \
438453 echo "rm -f \"$${dir}/so_locations\""; \
439454 rm -f "$${dir}/so_locations"; \
440455 done
441 libmulticast-transmitter.la: $(libmulticast_transmitter_la_OBJECTS) $(libmulticast_transmitter_la_DEPENDENCIES)
456 libmulticast-transmitter.la: $(libmulticast_transmitter_la_OBJECTS) $(libmulticast_transmitter_la_DEPENDENCIES) $(EXTRA_libmulticast_transmitter_la_DEPENDENCIES)
442457 $(AM_V_CCLD)$(libmulticast_transmitter_la_LINK) -rpath $(plugindir) $(libmulticast_transmitter_la_OBJECTS) $(libmulticast_transmitter_la_LIBADD) $(LIBS)
443458
444459 mostlyclean-compile:
453468 .c.o:
454469 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
455470 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
456 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
457 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
471 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
458472 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
459 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
473 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
460474
461475 .c.obj:
462476 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
463477 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
464 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
465 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
478 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
466479 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
467 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
480 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
468481
469482 .c.lo:
470483 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
471484 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
472 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
473 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
485 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
474486 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
475 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
487 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
476488
477489 libmulticast_transmitter_la-fs-multicast-transmitter.lo: fs-multicast-transmitter.c
478490 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmulticast_transmitter_la_CFLAGS) $(CFLAGS) -MT libmulticast_transmitter_la-fs-multicast-transmitter.lo -MD -MP -MF $(DEPDIR)/libmulticast_transmitter_la-fs-multicast-transmitter.Tpo -c -o libmulticast_transmitter_la-fs-multicast-transmitter.lo `test -f 'fs-multicast-transmitter.c' || echo '$(srcdir)/'`fs-multicast-transmitter.c
479491 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmulticast_transmitter_la-fs-multicast-transmitter.Tpo $(DEPDIR)/libmulticast_transmitter_la-fs-multicast-transmitter.Plo
480 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
481 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-multicast-transmitter.c' object='libmulticast_transmitter_la-fs-multicast-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
492 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-multicast-transmitter.c' object='libmulticast_transmitter_la-fs-multicast-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
482493 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
483 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmulticast_transmitter_la_CFLAGS) $(CFLAGS) -c -o libmulticast_transmitter_la-fs-multicast-transmitter.lo `test -f 'fs-multicast-transmitter.c' || echo '$(srcdir)/'`fs-multicast-transmitter.c
494 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmulticast_transmitter_la_CFLAGS) $(CFLAGS) -c -o libmulticast_transmitter_la-fs-multicast-transmitter.lo `test -f 'fs-multicast-transmitter.c' || echo '$(srcdir)/'`fs-multicast-transmitter.c
484495
485496 libmulticast_transmitter_la-fs-multicast-stream-transmitter.lo: fs-multicast-stream-transmitter.c
486497 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmulticast_transmitter_la_CFLAGS) $(CFLAGS) -MT libmulticast_transmitter_la-fs-multicast-stream-transmitter.lo -MD -MP -MF $(DEPDIR)/libmulticast_transmitter_la-fs-multicast-stream-transmitter.Tpo -c -o libmulticast_transmitter_la-fs-multicast-stream-transmitter.lo `test -f 'fs-multicast-stream-transmitter.c' || echo '$(srcdir)/'`fs-multicast-stream-transmitter.c
487498 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmulticast_transmitter_la-fs-multicast-stream-transmitter.Tpo $(DEPDIR)/libmulticast_transmitter_la-fs-multicast-stream-transmitter.Plo
488 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
489 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-multicast-stream-transmitter.c' object='libmulticast_transmitter_la-fs-multicast-stream-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
499 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-multicast-stream-transmitter.c' object='libmulticast_transmitter_la-fs-multicast-stream-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
490500 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
491 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmulticast_transmitter_la_CFLAGS) $(CFLAGS) -c -o libmulticast_transmitter_la-fs-multicast-stream-transmitter.lo `test -f 'fs-multicast-stream-transmitter.c' || echo '$(srcdir)/'`fs-multicast-stream-transmitter.c
501 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmulticast_transmitter_la_CFLAGS) $(CFLAGS) -c -o libmulticast_transmitter_la-fs-multicast-stream-transmitter.lo `test -f 'fs-multicast-stream-transmitter.c' || echo '$(srcdir)/'`fs-multicast-stream-transmitter.c
492502
493503 mostlyclean-libtool:
494504 -rm -f *.lo
595605
596606 installcheck: installcheck-am
597607 install-strip:
598 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
599 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
600 `test -z '$(STRIP)' || \
601 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
608 if test -z '$(STRIP)'; then \
609 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
610 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
611 install; \
612 else \
613 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
614 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
615 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
616 fi
602617 mostlyclean-generic:
603618
604619 clean-generic:
4242 #include <string.h>
4343 #include <sys/types.h>
4444
45 #include <gio/gio.h>
46
4547 #ifdef HAVE_UNISTD_H
4648 # include <unistd.h>
4749 #endif
273275
274276 /* Lets create the RTP source funnel */
275277
276 self->priv->udpsrc_funnels[c] = gst_element_factory_make ("fsfunnel", NULL);
278 self->priv->udpsrc_funnels[c] = gst_element_factory_make ("funnel", NULL);
277279
278280 if (!self->priv->udpsrc_funnels[c]) {
279281 trans->construction_error = g_error_new (FS_ERROR,
280282 FS_ERROR_CONSTRUCTION,
281 "Could not make the fsfunnel element");
283 "Could not make the funnel element");
282284 return;
283285 }
284286
286288 self->priv->udpsrc_funnels[c])) {
287289 trans->construction_error = g_error_new (FS_ERROR,
288290 FS_ERROR_CONSTRUCTION,
289 "Could not add the fsfunnel element to the transmitter src bin");
291 "Could not add the funnel element to the transmitter src bin");
290292 }
291293
292294 pad = gst_element_get_static_pad (self->priv->udpsrc_funnels[c], "src");
293 padname = g_strdup_printf ("src%d", c);
295 padname = g_strdup_printf ("src_%u", c);
294296 ghostpad = gst_ghost_pad_new (padname, pad);
295297 g_free (padname);
296298 gst_object_unref (pad);
318320 }
319321
320322 pad = gst_element_get_static_pad (self->priv->udpsink_tees[c], "sink");
321 padname = g_strdup_printf ("sink%d", c);
323 padname = g_strdup_printf ("sink_%u", c);
322324 ghostpad = gst_ghost_pad_new (padname, pad);
323325 g_free (padname);
324326 gst_object_unref (pad);
349351 "sync" , FALSE,
350352 NULL);
351353
352 pad = gst_element_get_request_pad (self->priv->udpsink_tees[c], "src%d");
354 pad = gst_element_get_request_pad (self->priv->udpsink_tees[c], "src_%u");
353355 pad2 = gst_element_get_static_pad (fakesink, "sink");
354356
355357 ret = gst_pad_link (pad, pad2);
524526 guint8 current_ttl;
525527
526528 gint fd;
529 GSocket *socket;
527530
528531 /* Protected by the transmitter mutex */
529532 GByteArray *ttls;
697700
698701 static GstElement *
699702 _create_sinksource (gchar *elementname, GstBin *bin,
700 GstElement *teefunnel, GstElement *filter, gint fd,
703 GstElement *teefunnel, GstElement *filter, GSocket *socket,
701704 GstPadDirection direction, GstPad **requested_pad, GError **error)
702705 {
703706 GstElement *elem;
715718 }
716719
717720 g_object_set (elem,
718 "closefd", FALSE,
719 "sockfd", fd,
721 "close-socket", FALSE,
722 "socket", socket,
720723 "auto-multicast", FALSE,
721724 NULL);
722725
729732 }
730733
731734 if (direction == GST_PAD_SINK)
732 *requested_pad = gst_element_get_request_pad (teefunnel, "src%d");
735 *requested_pad = gst_element_get_request_pad (teefunnel, "src_%u");
733736 else
734 *requested_pad = gst_element_get_request_pad (teefunnel, "sink%d");
737 *requested_pad = gst_element_get_request_pad (teefunnel, "sink_%u");
735738
736739 if (!*requested_pad) {
737740 g_set_error (error, FS_ERROR, FS_ERROR_CONSTRUCTION,
945948 if (udpsock->fd < 0)
946949 goto error;
947950
951 udpsock->socket = g_socket_new_from_fd (udpsock->fd, error);
952 if (!udpsock->socket)
953 goto error;
954
948955 /* Now lets create the elements */
949956
950957 udpsock->tee = trans->priv->udpsink_tees[component_id];
951958 udpsock->funnel = trans->priv->udpsrc_funnels[component_id];
952959
953960 udpsock->udpsrc = _create_sinksource ("udpsrc",
954 GST_BIN (trans->priv->gst_src), udpsock->funnel, NULL, udpsock->fd,
961 GST_BIN (trans->priv->gst_src), udpsock->funnel, NULL, udpsock->socket,
955962 GST_PAD_SRC, &udpsock->udpsrc_requested_pad, error);
956963 if (!udpsock->udpsrc)
957964 goto error;
962969 udpsock->udpsink = _create_sinksource ("multiudpsink",
963970 GST_BIN (trans->priv->gst_sink), udpsock->tee,
964971 udpsock->udpsink_recvonly_filter,
965 udpsock->fd, GST_PAD_SINK, &udpsock->udpsink_requested_pad, error);
972 udpsock->socket, GST_PAD_SINK, &udpsock->udpsink_requested_pad, error);
966973 if (!udpsock->udpsink)
967974 goto error;
968975
11191126 GST_ERROR ("Could not remove sink filter element from transmitter sink");
11201127 }
11211128
1129 if (udpsock->socket)
1130 g_object_unref (udpsock->socket);
1131
11221132 if (udpsock->fd >= 0)
11231133 close (udpsock->fd);
11241134
1717 $(NICE_CFLAGS)
1818 libnice_transmitter_la_LDFLAGS = $(FS_PLUGIN_LDFLAGS)
1919 libnice_transmitter_la_LIBADD = \
20 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
20 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
2121 $(FS_LIBS) \
2222 $(GST_BASE_LIBS) \
2323 $(GST_LIBS) \
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3434 POST_UNINSTALL = :
3535 build_triplet = @build@
3636 host_triplet = @host@
37 target_triplet = @target@
3738 subdir = transmitters/nice
3839 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
3940 $(srcdir)/Makefile.in
4243 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4344 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4445 $(top_srcdir)/common/m4/as-libtool.m4 \
46 $(top_srcdir)/common/m4/as-python.m4 \
4547 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4648 $(top_srcdir)/common/m4/as-version.m4 \
4749 $(top_srcdir)/common/m4/gst-arch.m4 \
5456 $(top_srcdir)/common/m4/gst.m4 \
5557 $(top_srcdir)/common/m4/gtk-doc.m4 \
5658 $(top_srcdir)/common/m4/pkg.m4 \
57 $(top_srcdir)/m4/as-check-python-headers.m4 \
5859 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
5960 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
6061 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
8687 am__base_list = \
8788 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
8889 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
90 am__uninstall_files_from_dir = { \
91 test -z "$$files" \
92 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
93 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
94 $(am__cd) "$$dir" && rm -f $$files; }; \
95 }
8996 am__installdirs = "$(DESTDIR)$(plugindir)"
9097 LTLIBRARIES = $(plugin_LTLIBRARIES)
9198 am__DEPENDENCIES_1 =
9299 libnice_transmitter_la_DEPENDENCIES = \
93 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
100 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
94101 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
95102 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
96103 am_libnice_transmitter_la_OBJECTS = \
98105 libnice_transmitter_la-fs-nice-stream-transmitter.lo \
99106 libnice_transmitter_la-fs-nice-agent.lo
100107 libnice_transmitter_la_OBJECTS = $(am_libnice_transmitter_la_OBJECTS)
101 AM_V_lt = $(am__v_lt_$(V))
102 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
108 AM_V_lt = $(am__v_lt_@AM_V@)
109 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
103110 am__v_lt_0 = --silent
104111 libnice_transmitter_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
105112 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
115122 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
116123 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
117124 $(AM_CFLAGS) $(CFLAGS)
118 AM_V_CC = $(am__v_CC_$(V))
119 am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
125 AM_V_CC = $(am__v_CC_@AM_V@)
126 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
120127 am__v_CC_0 = @echo " CC " $@;
121 AM_V_at = $(am__v_at_$(V))
122 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
128 AM_V_at = $(am__v_at_@AM_V@)
129 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
123130 am__v_at_0 = @
124131 CCLD = $(CC)
125132 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
126133 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
127134 $(AM_LDFLAGS) $(LDFLAGS) -o $@
128 AM_V_CCLD = $(am__v_CCLD_$(V))
129 am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
135 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
136 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
130137 am__v_CCLD_0 = @echo " CCLD " $@;
131 AM_V_GEN = $(am__v_GEN_$(V))
132 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
138 AM_V_GEN = $(am__v_GEN_@AM_V@)
139 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
133140 am__v_GEN_0 = @echo " GEN " $@;
134141 SOURCES = $(libnice_transmitter_la_SOURCES)
135142 DIST_SOURCES = $(libnice_transmitter_la_SOURCES)
142149 AMTAR = @AMTAR@
143150 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
144151 AR = @AR@
152 AS = @AS@
145153 AUTOCONF = @AUTOCONF@
146154 AUTOHEADER = @AUTOHEADER@
147155 AUTOMAKE = @AUTOMAKE@
169177 FGREP = @FGREP@
170178 FS_AGE = @FS_AGE@
171179 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
180 FS_APIVERSION = @FS_APIVERSION@
181 FS_API_VERSION = @FS_API_VERSION@
172182 FS_CFLAGS = @FS_CFLAGS@
173183 FS_CURRENT = @FS_CURRENT@
174184 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
177187 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
178188 FS_LICENSE = @FS_LICENSE@
179189 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
180 FS_MAJORMINOR = @FS_MAJORMINOR@
181 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
182190 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
183191 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
184192 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
191199 GCOV = @GCOV@
192200 GCOV_CFLAGS = @GCOV_CFLAGS@
193201 GCOV_LIBS = @GCOV_LIBS@
202 GIO_CFLAGS = @GIO_CFLAGS@
203 GIO_LDFLAGS = @GIO_LDFLAGS@
204 GIO_LIBS = @GIO_LIBS@
194205 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
195206 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
196207 GLIB_CFLAGS = @GLIB_CFLAGS@
200211 GLIB_REQ = @GLIB_REQ@
201212 GREP = @GREP@
202213 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
214 GST_API_VERSION = @GST_API_VERSION@
203215 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
204216 GST_BASE_LIBS = @GST_BASE_LIBS@
205217 GST_CFLAGS = @GST_CFLAGS@
208220 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
209221 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
210222 GST_LIBS = @GST_LIBS@
211 GST_MAJORMINOR = @GST_MAJORMINOR@
212223 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
213224 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
214225 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
218229 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
219230 GST_TOOLS_DIR = @GST_TOOLS_DIR@
220231 GTKDOC_CHECK = @GTKDOC_CHECK@
232 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
233 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
234 GTKDOC_MKPDF = @GTKDOC_MKPDF@
235 GTKDOC_REBASE = @GTKDOC_REBASE@
221236 GUPNP_CFLAGS = @GUPNP_CFLAGS@
222237 GUPNP_LIBS = @GUPNP_LIBS@
223238 HTML_DIR = @HTML_DIR@
269284 PKG_CONFIG = @PKG_CONFIG@
270285 PLUGINDIR = @PLUGINDIR@
271286 PROFILE_CFLAGS = @PROFILE_CFLAGS@
272 PYCODEGEN = @PYCODEGEN@
273 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
274 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
275 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
276 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
277287 PYTHON = @PYTHON@
278288 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
279 PYTHON_INCLUDES = @PYTHON_INCLUDES@
280289 PYTHON_PLATFORM = @PYTHON_PLATFORM@
281290 PYTHON_PREFIX = @PYTHON_PREFIX@
282291 PYTHON_VERSION = @PYTHON_VERSION@
343352 sharedstatedir = @sharedstatedir@
344353 srcdir = @srcdir@
345354 sysconfdir = @sysconfdir@
355 target = @target@
346356 target_alias = @target_alias@
357 target_cpu = @target_cpu@
358 target_os = @target_os@
359 target_vendor = @target_vendor@
347360 top_build_prefix = @top_build_prefix@
348361 top_builddir = @top_builddir@
349362 top_srcdir = @top_srcdir@
366379
367380 libnice_transmitter_la_LDFLAGS = $(FS_PLUGIN_LDFLAGS)
368381 libnice_transmitter_la_LIBADD = \
369 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
382 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
370383 $(FS_LIBS) \
371384 $(GST_BASE_LIBS) \
372385 $(GST_LIBS) \
442455 echo "rm -f \"$${dir}/so_locations\""; \
443456 rm -f "$${dir}/so_locations"; \
444457 done
445 libnice-transmitter.la: $(libnice_transmitter_la_OBJECTS) $(libnice_transmitter_la_DEPENDENCIES)
458 libnice-transmitter.la: $(libnice_transmitter_la_OBJECTS) $(libnice_transmitter_la_DEPENDENCIES) $(EXTRA_libnice_transmitter_la_DEPENDENCIES)
446459 $(AM_V_CCLD)$(libnice_transmitter_la_LINK) -rpath $(plugindir) $(libnice_transmitter_la_OBJECTS) $(libnice_transmitter_la_LIBADD) $(LIBS)
447460
448461 mostlyclean-compile:
458471 .c.o:
459472 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
460473 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
461 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
462 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
474 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
463475 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
464 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
476 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
465477
466478 .c.obj:
467479 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
468480 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
469 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
470 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
481 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
471482 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
472 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
483 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
473484
474485 .c.lo:
475486 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
476487 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
477 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
478 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
488 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
479489 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
480 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
490 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
481491
482492 libnice_transmitter_la-fs-nice-transmitter.lo: fs-nice-transmitter.c
483493 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnice_transmitter_la_CFLAGS) $(CFLAGS) -MT libnice_transmitter_la-fs-nice-transmitter.lo -MD -MP -MF $(DEPDIR)/libnice_transmitter_la-fs-nice-transmitter.Tpo -c -o libnice_transmitter_la-fs-nice-transmitter.lo `test -f 'fs-nice-transmitter.c' || echo '$(srcdir)/'`fs-nice-transmitter.c
484494 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libnice_transmitter_la-fs-nice-transmitter.Tpo $(DEPDIR)/libnice_transmitter_la-fs-nice-transmitter.Plo
485 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
486 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-nice-transmitter.c' object='libnice_transmitter_la-fs-nice-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
495 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-nice-transmitter.c' object='libnice_transmitter_la-fs-nice-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
487496 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
488 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnice_transmitter_la_CFLAGS) $(CFLAGS) -c -o libnice_transmitter_la-fs-nice-transmitter.lo `test -f 'fs-nice-transmitter.c' || echo '$(srcdir)/'`fs-nice-transmitter.c
497 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnice_transmitter_la_CFLAGS) $(CFLAGS) -c -o libnice_transmitter_la-fs-nice-transmitter.lo `test -f 'fs-nice-transmitter.c' || echo '$(srcdir)/'`fs-nice-transmitter.c
489498
490499 libnice_transmitter_la-fs-nice-stream-transmitter.lo: fs-nice-stream-transmitter.c
491500 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnice_transmitter_la_CFLAGS) $(CFLAGS) -MT libnice_transmitter_la-fs-nice-stream-transmitter.lo -MD -MP -MF $(DEPDIR)/libnice_transmitter_la-fs-nice-stream-transmitter.Tpo -c -o libnice_transmitter_la-fs-nice-stream-transmitter.lo `test -f 'fs-nice-stream-transmitter.c' || echo '$(srcdir)/'`fs-nice-stream-transmitter.c
492501 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libnice_transmitter_la-fs-nice-stream-transmitter.Tpo $(DEPDIR)/libnice_transmitter_la-fs-nice-stream-transmitter.Plo
493 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
494 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-nice-stream-transmitter.c' object='libnice_transmitter_la-fs-nice-stream-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
502 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-nice-stream-transmitter.c' object='libnice_transmitter_la-fs-nice-stream-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
495503 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
496 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnice_transmitter_la_CFLAGS) $(CFLAGS) -c -o libnice_transmitter_la-fs-nice-stream-transmitter.lo `test -f 'fs-nice-stream-transmitter.c' || echo '$(srcdir)/'`fs-nice-stream-transmitter.c
504 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnice_transmitter_la_CFLAGS) $(CFLAGS) -c -o libnice_transmitter_la-fs-nice-stream-transmitter.lo `test -f 'fs-nice-stream-transmitter.c' || echo '$(srcdir)/'`fs-nice-stream-transmitter.c
497505
498506 libnice_transmitter_la-fs-nice-agent.lo: fs-nice-agent.c
499507 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnice_transmitter_la_CFLAGS) $(CFLAGS) -MT libnice_transmitter_la-fs-nice-agent.lo -MD -MP -MF $(DEPDIR)/libnice_transmitter_la-fs-nice-agent.Tpo -c -o libnice_transmitter_la-fs-nice-agent.lo `test -f 'fs-nice-agent.c' || echo '$(srcdir)/'`fs-nice-agent.c
500508 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libnice_transmitter_la-fs-nice-agent.Tpo $(DEPDIR)/libnice_transmitter_la-fs-nice-agent.Plo
501 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
502 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-nice-agent.c' object='libnice_transmitter_la-fs-nice-agent.lo' libtool=yes @AMDEPBACKSLASH@
509 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-nice-agent.c' object='libnice_transmitter_la-fs-nice-agent.lo' libtool=yes @AMDEPBACKSLASH@
503510 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
504 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnice_transmitter_la_CFLAGS) $(CFLAGS) -c -o libnice_transmitter_la-fs-nice-agent.lo `test -f 'fs-nice-agent.c' || echo '$(srcdir)/'`fs-nice-agent.c
511 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libnice_transmitter_la_CFLAGS) $(CFLAGS) -c -o libnice_transmitter_la-fs-nice-agent.lo `test -f 'fs-nice-agent.c' || echo '$(srcdir)/'`fs-nice-agent.c
505512
506513 mostlyclean-libtool:
507514 -rm -f *.lo
608615
609616 installcheck: installcheck-am
610617 install-strip:
611 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
612 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
613 `test -z '$(STRIP)' || \
614 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
618 if test -z '$(STRIP)'; then \
619 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
620 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
621 install; \
622 else \
623 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
624 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
625 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
626 fi
615627 mostlyclean-generic:
616628
617629 clean-generic:
171171 const gchar *foundation,
172172 gpointer user_data);
173173
174 static gboolean known_buffer_have_buffer_handler (GstPad *pad,
175 GstBuffer *buffer,
174 static GstPadProbeReturn known_buffer_have_buffer_handler (GstPad *pad,
175 GstPadProbeInfo *info,
176176 gpointer user_data);
177177
178178
13971397 self->priv->transmitter,
13981398 self->priv->agent->agent,
13991399 self->priv->stream_id,
1400 G_CALLBACK (known_buffer_have_buffer_handler), self,
1400 known_buffer_have_buffer_handler, self,
14011401 error);
14021402 if (self->priv->gststream == NULL)
14031403 return FALSE;
18321832 }
18331833
18341834
1835 static gboolean
1836 known_buffer_have_buffer_handler (GstPad *pad, GstBuffer *buffer,
1835 static GstPadProbeReturn
1836 known_buffer_have_buffer_handler (GstPad *pad, GstPadProbeInfo *info,
18371837 gpointer user_data)
18381838 {
18391839 FsNiceStreamTransmitter *self = FS_NICE_STREAM_TRANSMITTER (user_data);
18401840 guint component_id;
1841 GstBuffer *buffer = GST_PAD_PROBE_INFO_BUFFER (info);
18411842
18421843 if (!g_atomic_int_get (&self->priv->associate_on_source))
18431844 return TRUE;
254254
255255 /* Lets create the RTP source funnel */
256256
257 self->priv->src_funnels[c] = gst_element_factory_make ("fsfunnel", NULL);
257 self->priv->src_funnels[c] = gst_element_factory_make ("funnel", NULL);
258258
259259 if (!self->priv->src_funnels[c])
260260 {
261261 trans->construction_error = g_error_new (FS_ERROR,
262262 FS_ERROR_CONSTRUCTION,
263 "Could not make the fsfunnel element");
263 "Could not make the funnel element");
264264 return;
265265 }
266266
269269 {
270270 trans->construction_error = g_error_new (FS_ERROR,
271271 FS_ERROR_CONSTRUCTION,
272 "Could not add the fsfunnel element to the transmitter src bin");
272 "Could not add the funnel element to the transmitter src bin");
273273 }
274274
275275 pad = gst_element_get_static_pad (self->priv->src_funnels[c], "src");
276 padname = g_strdup_printf ("src%d", c);
276 padname = g_strdup_printf ("src_%u", c);
277277 ghostpad = gst_ghost_pad_new (padname, pad);
278278 g_free (padname);
279279 gst_object_unref (pad);
303303 }
304304
305305 pad = gst_element_get_static_pad (self->priv->sink_tees[c], "sink");
306 padname = g_strdup_printf ("sink%d", c);
306 padname = g_strdup_printf ("sink_%u", c);
307307 ghostpad = gst_ghost_pad_new (padname, pad);
308308 g_free (padname);
309309 gst_object_unref (pad);
335335 return;
336336 }
337337
338 pad = gst_element_get_request_pad (self->priv->sink_tees[c], "src%d");
338 pad = gst_element_get_request_pad (self->priv->sink_tees[c], "src_%u");
339339 pad2 = gst_element_get_static_pad (fakesink, "sink");
340340
341341 ret = gst_pad_link (pad, pad2);
494494 guint component_id,
495495 GstPadDirection direction,
496496 gboolean do_timestamp,
497 GCallback have_buffer_callback,
497 GstPadProbeCallback have_buffer_callback,
498498 gpointer have_buffer_user_data,
499499 gulong *buffer_probe_id,
500500 GstPad **requested_pad,
544544 gst_object_ref (elem);
545545
546546 if (direction == GST_PAD_SINK)
547 *requested_pad = gst_element_get_request_pad (teefunnel, "src%d");
547 *requested_pad = gst_element_get_request_pad (teefunnel, "src_%u");
548548 else
549 *requested_pad = gst_element_get_request_pad (teefunnel, "sink%d");
549 *requested_pad = gst_element_get_request_pad (teefunnel, "sink_%u");
550550
551551 if (!*requested_pad)
552552 {
625625 {
626626 g_object_set_data (G_OBJECT (*requested_pad), "component-id",
627627 GUINT_TO_POINTER (component_id));
628 *buffer_probe_id = gst_pad_add_buffer_probe (*requested_pad,
628 *buffer_probe_id = gst_pad_add_probe (*requested_pad,
629 GST_PAD_PROBE_TYPE_BUFFER,
629630 have_buffer_callback,
630 have_buffer_user_data);
631 have_buffer_user_data, NULL);
631632 }
632633 else
633634 {
634635 g_object_set_data (G_OBJECT (elempad), "component-id",
635636 GUINT_TO_POINTER (component_id));
636 *buffer_probe_id = gst_pad_add_buffer_probe (elempad,
637 have_buffer_callback,
638 have_buffer_user_data);
637 *buffer_probe_id = gst_pad_add_probe (elempad,
638 GST_PAD_PROBE_TYPE_BUFFER,
639 have_buffer_callback, have_buffer_user_data, NULL);
639640 }
640641
641642 if (*buffer_probe_id == 0)
708709 fs_nice_transmitter_add_gst_stream (FsNiceTransmitter *self,
709710 NiceAgent *agent,
710711 guint stream_id,
711 GCallback have_buffer_callback,
712 GstPadProbeCallback have_buffer_callback,
712713 gpointer have_buffer_user_data,
713714 GError **error)
714715 {
919920
920921
921922 ns->requested_tee_pads[c] =
922 gst_element_get_request_pad (self->priv->sink_tees[c], "src%d");
923 gst_element_get_request_pad (self->priv->sink_tees[c], "src_%u");
923924
924925 g_assert (ns->requested_tee_pads[c]);
925926
9292 NiceGstStream *fs_nice_transmitter_add_gst_stream (FsNiceTransmitter *self,
9393 NiceAgent *agent,
9494 guint stream_id,
95 GCallback have_buffer_callback,
95 GstPadProbeCallback have_buffer_callback,
9696 gpointer have_buffer_user_data,
9797 GError **error);
9898
1717 librawudp_transmitter_la_CFLAGS = \
1818 $(FS_INTERNAL_CFLAGS) \
1919 $(FS_CFLAGS) \
20 $(GST_PLUGINS_BASE_CFLAGS) \
2120 $(GST_CFLAGS) \
2221 $(NICE_CFLAGS) \
23 $(GUPNP_CFLAGS)
22 $(GUPNP_CFLAGS) \
23 $(GIO_CFLAGS)
24
2425 librawudp_transmitter_la_LDFLAGS = $(FS_PLUGIN_LDFLAGS)
2526 librawudp_transmitter_la_LIBADD = \
26 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
27 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
2728 $(FS_LIBS) \
28 $(GST_PLUGINS_BASE_LIBS) \
2929 $(GST_LIBS) \
3030 $(NICE_LIBS) \
3131 $(GUPNP_LIBS) \
32 -lgstnetbuffer-@GST_MAJORMINOR@
32 $(GIO_LIBS) \
33 -lgstnet-@GST_API_VERSION@
3334
3435 noinst_HEADERS = \
3536 fs-rawudp-transmitter.h \
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
4242 POST_UNINSTALL = :
4343 build_triplet = @build@
4444 host_triplet = @host@
45 target_triplet = @target@
4546 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
4647 $(srcdir)/Makefile.in $(top_srcdir)/common/gst-glib-gen.mak
4748 subdir = transmitters/rawudp
5051 $(top_srcdir)/common/m4/as-auto-alt.m4 \
5152 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
5253 $(top_srcdir)/common/m4/as-libtool.m4 \
54 $(top_srcdir)/common/m4/as-python.m4 \
5355 $(top_srcdir)/common/m4/as-scrub-include.m4 \
5456 $(top_srcdir)/common/m4/as-version.m4 \
5557 $(top_srcdir)/common/m4/gst-arch.m4 \
6264 $(top_srcdir)/common/m4/gst.m4 \
6365 $(top_srcdir)/common/m4/gtk-doc.m4 \
6466 $(top_srcdir)/common/m4/pkg.m4 \
65 $(top_srcdir)/m4/as-check-python-headers.m4 \
6667 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
6768 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
6869 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
9495 am__base_list = \
9596 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
9697 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
98 am__uninstall_files_from_dir = { \
99 test -z "$$files" \
100 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
101 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
102 $(am__cd) "$$dir" && rm -f $$files; }; \
103 }
97104 am__installdirs = "$(DESTDIR)$(plugindir)"
98105 LTLIBRARIES = $(plugin_LTLIBRARIES)
99106 am__DEPENDENCIES_1 =
100107 librawudp_transmitter_la_DEPENDENCIES = \
101 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
108 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
102109 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
103110 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
104111 $(am__DEPENDENCIES_1)
111118 librawudp_transmitter_la_OBJECTS = \
112119 $(am_librawudp_transmitter_la_OBJECTS) \
113120 $(nodist_librawudp_transmitter_la_OBJECTS)
114 AM_V_lt = $(am__v_lt_$(V))
115 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
121 AM_V_lt = $(am__v_lt_@AM_V@)
122 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
116123 am__v_lt_0 = --silent
117124 librawudp_transmitter_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
118125 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
128135 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
129136 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
130137 $(AM_CFLAGS) $(CFLAGS)
131 AM_V_CC = $(am__v_CC_$(V))
132 am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
138 AM_V_CC = $(am__v_CC_@AM_V@)
139 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
133140 am__v_CC_0 = @echo " CC " $@;
134 AM_V_at = $(am__v_at_$(V))
135 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
141 AM_V_at = $(am__v_at_@AM_V@)
142 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
136143 am__v_at_0 = @
137144 CCLD = $(CC)
138145 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
139146 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
140147 $(AM_LDFLAGS) $(LDFLAGS) -o $@
141 AM_V_CCLD = $(am__v_CCLD_$(V))
142 am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
148 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
149 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
143150 am__v_CCLD_0 = @echo " CCLD " $@;
144 AM_V_GEN = $(am__v_GEN_$(V))
145 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
151 AM_V_GEN = $(am__v_GEN_@AM_V@)
152 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
146153 am__v_GEN_0 = @echo " GEN " $@;
147154 SOURCES = $(librawudp_transmitter_la_SOURCES) \
148155 $(nodist_librawudp_transmitter_la_SOURCES)
156163 AMTAR = @AMTAR@
157164 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
158165 AR = @AR@
166 AS = @AS@
159167 AUTOCONF = @AUTOCONF@
160168 AUTOHEADER = @AUTOHEADER@
161169 AUTOMAKE = @AUTOMAKE@
183191 FGREP = @FGREP@
184192 FS_AGE = @FS_AGE@
185193 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
194 FS_APIVERSION = @FS_APIVERSION@
195 FS_API_VERSION = @FS_API_VERSION@
186196 FS_CFLAGS = @FS_CFLAGS@
187197 FS_CURRENT = @FS_CURRENT@
188198 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
191201 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
192202 FS_LICENSE = @FS_LICENSE@
193203 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
194 FS_MAJORMINOR = @FS_MAJORMINOR@
195 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
196204 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
197205 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
198206 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
205213 GCOV = @GCOV@
206214 GCOV_CFLAGS = @GCOV_CFLAGS@
207215 GCOV_LIBS = @GCOV_LIBS@
216 GIO_CFLAGS = @GIO_CFLAGS@
217 GIO_LDFLAGS = @GIO_LDFLAGS@
218 GIO_LIBS = @GIO_LIBS@
208219 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
209220 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
210221 GLIB_CFLAGS = @GLIB_CFLAGS@
214225 GLIB_REQ = @GLIB_REQ@
215226 GREP = @GREP@
216227 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
228 GST_API_VERSION = @GST_API_VERSION@
217229 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
218230 GST_BASE_LIBS = @GST_BASE_LIBS@
219231 GST_CFLAGS = @GST_CFLAGS@
222234 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
223235 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
224236 GST_LIBS = @GST_LIBS@
225 GST_MAJORMINOR = @GST_MAJORMINOR@
226237 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
227238 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
228239 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
232243 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
233244 GST_TOOLS_DIR = @GST_TOOLS_DIR@
234245 GTKDOC_CHECK = @GTKDOC_CHECK@
246 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
247 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
248 GTKDOC_MKPDF = @GTKDOC_MKPDF@
249 GTKDOC_REBASE = @GTKDOC_REBASE@
235250 GUPNP_CFLAGS = @GUPNP_CFLAGS@
236251 GUPNP_LIBS = @GUPNP_LIBS@
237252 HTML_DIR = @HTML_DIR@
283298 PKG_CONFIG = @PKG_CONFIG@
284299 PLUGINDIR = @PLUGINDIR@
285300 PROFILE_CFLAGS = @PROFILE_CFLAGS@
286 PYCODEGEN = @PYCODEGEN@
287 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
288 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
289 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
290 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
291301 PYTHON = @PYTHON@
292302 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
293 PYTHON_INCLUDES = @PYTHON_INCLUDES@
294303 PYTHON_PLATFORM = @PYTHON_PLATFORM@
295304 PYTHON_PREFIX = @PYTHON_PREFIX@
296305 PYTHON_VERSION = @PYTHON_VERSION@
357366 sharedstatedir = @sharedstatedir@
358367 srcdir = @srcdir@
359368 sysconfdir = @sysconfdir@
369 target = @target@
360370 target_alias = @target_alias@
371 target_cpu = @target_cpu@
372 target_os = @target_os@
373 target_vendor = @target_vendor@
361374 top_build_prefix = @top_build_prefix@
362375 top_builddir = @top_builddir@
363376 top_srcdir = @top_srcdir@
378391 librawudp_transmitter_la_CFLAGS = \
379392 $(FS_INTERNAL_CFLAGS) \
380393 $(FS_CFLAGS) \
381 $(GST_PLUGINS_BASE_CFLAGS) \
382394 $(GST_CFLAGS) \
383395 $(NICE_CFLAGS) \
384 $(GUPNP_CFLAGS)
396 $(GUPNP_CFLAGS) \
397 $(GIO_CFLAGS)
385398
386399 librawudp_transmitter_la_LDFLAGS = $(FS_PLUGIN_LDFLAGS)
387400 librawudp_transmitter_la_LIBADD = \
388 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
401 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
389402 $(FS_LIBS) \
390 $(GST_PLUGINS_BASE_LIBS) \
391403 $(GST_LIBS) \
392404 $(NICE_LIBS) \
393405 $(GUPNP_LIBS) \
394 -lgstnetbuffer-@GST_MAJORMINOR@
406 $(GIO_LIBS) \
407 -lgstnet-@GST_API_VERSION@
395408
396409 noinst_HEADERS = \
397410 fs-rawudp-transmitter.h \
430443 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
431444 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
432445 esac;
446 $(top_srcdir)/common/gst-glib-gen.mak:
433447
434448 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
435449 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
470484 echo "rm -f \"$${dir}/so_locations\""; \
471485 rm -f "$${dir}/so_locations"; \
472486 done
473 librawudp-transmitter.la: $(librawudp_transmitter_la_OBJECTS) $(librawudp_transmitter_la_DEPENDENCIES)
487 librawudp-transmitter.la: $(librawudp_transmitter_la_OBJECTS) $(librawudp_transmitter_la_DEPENDENCIES) $(EXTRA_librawudp_transmitter_la_DEPENDENCIES)
474488 $(AM_V_CCLD)$(librawudp_transmitter_la_LINK) -rpath $(plugindir) $(librawudp_transmitter_la_OBJECTS) $(librawudp_transmitter_la_LIBADD) $(LIBS)
475489
476490 mostlyclean-compile:
487501 .c.o:
488502 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
489503 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
490 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
491 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
504 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
492505 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
493 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
506 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
494507
495508 .c.obj:
496509 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
497510 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
498 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
499 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
511 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
500512 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
501 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
513 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
502514
503515 .c.lo:
504516 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
505517 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
506 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
507 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
518 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
508519 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
509 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
520 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
510521
511522 librawudp_transmitter_la-fs-rawudp-transmitter.lo: fs-rawudp-transmitter.c
512523 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librawudp_transmitter_la_CFLAGS) $(CFLAGS) -MT librawudp_transmitter_la-fs-rawudp-transmitter.lo -MD -MP -MF $(DEPDIR)/librawudp_transmitter_la-fs-rawudp-transmitter.Tpo -c -o librawudp_transmitter_la-fs-rawudp-transmitter.lo `test -f 'fs-rawudp-transmitter.c' || echo '$(srcdir)/'`fs-rawudp-transmitter.c
513524 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/librawudp_transmitter_la-fs-rawudp-transmitter.Tpo $(DEPDIR)/librawudp_transmitter_la-fs-rawudp-transmitter.Plo
514 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
515 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-rawudp-transmitter.c' object='librawudp_transmitter_la-fs-rawudp-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
525 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-rawudp-transmitter.c' object='librawudp_transmitter_la-fs-rawudp-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
516526 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
517 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librawudp_transmitter_la_CFLAGS) $(CFLAGS) -c -o librawudp_transmitter_la-fs-rawudp-transmitter.lo `test -f 'fs-rawudp-transmitter.c' || echo '$(srcdir)/'`fs-rawudp-transmitter.c
527 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librawudp_transmitter_la_CFLAGS) $(CFLAGS) -c -o librawudp_transmitter_la-fs-rawudp-transmitter.lo `test -f 'fs-rawudp-transmitter.c' || echo '$(srcdir)/'`fs-rawudp-transmitter.c
518528
519529 librawudp_transmitter_la-fs-rawudp-stream-transmitter.lo: fs-rawudp-stream-transmitter.c
520530 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librawudp_transmitter_la_CFLAGS) $(CFLAGS) -MT librawudp_transmitter_la-fs-rawudp-stream-transmitter.lo -MD -MP -MF $(DEPDIR)/librawudp_transmitter_la-fs-rawudp-stream-transmitter.Tpo -c -o librawudp_transmitter_la-fs-rawudp-stream-transmitter.lo `test -f 'fs-rawudp-stream-transmitter.c' || echo '$(srcdir)/'`fs-rawudp-stream-transmitter.c
521531 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/librawudp_transmitter_la-fs-rawudp-stream-transmitter.Tpo $(DEPDIR)/librawudp_transmitter_la-fs-rawudp-stream-transmitter.Plo
522 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
523 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-rawudp-stream-transmitter.c' object='librawudp_transmitter_la-fs-rawudp-stream-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
532 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-rawudp-stream-transmitter.c' object='librawudp_transmitter_la-fs-rawudp-stream-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
524533 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
525 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librawudp_transmitter_la_CFLAGS) $(CFLAGS) -c -o librawudp_transmitter_la-fs-rawudp-stream-transmitter.lo `test -f 'fs-rawudp-stream-transmitter.c' || echo '$(srcdir)/'`fs-rawudp-stream-transmitter.c
534 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librawudp_transmitter_la_CFLAGS) $(CFLAGS) -c -o librawudp_transmitter_la-fs-rawudp-stream-transmitter.lo `test -f 'fs-rawudp-stream-transmitter.c' || echo '$(srcdir)/'`fs-rawudp-stream-transmitter.c
526535
527536 librawudp_transmitter_la-fs-rawudp-component.lo: fs-rawudp-component.c
528537 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librawudp_transmitter_la_CFLAGS) $(CFLAGS) -MT librawudp_transmitter_la-fs-rawudp-component.lo -MD -MP -MF $(DEPDIR)/librawudp_transmitter_la-fs-rawudp-component.Tpo -c -o librawudp_transmitter_la-fs-rawudp-component.lo `test -f 'fs-rawudp-component.c' || echo '$(srcdir)/'`fs-rawudp-component.c
529538 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/librawudp_transmitter_la-fs-rawudp-component.Tpo $(DEPDIR)/librawudp_transmitter_la-fs-rawudp-component.Plo
530 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
531 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-rawudp-component.c' object='librawudp_transmitter_la-fs-rawudp-component.lo' libtool=yes @AMDEPBACKSLASH@
539 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-rawudp-component.c' object='librawudp_transmitter_la-fs-rawudp-component.lo' libtool=yes @AMDEPBACKSLASH@
532540 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
533 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librawudp_transmitter_la_CFLAGS) $(CFLAGS) -c -o librawudp_transmitter_la-fs-rawudp-component.lo `test -f 'fs-rawudp-component.c' || echo '$(srcdir)/'`fs-rawudp-component.c
541 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librawudp_transmitter_la_CFLAGS) $(CFLAGS) -c -o librawudp_transmitter_la-fs-rawudp-component.lo `test -f 'fs-rawudp-component.c' || echo '$(srcdir)/'`fs-rawudp-component.c
534542
535543 librawudp_transmitter_la-fs-rawudp-marshal.lo: fs-rawudp-marshal.c
536544 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librawudp_transmitter_la_CFLAGS) $(CFLAGS) -MT librawudp_transmitter_la-fs-rawudp-marshal.lo -MD -MP -MF $(DEPDIR)/librawudp_transmitter_la-fs-rawudp-marshal.Tpo -c -o librawudp_transmitter_la-fs-rawudp-marshal.lo `test -f 'fs-rawudp-marshal.c' || echo '$(srcdir)/'`fs-rawudp-marshal.c
537545 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/librawudp_transmitter_la-fs-rawudp-marshal.Tpo $(DEPDIR)/librawudp_transmitter_la-fs-rawudp-marshal.Plo
538 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
539 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-rawudp-marshal.c' object='librawudp_transmitter_la-fs-rawudp-marshal.lo' libtool=yes @AMDEPBACKSLASH@
546 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-rawudp-marshal.c' object='librawudp_transmitter_la-fs-rawudp-marshal.lo' libtool=yes @AMDEPBACKSLASH@
540547 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
541 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librawudp_transmitter_la_CFLAGS) $(CFLAGS) -c -o librawudp_transmitter_la-fs-rawudp-marshal.lo `test -f 'fs-rawudp-marshal.c' || echo '$(srcdir)/'`fs-rawudp-marshal.c
548 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(librawudp_transmitter_la_CFLAGS) $(CFLAGS) -c -o librawudp_transmitter_la-fs-rawudp-marshal.lo `test -f 'fs-rawudp-marshal.c' || echo '$(srcdir)/'`fs-rawudp-marshal.c
542549
543550 mostlyclean-libtool:
544551 -rm -f *.lo
647654
648655 installcheck: installcheck-am
649656 install-strip:
650 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
651 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
652 `test -z '$(STRIP)' || \
653 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
657 if test -z '$(STRIP)'; then \
658 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
659 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
660 install; \
661 else \
662 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
663 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
664 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
665 fi
654666 mostlyclean-generic:
655667
656668 clean-generic:
3838
3939 #include <farstream/fs-conference.h>
4040
41 #include <gst/netbuffer/gstnetbuffer.h>
41 #include <gst/net/gstnetaddressmeta.h>
4242
4343 #ifdef HAVE_GUPNP
4444 #include <libgupnp-igd/gupnp-simple-igd-thread.h>
142142 UdpPort *udpport;
143143
144144 FsCandidate *remote_candidate;
145 GstNetAddress remote_address;
145 GSocketAddress *remote_address;
146146
147147 FsCandidate *local_active_candidate;
148148 FsCandidate *local_forced_candidate;
215215 fs_rawudp_component_emit_candidate (FsRawUdpComponent *self,
216216 FsCandidate *candidate);
217217
218 static gboolean
219 stun_recv_cb (GstPad *pad, GstBuffer *buffer,
220 gpointer user_data);
218 static GstPadProbeReturn
219 stun_recv_cb (GstPad *pad, GstPadProbeInfo *info, gpointer user_data);
221220 static gpointer
222221 stun_timeout_func (gpointer user_data);
223 static gboolean
224 buffer_recv_cb (GstPad *pad, GstBuffer *buffer, gpointer user_data);
225
226 static void
227 remote_is_unique_cb (gboolean unique, const GstNetAddress *address,
222 static GstPadProbeReturn
223 buffer_recv_cb (GstPad *pad, GstPadProbeInfo *info, gpointer user_data);
224
225 static void
226 remote_is_unique_cb (gboolean unique, GSocketAddress *address,
228227 gpointer user_data);
229228
230229 static gboolean
259258 };
260259
261260 /* Required because the GST type registration is not thread safe */
262
263 g_type_class_ref (GST_TYPE_NETBUFFER);
264261
265262 type = g_type_module_register_type (G_TYPE_MODULE (module),
266263 G_TYPE_OBJECT, "FsRawUdpComponent", &info, 0);
571568 if (self->priv->associate_on_source)
572569 self->priv->buffer_recv_id =
573570 fs_rawudp_transmitter_udpport_connect_recv (
574 self->priv->udpport,
575 G_CALLBACK (buffer_recv_cb), self);
571 self->priv->udpport, buffer_recv_cb, self);
576572
577573 GST_CALL_PARENT (G_OBJECT_CLASS, constructed, (object));
578574 }
609605 ts = self->priv->transmitter;
610606 self->priv->transmitter = NULL;
611607 FS_RAWUDP_COMPONENT_UNLOCK (self);
608
609 g_clear_object (&self->priv->remote_address);
612610
613611 g_object_unref (ts);
614612
669667
670668
671669 fs_rawudp_transmitter_udpport_remove_known_address (udpport,
672 &self->priv->remote_address, remote_is_unique_cb, self);
670 self->priv->remote_address, remote_is_unique_cb, self);
673671 }
674672
675673 FS_RAWUDP_COMPONENT_UNLOCK (self);
911909 }
912910
913911 static void
914 remote_is_unique_cb (gboolean unique, const GstNetAddress *address,
912 remote_is_unique_cb (gboolean unique, GSocketAddress *address,
915913 gpointer user_data)
916914 {
917915 FsRawUdpComponent *self = FS_RAWUDP_COMPONENT (user_data);
918916
919917 FS_RAWUDP_COMPONENT_LOCK (self);
920918
921 if (!gst_netaddress_equal (address, &self->priv->remote_address))
919 if (!fs_g_inet_socket_address_equal (address, self->priv->remote_address))
922920 {
923921 GST_ERROR ("Got callback for an address that is not ours");
924922 goto out;
941939 struct addrinfo hints = {0};
942940 struct addrinfo *res = NULL;
943941 int rv;
942 GInetAddress *addr;
944943
945944 if (candidate->component_id != self->priv->component)
946945 {
972971
973972 if (self->priv->remote_candidate)
974973 fs_rawudp_transmitter_udpport_remove_known_address (self->priv->udpport,
975 &self->priv->remote_address, remote_is_unique_cb, self);
974 self->priv->remote_address, remote_is_unique_cb, self);
976975
977976 old_candidate = self->priv->remote_candidate;
978977 self->priv->remote_candidate = fs_candidate_copy (candidate);
979978 sending = self->priv->sending;
980979
980 g_clear_object (&self->priv->remote_address);
981
981982 switch (res->ai_family)
982983 {
983984 case AF_INET:
984 gst_netaddress_set_ip4_address (&self->priv->remote_address,
985 ((struct sockaddr_in *)res->ai_addr)->sin_addr.s_addr,
986 g_htons(candidate->port));
985 addr = g_inet_address_new_from_bytes (
986 (guint8*) &(((struct sockaddr_in *)res->ai_addr)->sin_addr.s_addr),
987 G_SOCKET_FAMILY_IPV4);
987988 break;
988989 case AF_INET6:
989 gst_netaddress_set_ip6_address (&self->priv->remote_address,
990 ((struct sockaddr_in6 *)res->ai_addr)->sin6_addr.s6_addr,
991 g_htons(candidate->port));
992 break;
993 }
994
990 addr = g_inet_address_new_from_bytes (
991 (guint8*) &(((struct sockaddr_in6 *)res->ai_addr)->sin6_addr.s6_addr),
992 G_SOCKET_FAMILY_IPV6);
993 break;
994 default:
995 g_set_error (error, FS_ERROR, FS_ERROR_INTERNAL,
996 "Unknown address family");
997 return FALSE;
998 }
999
1000
1001 self->priv->remote_address = g_inet_socket_address_new (addr,
1002 candidate->port);
1003 g_object_unref (addr);
9951004
9961005 self->priv->remote_is_unique =
9971006 fs_rawudp_transmitter_udpport_add_known_address (self->priv->udpport,
998 &self->priv->remote_address, remote_is_unique_cb, self);
1007 self->priv->remote_address, remote_is_unique_cb, self);
9991008
10001009 FS_RAWUDP_COMPONENT_UNLOCK (self);
10011010
13071316 FS_RAWUDP_COMPONENT_LOCK (self);
13081317 self->priv->stun_recv_id =
13091318 fs_rawudp_transmitter_udpport_connect_recv (
1310 self->priv->udpport,
1311 G_CALLBACK (stun_recv_cb), self);
1319 self->priv->udpport, stun_recv_cb, self);
13121320
13131321
13141322 nice_address_init (&niceaddr);
13751383
13761384
13771385
1378 static gboolean
1379 stun_recv_cb (GstPad *pad, GstBuffer *buffer,
1380 gpointer user_data)
1386 static GstPadProbeReturn
1387 stun_recv_cb (GstPad *pad, GstPadProbeInfo *info, gpointer user_data)
13811388 {
13821389 FsRawUdpComponent *self = FS_RAWUDP_COMPONENT (user_data);
1390 GstBuffer *buffer = GST_PAD_PROBE_INFO_BUFFER (info);
13831391 FsCandidate *candidate = NULL;
13841392 StunMessage msg;
13851393 StunValidationStatus stunv;
13901398 socklen_t alt_addr_len = sizeof(alt_addr);
13911399 gchar addr_str[NI_MAXHOST];
13921400 NiceAddress niceaddr;
1393
1394 if (GST_BUFFER_SIZE (buffer) < 4)
1401 GstMapInfo map;
1402
1403 gst_buffer_map (buffer, &map, GST_MAP_READ);
1404
1405 if (gst_buffer_get_size (buffer) < 4)
13951406 /* Packet is too small to be STUN */
1396 return TRUE;
1397
1398 if (GST_BUFFER_DATA (buffer)[0] >> 6)
1407 goto passthrough;
1408
1409 if (map.data[0] >> 6)
13991410 /* Non stun packet */
1400 return TRUE;
1411 goto passthrough;
14011412
14021413
14031414 g_assert (fs_rawudp_transmitter_udpport_is_pad (self->priv->udpport, pad));
14041415
14051416 FS_RAWUDP_COMPONENT_LOCK(self);
14061417 stunv = stun_agent_validate (&self->priv->stun_agent, &msg,
1407 GST_BUFFER_DATA (buffer), GST_BUFFER_SIZE (buffer), NULL, NULL);
1418 map.data, map.size, NULL, NULL);
14081419 FS_RAWUDP_COMPONENT_UNLOCK(self);
14091420
14101421 /* not a valid stun message */
14111422 if (stunv != STUN_VALIDATION_SUCCESS)
1412 return TRUE;
1423 goto passthrough;
1424
14131425
14141426 stunr = stun_usage_bind_process (&msg,
14151427 (struct sockaddr *) &addr, &addr_len,
14821494
14831495 fs_candidate_destroy (candidate);
14841496
1485 return FALSE;
1497 gst_buffer_unmap (buffer, &map);
1498
1499 return GST_PAD_PROBE_DROP;
1500
1501 passthrough:
1502
1503 gst_buffer_unmap (buffer, &map);
1504 return GST_PAD_PROBE_OK;
14861505 }
14871506
14881507 static gpointer
17031722 * This is a has "have-data" signal handler, so we return %TRUE to not
17041723 * drop the buffer
17051724 */
1706 static gboolean
1707 buffer_recv_cb (GstPad *pad, GstBuffer *buffer, gpointer user_data)
1725 static GstPadProbeReturn
1726 buffer_recv_cb (GstPad *pad, GstPadProbeInfo *info, gpointer user_data)
17081727 {
17091728 FsRawUdpComponent *self = FS_RAWUDP_COMPONENT (user_data);
1710
1711 if (GST_IS_NETBUFFER (buffer))
1712 {
1713 GstNetBuffer *netbuffer = (GstNetBuffer*) buffer;
1714
1729 GstBuffer *buffer = GST_PAD_PROBE_INFO_BUFFER (info);
1730 GstNetAddressMeta *netmeta = gst_buffer_get_net_address_meta (buffer);
1731
1732 if (netmeta)
1733 {
17151734 FS_RAWUDP_COMPONENT_LOCK (self);
17161735 if (self->priv->remote_is_unique &&
1717 gst_netaddress_equal (&self->priv->remote_address, &netbuffer->from))
1736 fs_g_inet_socket_address_equal (self->priv->remote_address,
1737 netmeta->addr))
17181738 {
17191739 FS_RAWUDP_COMPONENT_UNLOCK (self);
17201740 g_signal_emit (self, signals[KNOWN_SOURCE_PACKET_RECEIVED], 0,
17271747 }
17281748 else
17291749 {
1730 GST_WARNING ("received buffer thats not a NetBuffer");
1731 }
1732
1733 return TRUE;
1734 }
1750 GST_WARNING ("received buffer that does not contain a GstNetAddressMeta");
1751 }
1752
1753 return GST_PAD_PROBE_OK;
1754 }
280280
281281 /* Lets create the RTP source funnel */
282282
283 self->priv->udpsrc_funnels[c] = gst_element_factory_make ("fsfunnel", NULL);
283 self->priv->udpsrc_funnels[c] = gst_element_factory_make ("funnel", NULL);
284284
285285 if (!self->priv->udpsrc_funnels[c])
286286 {
287287 trans->construction_error = g_error_new (FS_ERROR,
288288 FS_ERROR_CONSTRUCTION,
289 "Could not make the fsfunnel element");
289 "Could not make the funnel element");
290290 return;
291291 }
292292
295295 {
296296 trans->construction_error = g_error_new (FS_ERROR,
297297 FS_ERROR_CONSTRUCTION,
298 "Could not add the fsfunnel element to the transmitter src bin");
298 "Could not add the funnel element to the transmitter src bin");
299299 }
300300
301301 pad = gst_element_get_static_pad (self->priv->udpsrc_funnels[c], "src");
302 padname = g_strdup_printf ("src%d", c);
302 padname = g_strdup_printf ("src_%u", c);
303303 ghostpad = gst_ghost_pad_new (padname, pad);
304304 g_free (padname);
305305 gst_object_unref (pad);
329329 }
330330
331331 pad = gst_element_get_static_pad (self->priv->udpsink_tees[c], "sink");
332 padname = g_strdup_printf ("sink%d", c);
332 padname = g_strdup_printf ("sink_%u", c);
333333 ghostpad = gst_ghost_pad_new (padname, pad);
334334 g_free (padname);
335335 gst_object_unref (pad);
361361 "sync", FALSE,
362362 NULL);
363363
364 pad = gst_element_get_request_pad (self->priv->udpsink_tees[c], "src%d");
364 pad = gst_element_get_request_pad (self->priv->udpsink_tees[c], "src_%u");
365365 pad2 = gst_element_get_static_pad (fakesink, "sink");
366366
367367 ret = gst_pad_link (pad, pad2);
548548 guint port;
549549
550550 gint fd;
551 GSocket *socket;
551552
552553 /* These are just convenience pointers to our parent transmitter */
553554 GstElement *funnel;
563564 struct KnownAddress {
564565 FsRawUdpAddressUniqueCallbackFunc callback;
565566 gpointer user_data;
566 GstNetAddress addr;
567 GSocketAddress *addr;
567568 };
568569
569570 static gint
644645 GstBin *bin,
645646 GstElement *teefunnel,
646647 GstElement *filter,
647 gint fd,
648 GSocket *socket,
648649 GstPadDirection direction,
649650 gboolean do_timestamp,
650651 GstPad **requested_pad,
666667 }
667668
668669 g_object_set (elem,
669 "sockfd", fd,
670670 "auto-multicast", FALSE,
671 "closefd", FALSE,
671 "close-socket", FALSE,
672 "socket", socket,
672673 NULL);
673674
674675 if (direction == GST_PAD_SINK)
691692 }
692693
693694 if (direction == GST_PAD_SINK)
694 *requested_pad = gst_element_get_request_pad (teefunnel, "src%d");
695 *requested_pad = gst_element_get_request_pad (teefunnel, "src_%u");
695696 else
696 *requested_pad = gst_element_get_request_pad (teefunnel, "sink%d");
697 *requested_pad = gst_element_get_request_pad (teefunnel, "sink_%u");
697698
698699 if (!*requested_pad)
699700 {
884885 if (udpport->fd < 0)
885886 goto error;
886887
888 udpport->socket = g_socket_new_from_fd (udpport->fd, error);
889 if (!udpport->socket)
890 goto error;
891
887892 /* Now lets create the elements */
888893
889894 udpport->tee = trans->priv->udpsink_tees[component_id];
891896
892897 udpport->udpsrc = _create_sinksource ("udpsrc",
893898 GST_BIN (trans->priv->gst_src), udpport->funnel, NULL,
894 udpport->fd, GST_PAD_SRC, trans->priv->do_timestamp,
899 udpport->socket, GST_PAD_SRC, trans->priv->do_timestamp,
895900 &udpport->udpsrc_requested_pad, error);
896901 if (!udpport->udpsrc)
897902 goto error;
898903
899904 udpport->udpsink = _create_sinksource ("multiudpsink",
900905 GST_BIN (trans->priv->gst_sink), udpport->tee, NULL,
901 udpport->fd, GST_PAD_SINK, FALSE, &udpport->udpsink_requested_pad, error);
906 udpport->socket, GST_PAD_SINK, FALSE, &udpport->udpsink_requested_pad,
907 error);
902908 if (!udpport->udpsink)
903909 goto error;
904910
908914 if (udpport->recvonly_filter)
909915 {
910916 udpport->recvonly_udpsink = _create_sinksource ("multiudpsink",
911 GST_BIN (trans->priv->gst_sink), udpport->tee, udpport->recvonly_filter,
912 udpport->fd, GST_PAD_SINK, FALSE, &udpport->recvonly_requested_pad, error);
917 GST_BIN (trans->priv->gst_sink), udpport->tee,
918 udpport->recvonly_filter, udpport->socket, GST_PAD_SINK, FALSE,
919 &udpport->recvonly_requested_pad, error);
913920 if (!udpport->recvonly_udpsink)
914921 goto error;
915922 }
10171024 GST_ERROR ("Could not remove udpsink element from transmitter source");
10181025 }
10191026
1027 g_clear_object (&udpport->socket);
1028
10201029 if (udpport->fd >= 0)
10211030 close (udpport->fd);
10221031
10231032 if (udpport->mutex)
10241033 g_mutex_free (udpport->mutex);
10251034 if (udpport->known_addresses)
1035 {
1036 guint i;
1037 for (i = 0; i < udpport->known_addresses->len; i++)
1038 g_object_unref (g_array_index (udpport->known_addresses,
1039 struct KnownAddress, i).addr);
10261040 g_array_free (udpport->known_addresses, TRUE);
1041 }
10271042
10281043 g_free (udpport->requested_ip);
10291044 g_slice_free (UdpPort, udpport);
10721087
10731088 gulong
10741089 fs_rawudp_transmitter_udpport_connect_recv (UdpPort *udpport,
1075 GCallback callback,
1090 GstPadProbeCallback callback,
10761091 gpointer user_data)
10771092 {
10781093 GstPad *pad;
10801095
10811096 pad = gst_element_get_static_pad (udpport->udpsrc, "src");
10821097
1083 id = gst_pad_add_buffer_probe (pad, callback, user_data);
1098 id = gst_pad_add_probe (pad,
1099 GST_PAD_PROBE_TYPE_BUFFER,
1100 callback, user_data, NULL);
10841101
10851102 gst_object_unref (pad);
10861103
10941111 {
10951112 GstPad *pad = gst_element_get_static_pad (udpport->udpsrc, "src");
10961113
1097 gst_pad_remove_buffer_probe (pad, id);
1114 gst_pad_remove_probe (pad, id);
10981115
10991116 gst_object_unref (pad);
11001117 }
11321149 /**
11331150 * fs_rawudp_transmitter_udpport_add_known_address:
11341151 * @udpport: a #UdpPort
1135 * @address: the new #GstNetAddress that we know
1152 * @address: the new #GSocketAddress that we know
11361153 * @callback: a Callback that will be called if the uniqueness of an address
11371154 * changes
11381155 * @user_data: data passed back to the callback
11451162
11461163 gboolean
11471164 fs_rawudp_transmitter_udpport_add_known_address (UdpPort *udpport,
1148 GstNetAddress *address,
1165 GSocketAddress *address,
11491166 FsRawUdpAddressUniqueCallbackFunc callback,
11501167 gpointer user_data)
11511168 {
11581175 g_mutex_lock (udpport->mutex);
11591176
11601177 for (i = 0;
1161 g_array_index (udpport->known_addresses, struct KnownAddress, i).callback;
1178 g_array_index (udpport->known_addresses,
1179 struct KnownAddress, i).callback;
11621180 i++)
11631181 {
1164 struct KnownAddress *ka = &g_array_index (udpport->known_addresses, struct KnownAddress, i);
1165 if (gst_netaddress_equal (address, &ka->addr))
1182 struct KnownAddress *ka = &g_array_index (udpport->known_addresses,
1183 struct KnownAddress, i);
1184 if (fs_g_inet_socket_address_equal (address, ka->addr))
11661185 {
11671186 g_assert (!(ka->callback == callback && ka->user_data == user_data));
11681187
11781197 else if (counter == 1)
11791198 {
11801199 if (prev_ka->callback)
1181 prev_ka->callback (FALSE, &prev_ka->addr, prev_ka->user_data);
1182 }
1183
1184 memcpy (&newka.addr, address, sizeof (GstNetAddress));
1200 prev_ka->callback (FALSE, prev_ka->addr, prev_ka->user_data);
1201 }
1202
1203 newka.addr = g_object_ref (address);
11851204 newka.callback = callback;
11861205 newka.user_data = user_data;
11871206
12071226
12081227 void
12091228 fs_rawudp_transmitter_udpport_remove_known_address (UdpPort *udpport,
1210 GstNetAddress *address,
1229 GSocketAddress *address,
12111230 FsRawUdpAddressUniqueCallbackFunc callback,
12121231 gpointer user_data)
12131232 {
12221241 g_array_index (udpport->known_addresses, struct KnownAddress, i).callback;
12231242 i++)
12241243 {
1225 struct KnownAddress *ka = &g_array_index (udpport->known_addresses, struct KnownAddress, i);
1226 if (gst_netaddress_equal (address, &ka->addr))
1244 struct KnownAddress *ka = &g_array_index (udpport->known_addresses,
1245 struct KnownAddress, i);
1246 if (fs_g_inet_socket_address_equal (address, ka->addr))
12271247 {
12281248 if (ka->callback == callback && ka->user_data == user_data)
12291249 {
12441264 }
12451265
12461266 if (counter == 1)
1247 prev_ka->callback (TRUE, &prev_ka->addr, prev_ka->user_data);
1248
1267 prev_ka->callback (TRUE, prev_ka->addr, prev_ka->user_data);
1268
1269 g_object_unref (g_array_index (udpport->known_addresses,
1270 struct KnownAddress, remove_i).addr);
12491271 g_array_remove_index_fast (udpport->known_addresses, remove_i);
12501272
12511273 out:
13061328 out:
13071329 g_mutex_unlock (self->priv->mutex);
13081330 }
1331
1332
1333 /* TEMPORARY: should be in Glib */
1334 gboolean
1335 fs_g_inet_socket_address_equal (GSocketAddress *addr1, GSocketAddress *addr2)
1336 {
1337 GInetSocketAddress *inet1;
1338 GInetSocketAddress *inet2;
1339
1340 if (!G_IS_INET_SOCKET_ADDRESS (addr1) || !G_IS_INET_SOCKET_ADDRESS (addr2))
1341 return FALSE;
1342
1343 inet1 = G_INET_SOCKET_ADDRESS (addr1);
1344 inet2 = G_INET_SOCKET_ADDRESS (addr2);
1345
1346 if (g_inet_socket_address_get_port (inet1) ==
1347 g_inet_socket_address_get_port (inet2) &&
1348 g_inet_address_equal (g_inet_socket_address_get_address (inet1),
1349 g_inet_socket_address_get_address (inet2)))
1350 return TRUE;
1351 else
1352 return FALSE;
1353 }
2626
2727 #include <farstream/fs-transmitter.h>
2828
29 #include <gst/netbuffer/gstnetbuffer.h>
30
3129 #include <gst/gst.h>
30 #include <gst/net/gstnetaddressmeta.h>
3231
3332 #ifdef G_OS_WIN32
3433 # include <ws2tcpip.h>
9291 typedef struct _UdpPort UdpPort;
9392
9493 typedef void (*FsRawUdpAddressUniqueCallbackFunc) (gboolean unique,
95 const GstNetAddress *address, gpointer user_data);
94 GSocketAddress *address, gpointer user_data);
9695
9796 GType fs_rawudp_transmitter_get_type (void);
9897
122121 GError **error);
123122
124123 gulong fs_rawudp_transmitter_udpport_connect_recv (UdpPort *udpport,
125 GCallback callback,
124 GstPadProbeCallback callback,
126125 gpointer user_data);
127126 void fs_rawudp_transmitter_udpport_disconnect_recv (UdpPort *udpport,
128127 gulong id);
134133
135134
136135 gboolean fs_rawudp_transmitter_udpport_add_known_address (UdpPort *udpport,
137 GstNetAddress *address,
136 GSocketAddress *address,
138137 FsRawUdpAddressUniqueCallbackFunc callback,
139138 gpointer user_data);
140139
141140 void fs_rawudp_transmitter_udpport_remove_known_address (UdpPort *udpport,
142 GstNetAddress *address,
141 GSocketAddress *address,
143142 FsRawUdpAddressUniqueCallbackFunc callback,
144143 gpointer user_data);
145144
151150 const gchar *ip,
152151 gint port);
153152
153 gboolean fs_g_inet_socket_address_equal (GSocketAddress *addr1,
154 GSocketAddress *addr2);
155
154156 G_END_DECLS
155157
156158 #endif /* __FS_RAWUDP_TRANSMITTER_H__ */
1515 $(GST_CFLAGS)
1616 libshm_transmitter_la_LDFLAGS = $(FS_PLUGIN_LDFLAGS)
1717 libshm_transmitter_la_LIBADD = \
18 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
18 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
1919 $(FS_LIBS) \
2020 $(GST_BASE_LIBS) \
2121 $(GST_LIBS)
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
0 # Makefile.in generated by automake 1.11.3 from Makefile.am.
11 # @configure_input@
22
33 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 # Foundation, Inc.
66 # This Makefile.in is free software; the Free Software Foundation
77 # gives unlimited permission to copy and/or distribute it,
88 # with or without modifications, as long as this notice is preserved.
3434 POST_UNINSTALL = :
3535 build_triplet = @build@
3636 host_triplet = @host@
37 target_triplet = @target@
3738 subdir = transmitters/shm
3839 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
3940 $(srcdir)/Makefile.in
4243 $(top_srcdir)/common/m4/as-auto-alt.m4 \
4344 $(top_srcdir)/common/m4/as-compiler-flag.m4 \
4445 $(top_srcdir)/common/m4/as-libtool.m4 \
46 $(top_srcdir)/common/m4/as-python.m4 \
4547 $(top_srcdir)/common/m4/as-scrub-include.m4 \
4648 $(top_srcdir)/common/m4/as-version.m4 \
4749 $(top_srcdir)/common/m4/gst-arch.m4 \
5456 $(top_srcdir)/common/m4/gst.m4 \
5557 $(top_srcdir)/common/m4/gtk-doc.m4 \
5658 $(top_srcdir)/common/m4/pkg.m4 \
57 $(top_srcdir)/m4/as-check-python-headers.m4 \
5859 $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/libtool.m4 \
5960 $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
6061 $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
8687 am__base_list = \
8788 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
8889 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
90 am__uninstall_files_from_dir = { \
91 test -z "$$files" \
92 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
93 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
94 $(am__cd) "$$dir" && rm -f $$files; }; \
95 }
8996 am__installdirs = "$(DESTDIR)$(plugindir)"
9097 LTLIBRARIES = $(plugin_LTLIBRARIES)
9198 am__DEPENDENCIES_1 =
9299 libshm_transmitter_la_DEPENDENCIES = \
93 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
100 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
94101 $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
95102 $(am__DEPENDENCIES_1)
96103 am_libshm_transmitter_la_OBJECTS = \
97104 libshm_transmitter_la-fs-shm-transmitter.lo \
98105 libshm_transmitter_la-fs-shm-stream-transmitter.lo
99106 libshm_transmitter_la_OBJECTS = $(am_libshm_transmitter_la_OBJECTS)
100 AM_V_lt = $(am__v_lt_$(V))
101 am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
107 AM_V_lt = $(am__v_lt_@AM_V@)
108 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
102109 am__v_lt_0 = --silent
103110 libshm_transmitter_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
104111 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
114121 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
115122 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
116123 $(AM_CFLAGS) $(CFLAGS)
117 AM_V_CC = $(am__v_CC_$(V))
118 am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
124 AM_V_CC = $(am__v_CC_@AM_V@)
125 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
119126 am__v_CC_0 = @echo " CC " $@;
120 AM_V_at = $(am__v_at_$(V))
121 am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
127 AM_V_at = $(am__v_at_@AM_V@)
128 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
122129 am__v_at_0 = @
123130 CCLD = $(CC)
124131 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
125132 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
126133 $(AM_LDFLAGS) $(LDFLAGS) -o $@
127 AM_V_CCLD = $(am__v_CCLD_$(V))
128 am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
134 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
135 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
129136 am__v_CCLD_0 = @echo " CCLD " $@;
130 AM_V_GEN = $(am__v_GEN_$(V))
131 am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
137 AM_V_GEN = $(am__v_GEN_@AM_V@)
138 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
132139 am__v_GEN_0 = @echo " GEN " $@;
133140 SOURCES = $(libshm_transmitter_la_SOURCES)
134141 DIST_SOURCES = $(libshm_transmitter_la_SOURCES)
141148 AMTAR = @AMTAR@
142149 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
143150 AR = @AR@
151 AS = @AS@
144152 AUTOCONF = @AUTOCONF@
145153 AUTOHEADER = @AUTOHEADER@
146154 AUTOMAKE = @AUTOMAKE@
168176 FGREP = @FGREP@
169177 FS_AGE = @FS_AGE@
170178 FS_ALL_LDFLAGS = @FS_ALL_LDFLAGS@
179 FS_APIVERSION = @FS_APIVERSION@
180 FS_API_VERSION = @FS_API_VERSION@
171181 FS_CFLAGS = @FS_CFLAGS@
172182 FS_CURRENT = @FS_CURRENT@
173183 FS_INTERNAL_CFLAGS = @FS_INTERNAL_CFLAGS@
176186 FS_LIB_LDFLAGS = @FS_LIB_LDFLAGS@
177187 FS_LICENSE = @FS_LICENSE@
178188 FS_LT_LDFLAGS = @FS_LT_LDFLAGS@
179 FS_MAJORMINOR = @FS_MAJORMINOR@
180 FS_MAJOR_MINOR = @FS_MAJOR_MINOR@
181189 FS_OPTION_CFLAGS = @FS_OPTION_CFLAGS@
182190 FS_PLUGINS_ALL = @FS_PLUGINS_ALL@
183191 FS_PLUGINS_SELECTED = @FS_PLUGINS_SELECTED@
190198 GCOV = @GCOV@
191199 GCOV_CFLAGS = @GCOV_CFLAGS@
192200 GCOV_LIBS = @GCOV_LIBS@
201 GIO_CFLAGS = @GIO_CFLAGS@
202 GIO_LDFLAGS = @GIO_LDFLAGS@
203 GIO_LIBS = @GIO_LIBS@
193204 GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
194205 GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
195206 GLIB_CFLAGS = @GLIB_CFLAGS@
199210 GLIB_REQ = @GLIB_REQ@
200211 GREP = @GREP@
201212 GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
213 GST_API_VERSION = @GST_API_VERSION@
202214 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
203215 GST_BASE_LIBS = @GST_BASE_LIBS@
204216 GST_CFLAGS = @GST_CFLAGS@
207219 GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
208220 GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
209221 GST_LIBS = @GST_LIBS@
210 GST_MAJORMINOR = @GST_MAJORMINOR@
211222 GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
212223 GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
213224 GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
217228 GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
218229 GST_TOOLS_DIR = @GST_TOOLS_DIR@
219230 GTKDOC_CHECK = @GTKDOC_CHECK@
231 GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
232 GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
233 GTKDOC_MKPDF = @GTKDOC_MKPDF@
234 GTKDOC_REBASE = @GTKDOC_REBASE@
220235 GUPNP_CFLAGS = @GUPNP_CFLAGS@
221236 GUPNP_LIBS = @GUPNP_LIBS@
222237 HTML_DIR = @HTML_DIR@
268283 PKG_CONFIG = @PKG_CONFIG@
269284 PLUGINDIR = @PLUGINDIR@
270285 PROFILE_CFLAGS = @PROFILE_CFLAGS@
271 PYCODEGEN = @PYCODEGEN@
272 PYCODEGEN_CFLAGS = @PYCODEGEN_CFLAGS@
273 PYCODEGEN_LIBS = @PYCODEGEN_LIBS@
274 PYFARSTREAM_CFLAGS = @PYFARSTREAM_CFLAGS@
275 PYFARSTREAM_LIBS = @PYFARSTREAM_LIBS@
276286 PYTHON = @PYTHON@
277287 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
278 PYTHON_INCLUDES = @PYTHON_INCLUDES@
279288 PYTHON_PLATFORM = @PYTHON_PLATFORM@
280289 PYTHON_PREFIX = @PYTHON_PREFIX@
281290 PYTHON_VERSION = @PYTHON_VERSION@
342351 sharedstatedir = @sharedstatedir@
343352 srcdir = @srcdir@
344353 sysconfdir = @sysconfdir@
354 target = @target@
345355 target_alias = @target_alias@
356 target_cpu = @target_cpu@
357 target_os = @target_os@
358 target_vendor = @target_vendor@
346359 top_build_prefix = @top_build_prefix@
347360 top_builddir = @top_builddir@
348361 top_srcdir = @top_srcdir@
363376
364377 libshm_transmitter_la_LDFLAGS = $(FS_PLUGIN_LDFLAGS)
365378 libshm_transmitter_la_LIBADD = \
366 $(top_builddir)/farstream/libfarstream-@FS_MAJORMINOR@.la \
379 $(top_builddir)/farstream/libfarstream-@FS_APIVERSION@.la \
367380 $(FS_LIBS) \
368381 $(GST_BASE_LIBS) \
369382 $(GST_LIBS)
437450 echo "rm -f \"$${dir}/so_locations\""; \
438451 rm -f "$${dir}/so_locations"; \
439452 done
440 libshm-transmitter.la: $(libshm_transmitter_la_OBJECTS) $(libshm_transmitter_la_DEPENDENCIES)
453 libshm-transmitter.la: $(libshm_transmitter_la_OBJECTS) $(libshm_transmitter_la_DEPENDENCIES) $(EXTRA_libshm_transmitter_la_DEPENDENCIES)
441454 $(AM_V_CCLD)$(libshm_transmitter_la_LINK) -rpath $(plugindir) $(libshm_transmitter_la_OBJECTS) $(libshm_transmitter_la_LIBADD) $(LIBS)
442455
443456 mostlyclean-compile:
452465 .c.o:
453466 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
454467 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
455 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
456 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
468 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
457469 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
458 @am__fastdepCC_FALSE@ $(COMPILE) -c $<
470 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
459471
460472 .c.obj:
461473 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
462474 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
463 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
464 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
475 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
465476 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
466 @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
477 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
467478
468479 .c.lo:
469480 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
470481 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
471 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
472 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
482 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
473483 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
474 @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
484 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
475485
476486 libshm_transmitter_la-fs-shm-transmitter.lo: fs-shm-transmitter.c
477487 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libshm_transmitter_la_CFLAGS) $(CFLAGS) -MT libshm_transmitter_la-fs-shm-transmitter.lo -MD -MP -MF $(DEPDIR)/libshm_transmitter_la-fs-shm-transmitter.Tpo -c -o libshm_transmitter_la-fs-shm-transmitter.lo `test -f 'fs-shm-transmitter.c' || echo '$(srcdir)/'`fs-shm-transmitter.c
478488 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshm_transmitter_la-fs-shm-transmitter.Tpo $(DEPDIR)/libshm_transmitter_la-fs-shm-transmitter.Plo
479 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
480 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-shm-transmitter.c' object='libshm_transmitter_la-fs-shm-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
489 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-shm-transmitter.c' object='libshm_transmitter_la-fs-shm-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
481490 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
482 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libshm_transmitter_la_CFLAGS) $(CFLAGS) -c -o libshm_transmitter_la-fs-shm-transmitter.lo `test -f 'fs-shm-transmitter.c' || echo '$(srcdir)/'`fs-shm-transmitter.c
491 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libshm_transmitter_la_CFLAGS) $(CFLAGS) -c -o libshm_transmitter_la-fs-shm-transmitter.lo `test -f 'fs-shm-transmitter.c' || echo '$(srcdir)/'`fs-shm-transmitter.c
483492
484493 libshm_transmitter_la-fs-shm-stream-transmitter.lo: fs-shm-stream-transmitter.c
485494 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libshm_transmitter_la_CFLAGS) $(CFLAGS) -MT libshm_transmitter_la-fs-shm-stream-transmitter.lo -MD -MP -MF $(DEPDIR)/libshm_transmitter_la-fs-shm-stream-transmitter.Tpo -c -o libshm_transmitter_la-fs-shm-stream-transmitter.lo `test -f 'fs-shm-stream-transmitter.c' || echo '$(srcdir)/'`fs-shm-stream-transmitter.c
486495 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libshm_transmitter_la-fs-shm-stream-transmitter.Tpo $(DEPDIR)/libshm_transmitter_la-fs-shm-stream-transmitter.Plo
487 @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
488 @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='fs-shm-stream-transmitter.c' object='libshm_transmitter_la-fs-shm-stream-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
496 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fs-shm-stream-transmitter.c' object='libshm_transmitter_la-fs-shm-stream-transmitter.lo' libtool=yes @AMDEPBACKSLASH@
489497 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
490 @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libshm_transmitter_la_CFLAGS) $(CFLAGS) -c -o libshm_transmitter_la-fs-shm-stream-transmitter.lo `test -f 'fs-shm-stream-transmitter.c' || echo '$(srcdir)/'`fs-shm-stream-transmitter.c
498 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libshm_transmitter_la_CFLAGS) $(CFLAGS) -c -o libshm_transmitter_la-fs-shm-stream-transmitter.lo `test -f 'fs-shm-stream-transmitter.c' || echo '$(srcdir)/'`fs-shm-stream-transmitter.c
491499
492500 mostlyclean-libtool:
493501 -rm -f *.lo
594602
595603 installcheck: installcheck-am
596604 install-strip:
597 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
598 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
599 `test -z '$(STRIP)' || \
600 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
605 if test -z '$(STRIP)'; then \
606 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
607 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
608 install; \
609 else \
610 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
611 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
612 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
613 fi
601614 mostlyclean-generic:
602615
603616 clean-generic:
345345
346346 /* Lets create the RTP source funnel */
347347
348 self->priv->funnels[c] = gst_element_factory_make ("fsfunnel", NULL);
348 self->priv->funnels[c] = gst_element_factory_make ("funnel", NULL);
349349
350350 if (!self->priv->funnels[c]) {
351351 trans->construction_error = g_error_new (FS_ERROR,
352352 FS_ERROR_CONSTRUCTION,
353 "Could not make the fsfunnel element");
353 "Could not make the funnel element");
354354 return;
355355 }
356356
358358 self->priv->funnels[c])) {
359359 trans->construction_error = g_error_new (FS_ERROR,
360360 FS_ERROR_CONSTRUCTION,
361 "Could not add the fsfunnel element to the transmitter src bin");
361 "Could not add the funnel element to the transmitter src bin");
362362 }
363363
364364 pad = gst_element_get_static_pad (self->priv->funnels[c], "src");
365 padname = g_strdup_printf ("src%d", c);
365 padname = g_strdup_printf ("src_%u", c);
366366 ghostpad = gst_ghost_pad_new (padname, pad);
367367 g_free (padname);
368368 gst_object_unref (pad);
390390 }
391391
392392 pad = gst_element_get_static_pad (self->priv->tees[c], "sink");
393 padname = g_strdup_printf ("sink%d", c);
393 padname = g_strdup_printf ("sink_%u", c);
394394 ghostpad = gst_ghost_pad_new (padname, pad);
395395 g_free (padname);
396396 gst_object_unref (pad);
421421 return;
422422 }
423423
424 pad = gst_element_get_request_pad (self->priv->tees[c], "src%d");
424 pad = gst_element_get_request_pad (self->priv->tees[c], "src_%u");
425425 pad2 = gst_element_get_static_pad (fakesink, "sink");
426426
427427 ret = gst_pad_link (pad, pad2);
569569 };
570570
571571
572 static gboolean
573 src_buffer_probe_cb (GstPad *pad, GstBuffer *buffer, ShmSrc *shm)
574 {
572 static GstPadProbeReturn
573 src_buffer_probe_cb (GstPad *pad, GstPadProbeInfo *info, gpointer user_data)
574 {
575 ShmSrc *shm = user_data;
576 GstBuffer *buffer = GST_PAD_PROBE_INFO_BUFFER (info);
577
575578 shm->got_buffer_func (buffer, shm->component, shm->cb_data);
576579
577580 return TRUE;
637640 shm->src = elem;
638641
639642 shm->funnelpad = gst_element_get_request_pad (self->priv->funnels[component],
640 "sink%d");
643 "sink_%u");
641644
642645 if (!shm->funnelpad)
643646 {
658661 gst_object_unref (pad);
659662
660663 if (got_buffer_func)
661 shm->buffer_probe = gst_pad_add_buffer_probe (shm->funnelpad,
662 G_CALLBACK (src_buffer_probe_cb), shm);
664 shm->buffer_probe = gst_pad_add_probe (shm->funnelpad,
665 GST_PAD_PROBE_TYPE_BUFFER,
666 src_buffer_probe_cb, shm, NULL);
663667
664668 if (!gst_element_sync_state_with_parent (shm->src))
665669 {
687691 return TRUE;
688692
689693 if (shm->buffer_probe)
690 gst_pad_remove_buffer_probe (shm->funnelpad, shm->buffer_probe);
694 gst_pad_remove_probe (shm->funnelpad, shm->buffer_probe);
691695 shm->buffer_probe = 0;
692696
693697 if (shm->src)
844848 }
845849
846850 shm->teepad = gst_element_get_request_pad (self->priv->tees[component],
847 "src%d");
851 "src_%u");
848852
849853 if (!shm->teepad)
850854 {