1 |
tester 12/03/31 21:01:56 |
2 |
|
3 |
Added: port-to-farstream-v5.patch |
4 |
Log: |
5 |
Add package.masked version that uses farstream instead of farsight2 |
6 |
|
7 |
(Portage version: 2.1.10.49/cvs/Linux x86_64) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 net-im/pidgin/files/port-to-farstream-v5.patch |
11 |
|
12 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/pidgin/files/port-to-farstream-v5.patch?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/pidgin/files/port-to-farstream-v5.patch?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: port-to-farstream-v5.patch |
16 |
=================================================================== |
17 |
diff -aur pidgin-2.10.3-orig//configure.ac pidgin-2.10.3/configure.ac |
18 |
--- pidgin-2.10.3-orig//configure.ac 2012-03-25 23:49:14.000000000 -0400 |
19 |
+++ pidgin-2.10.3/configure.ac 2012-03-31 16:23:09.772818869 -0400 |
20 |
@@ -786,18 +786,18 @@ |
21 |
fi |
22 |
|
23 |
dnl ####################################################################### |
24 |
-dnl # Check for Farsight |
25 |
+dnl # Check for Farstream |
26 |
dnl ####################################################################### |
27 |
-AC_ARG_ENABLE(farsight, |
28 |
- [AC_HELP_STRING([--disable-farsight], [compile without farsight support])], |
29 |
- enable_farsight="$enableval", enable_farsight="yes") |
30 |
-if test "x$enable_farsight" != "xno"; then |
31 |
- PKG_CHECK_MODULES(FARSIGHT, [farsight2-0.10 >= 0.0.9], [ |
32 |
- AC_DEFINE(USE_FARSIGHT, 1, [Use Farsight for voice and video]) |
33 |
- AC_SUBST(FARSIGHT_CFLAGS) |
34 |
- AC_SUBST(FARSIGHT_LIBS) |
35 |
+AC_ARG_ENABLE(farstream, |
36 |
+ [AC_HELP_STRING([--disable-farstream], [compile without farstream support])], |
37 |
+ enable_farstream="$enableval", enable_farstream="yes") |
38 |
+if test "x$enable_farstream" != "xno"; then |
39 |
+ PKG_CHECK_MODULES(FARSTREAM, [farstream-0.1], [ |
40 |
+ AC_DEFINE(USE_FARSTREAM, 1, [Use Farstream for voice and video]) |
41 |
+ AC_SUBST(FARSTREAM_CFLAGS) |
42 |
+ AC_SUBST(FARSTREAM_LIBS) |
43 |
], [ |
44 |
- enable_farsight="no" |
45 |
+ enable_farstream="no" |
46 |
]) |
47 |
fi |
48 |
|
49 |
@@ -808,20 +808,20 @@ |
50 |
[AC_HELP_STRING([--disable-vv], [compile without voice and video support])], |
51 |
enable_vv="$enableval", enable_vv="yes") |
52 |
if test "x$enable_vv" != "xno"; then |
53 |
- if test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farsight" != "xno"; then |
54 |
+ if test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farstream" != "xno"; then |
55 |
AC_DEFINE(USE_VV, 1, [Use voice and video]) |
56 |
else |
57 |
enable_vv="no" |
58 |
if test "x$force_deps" = "xyes"; then |
59 |
AC_MSG_ERROR([ |
60 |
Dependencies for voice/video were not met. |
61 |
-Install the necessary gstreamer and farsight packages first. |
62 |
+Install the necessary gstreamer and farstream packages first. |
63 |
Or use --disable-vv if you do not need voice/video support. |
64 |
]) |
65 |
fi |
66 |
fi |
67 |
fi |
68 |
-AM_CONDITIONAL(USE_VV, test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farsight" != "xno") |
69 |
+AM_CONDITIONAL(USE_VV, test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farstream" != "xno") |
70 |
|
71 |
dnl ####################################################################### |
72 |
dnl # Check for Internationalized Domain Name support |
73 |
Only in pidgin-2.10.3: configure.ac.orig |
74 |
diff -aur pidgin-2.10.3-orig//libpurple/Makefile.am pidgin-2.10.3/libpurple/Makefile.am |
75 |
--- pidgin-2.10.3-orig//libpurple/Makefile.am 2012-03-25 23:49:15.000000000 -0400 |
76 |
+++ pidgin-2.10.3/libpurple/Makefile.am 2012-03-31 16:23:09.776152155 -0400 |
77 |
@@ -306,7 +306,7 @@ |
78 |
$(LIBXML_LIBS) \ |
79 |
$(NETWORKMANAGER_LIBS) \ |
80 |
$(INTLLIBS) \ |
81 |
- $(FARSIGHT_LIBS) \ |
82 |
+ $(FARSTREAM_LIBS) \ |
83 |
$(GSTREAMER_LIBS) \ |
84 |
$(GSTINTERFACES_LIBS) \ |
85 |
$(IDN_LIBS) \ |
86 |
@@ -322,7 +322,7 @@ |
87 |
$(DEBUG_CFLAGS) \ |
88 |
$(DBUS_CFLAGS) \ |
89 |
$(LIBXML_CFLAGS) \ |
90 |
- $(FARSIGHT_CFLAGS) \ |
91 |
+ $(FARSTREAM_CFLAGS) \ |
92 |
$(GSTREAMER_CFLAGS) \ |
93 |
$(GSTINTERFACES_CFLAGS) \ |
94 |
$(IDN_CFLAGS) \ |
95 |
diff -aur pidgin-2.10.3-orig//libpurple/media/backend-fs2.c pidgin-2.10.3/libpurple/media/backend-fs2.c |
96 |
--- pidgin-2.10.3-orig//libpurple/media/backend-fs2.c 2012-03-25 23:49:16.000000000 -0400 |
97 |
+++ pidgin-2.10.3/libpurple/media/backend-fs2.c 2012-03-31 16:41:52.840615660 -0400 |
98 |
@@ -1,5 +1,5 @@ |
99 |
/** |
100 |
- * @file backend-fs2.c Farsight 2 backend for media API |
101 |
+ * @file backend-fs2.c Farstream backend for media API |
102 |
* @ingroup core |
103 |
*/ |
104 |
|
105 |
@@ -34,8 +34,9 @@ |
106 |
#include "network.h" |
107 |
#include "media-gst.h" |
108 |
|
109 |
-#include <gst/farsight/fs-conference-iface.h> |
110 |
-#include <gst/farsight/fs-element-added-notifier.h> |
111 |
+#include <farstream/fs-conference.h> |
112 |
+#include <farstream/fs-element-added-notifier.h> |
113 |
+#include <farstream/fs-utils.h> |
114 |
|
115 |
/** @copydoc _PurpleMediaBackendFs2Class */ |
116 |
typedef struct _PurpleMediaBackendFs2Class PurpleMediaBackendFs2Class; |
117 |
@@ -112,6 +113,8 @@ |
118 |
gchar *participant; |
119 |
FsStream *stream; |
120 |
|
121 |
+ gboolean supports_add; |
122 |
+ |
123 |
GstElement *src; |
124 |
GstElement *tee; |
125 |
GstElement *volume; |
126 |
@@ -147,6 +150,8 @@ |
127 |
FsConference *conference; |
128 |
gchar *conference_type; |
129 |
|
130 |
+ FsElementAddedNotifier *notifier; |
131 |
+ |
132 |
GHashTable *sessions; |
133 |
GHashTable *participants; |
134 |
|
135 |
@@ -212,6 +217,11 @@ |
136 |
|
137 |
purple_debug_info("backend-fs2", "purple_media_backend_fs2_dispose\n"); |
138 |
|
139 |
+ if (priv->notifier) { |
140 |
+ g_object_unref(priv->notifier); |
141 |
+ priv->notifier = NULL; |
142 |
+ } |
143 |
+ |
144 |
if (priv->confbin) { |
145 |
GstElement *pipeline; |
146 |
|
147 |
@@ -846,7 +856,7 @@ |
148 |
priv->conference != FS_CONFERENCE(src)) |
149 |
return; |
150 |
|
151 |
- if (gst_structure_has_name(msg->structure, "farsight-error")) { |
152 |
+ if (gst_structure_has_name(msg->structure, "farstream-error")) { |
153 |
FsError error_no; |
154 |
gst_structure_get_enum(msg->structure, "error-no", |
155 |
FS_TYPE_ERROR, (gint*)&error_no); |
156 |
@@ -859,24 +869,9 @@ |
157 |
" packages.")); |
158 |
purple_media_end(priv->media, NULL, NULL); |
159 |
break; |
160 |
- case FS_ERROR_NO_CODECS_LEFT: |
161 |
- purple_media_error(priv->media, _("No codecs" |
162 |
- " left. Your codec" |
163 |
- " preferences in" |
164 |
- " fs-codecs.conf are too" |
165 |
- " strict.")); |
166 |
- purple_media_end(priv->media, NULL, NULL); |
167 |
- break; |
168 |
- case FS_ERROR_UNKNOWN_CNAME: |
169 |
- /* |
170 |
- * Unknown CName is only a problem for the |
171 |
- * multicast transmitter which isn't used. |
172 |
- * It is also deprecated. |
173 |
- */ |
174 |
- break; |
175 |
default: |
176 |
purple_debug_error("backend-fs2", |
177 |
- "farsight-error: %i: %s\n", |
178 |
+ "farstream-error: %i: %s\n", |
179 |
error_no, |
180 |
gst_structure_get_string( |
181 |
msg->structure, "error-msg")); |
182 |
@@ -885,11 +880,11 @@ |
183 |
|
184 |
if (FS_ERROR_IS_FATAL(error_no)) { |
185 |
purple_media_error(priv->media, _("A non-recoverable " |
186 |
- "Farsight2 error has occurred.")); |
187 |
+ "Farstream error has occurred.")); |
188 |
purple_media_end(priv->media, NULL, NULL); |
189 |
} |
190 |
} else if (gst_structure_has_name(msg->structure, |
191 |
- "farsight-new-local-candidate")) { |
192 |
+ "farstream-new-local-candidate")) { |
193 |
const GValue *value; |
194 |
FsStream *stream; |
195 |
FsCandidate *local_candidate; |
196 |
@@ -924,7 +919,7 @@ |
197 |
session->id, name, candidate); |
198 |
g_object_unref(candidate); |
199 |
} else if (gst_structure_has_name(msg->structure, |
200 |
- "farsight-local-candidates-prepared")) { |
201 |
+ "farstream-local-candidates-prepared")) { |
202 |
const GValue *value; |
203 |
FsStream *stream; |
204 |
FsParticipant *participant; |
205 |
@@ -942,7 +937,7 @@ |
206 |
g_signal_emit_by_name(self, "candidates-prepared", |
207 |
session->id, name); |
208 |
} else if (gst_structure_has_name(msg->structure, |
209 |
- "farsight-new-active-candidate-pair")) { |
210 |
+ "farstream-new-active-candidate-pair")) { |
211 |
const GValue *value; |
212 |
FsStream *stream; |
213 |
FsCandidate *local_candidate; |
214 |
@@ -976,7 +971,7 @@ |
215 |
g_object_unref(lcandidate); |
216 |
g_object_unref(rcandidate); |
217 |
} else if (gst_structure_has_name(msg->structure, |
218 |
- "farsight-recv-codecs-changed")) { |
219 |
+ "farstream-recv-codecs-changed")) { |
220 |
const GValue *value; |
221 |
GList *codecs; |
222 |
FsCodec *codec; |
223 |
@@ -986,10 +981,10 @@ |
224 |
codec = codecs->data; |
225 |
|
226 |
purple_debug_info("backend-fs2", |
227 |
- "farsight-recv-codecs-changed: %s\n", |
228 |
+ "farstream-recv-codecs-changed: %s\n", |
229 |
codec->encoding_name); |
230 |
} else if (gst_structure_has_name(msg->structure, |
231 |
- "farsight-component-state-changed")) { |
232 |
+ "farstream-component-state-changed")) { |
233 |
const GValue *value; |
234 |
FsStreamState fsstate; |
235 |
guint component; |
236 |
@@ -1025,11 +1020,11 @@ |
237 |
} |
238 |
|
239 |
purple_debug_info("backend-fs2", |
240 |
- "farsight-component-state-changed: " |
241 |
+ "farstream-component-state-changed: " |
242 |
"component: %u state: %s\n", |
243 |
component, state); |
244 |
} else if (gst_structure_has_name(msg->structure, |
245 |
- "farsight-send-codec-changed")) { |
246 |
+ "farstream-send-codec-changed")) { |
247 |
const GValue *value; |
248 |
FsCodec *codec; |
249 |
gchar *codec_str; |
250 |
@@ -1039,12 +1034,12 @@ |
251 |
codec_str = fs_codec_to_string(codec); |
252 |
|
253 |
purple_debug_info("backend-fs2", |
254 |
- "farsight-send-codec-changed: codec: %s\n", |
255 |
+ "farstream-send-codec-changed: codec: %s\n", |
256 |
codec_str); |
257 |
|
258 |
g_free(codec_str); |
259 |
} else if (gst_structure_has_name(msg->structure, |
260 |
- "farsight-codecs-changed")) { |
261 |
+ "farstream-codecs-changed")) { |
262 |
const GValue *value; |
263 |
FsSession *fssession; |
264 |
GList *sessions; |
265 |
@@ -1220,8 +1215,12 @@ |
266 |
purple_media_is_initiator(media, sid, name)) |
267 |
return; |
268 |
|
269 |
- fs_stream_set_remote_candidates(stream->stream, |
270 |
- stream->remote_candidates, &err); |
271 |
+ if (stream->supports_add) |
272 |
+ fs_stream_add_remote_candidates(stream->stream, |
273 |
+ stream->remote_candidates, &err); |
274 |
+ else |
275 |
+ fs_stream_force_remote_candidates(stream->stream, |
276 |
+ stream->remote_candidates, &err); |
277 |
|
278 |
if (err == NULL) |
279 |
return; |
280 |
@@ -1301,6 +1300,7 @@ |
281 |
GstElement *pipeline; |
282 |
GstBus *bus; |
283 |
gchar *name; |
284 |
+ GKeyFile *default_props; |
285 |
|
286 |
priv->conference = FS_CONFERENCE( |
287 |
gst_element_factory_make(priv->conference_type, NULL)); |
288 |
@@ -1343,6 +1343,14 @@ |
289 |
return FALSE; |
290 |
} |
291 |
|
292 |
+ default_props = fs_utils_get_default_element_properties(GST_ELEMENT(priv->conference)); |
293 |
+ if (default_props != NULL) { |
294 |
+ priv->notifier = fs_element_added_notifier_new(); |
295 |
+ fs_element_added_notifier_add(priv->notifier, |
296 |
+ GST_BIN(priv->confbin)); |
297 |
+ fs_element_added_notifier_set_properties_from_keyfile(priv->notifier, default_props); |
298 |
+ } |
299 |
+ |
300 |
g_signal_connect(G_OBJECT(bus), "message", |
301 |
G_CALLBACK(gst_bus_cb), self); |
302 |
gst_object_unref(bus); |
303 |
@@ -1559,7 +1567,7 @@ |
304 |
* receiving the src-pad-added signal. |
305 |
* Only works for non-multicast FsRtpSessions. |
306 |
*/ |
307 |
- if (is_nice || !strcmp(transmitter, "rawudp")) |
308 |
+ if (!!strcmp(transmitter, "multicast")) |
309 |
g_object_set(G_OBJECT(session->session), |
310 |
"no-rtcp-timeout", 0, NULL); |
311 |
|
312 |
@@ -1612,7 +1620,7 @@ |
313 |
GError *err = NULL; |
314 |
|
315 |
participant = fs_conference_new_participant( |
316 |
- priv->conference, name, &err); |
317 |
+ priv->conference, &err); |
318 |
|
319 |
if (err) { |
320 |
purple_debug_error("backend-fs2", |
321 |
@@ -1622,6 +1630,12 @@ |
322 |
return FALSE; |
323 |
} |
324 |
|
325 |
+ if (g_object_class_find_property(G_OBJECT_GET_CLASS(participant), |
326 |
+ "cname")) { |
327 |
+ g_object_set(participant, "cname", name, NULL); |
328 |
+ } |
329 |
+ |
330 |
+ |
331 |
if (!priv->participants) { |
332 |
purple_debug_info("backend-fs2", |
333 |
"Creating hash table for participants\n"); |
334 |
@@ -1786,6 +1800,40 @@ |
335 |
} |
336 |
} |
337 |
|
338 |
+ |
339 |
+ session = get_session(self, sess_id); |
340 |
+ |
341 |
+ if (session == NULL) { |
342 |
+ purple_debug_error("backend-fs2", |
343 |
+ "Couldn't find session to create stream.\n"); |
344 |
+ return FALSE; |
345 |
+ } |
346 |
+ |
347 |
+ participant = get_participant(self, who); |
348 |
+ |
349 |
+ if (participant == NULL) { |
350 |
+ purple_debug_error("backend-fs2", "Couldn't find " |
351 |
+ "participant to create stream.\n"); |
352 |
+ return FALSE; |
353 |
+ } |
354 |
+ |
355 |
+ fsstream = fs_session_new_stream(session->session, participant, |
356 |
+ initiator == TRUE ? type_direction : |
357 |
+ (type_direction & FS_DIRECTION_RECV), &err); |
358 |
+ |
359 |
+ if (fsstream == NULL) { |
360 |
+ if (err) { |
361 |
+ purple_debug_error("backend-fs2", |
362 |
+ "Error creating stream: %s\n", |
363 |
+ err && err->message ? |
364 |
+ err->message : "NULL"); |
365 |
+ g_error_free(err); |
366 |
+ } else |
367 |
+ purple_debug_error("backend-fs2", |
368 |
+ "Error creating stream\n"); |
369 |
+ return FALSE; |
370 |
+ } |
371 |
+ |
372 |
memcpy(_params, params, sizeof(GParameter) * num_params); |
373 |
|
374 |
/* set the controlling mode parameter */ |
375 |
@@ -1840,45 +1888,22 @@ |
376 |
_num_params++; |
377 |
} |
378 |
|
379 |
- session = get_session(self, sess_id); |
380 |
|
381 |
- if (session == NULL) { |
382 |
- purple_debug_error("backend-fs2", |
383 |
- "Couldn't find session to create stream.\n"); |
384 |
- return FALSE; |
385 |
- } |
386 |
- |
387 |
- participant = get_participant(self, who); |
388 |
- |
389 |
- if (participant == NULL) { |
390 |
- purple_debug_error("backend-fs2", "Couldn't find " |
391 |
- "participant to create stream.\n"); |
392 |
- return FALSE; |
393 |
+ if(!fs_stream_set_transmitter(fsstream, transmitter, |
394 |
+ _params, _num_params, &err)) { |
395 |
+ purple_debug_error("backend-fs2", "Could not set transmitter %s: %s.\n", transmitter, err->message); |
396 |
+ g_clear_error(&err); |
397 |
+ g_free(_params); |
398 |
+ return FALSE; |
399 |
} |
400 |
- |
401 |
- fsstream = fs_session_new_stream(session->session, participant, |
402 |
- initiator == TRUE ? type_direction : |
403 |
- (type_direction & FS_DIRECTION_RECV), transmitter, |
404 |
- _num_params, _params, &err); |
405 |
g_free(_params); |
406 |
|
407 |
- if (fsstream == NULL) { |
408 |
- if (err) { |
409 |
- purple_debug_error("backend-fs2", |
410 |
- "Error creating stream: %s\n", |
411 |
- err && err->message ? |
412 |
- err->message : "NULL"); |
413 |
- g_error_free(err); |
414 |
- } else |
415 |
- purple_debug_error("backend-fs2", |
416 |
- "Error creating stream\n"); |
417 |
- return FALSE; |
418 |
- } |
419 |
|
420 |
stream = g_new0(PurpleMediaBackendFs2Stream, 1); |
421 |
stream->participant = g_strdup(who); |
422 |
stream->session = session; |
423 |
stream->stream = fsstream; |
424 |
+ stream->supports_add = !strcmp(transmitter, "nice"); |
425 |
|
426 |
priv->streams = g_list_append(priv->streams, stream); |
427 |
|
428 |
@@ -1991,7 +2016,11 @@ |
429 |
if (purple_media_is_initiator(priv->media, sess_id, participant) || |
430 |
purple_media_accepted( |
431 |
priv->media, sess_id, participant)) { |
432 |
- fs_stream_set_remote_candidates(stream->stream, |
433 |
+ if (stream->supports_add) |
434 |
+ fs_stream_add_remote_candidates(stream->stream, |
435 |
+ stream->remote_candidates, &err); |
436 |
+ else |
437 |
+ fs_stream_force_remote_candidates(stream->stream, |
438 |
stream->remote_candidates, &err); |
439 |
|
440 |
if (err) { |
441 |
@@ -2016,6 +2045,7 @@ |
442 |
if (sess_id != NULL) { |
443 |
PurpleMediaBackendFs2Session *session = get_session( |
444 |
PURPLE_MEDIA_BACKEND_FS2(self), sess_id); |
445 |
+ GList *codecs = NULL; |
446 |
|
447 |
if (session == NULL) |
448 |
return FALSE; |
449 |
@@ -2023,21 +2053,31 @@ |
450 |
if (session->type & (PURPLE_MEDIA_SEND_AUDIO | |
451 |
PURPLE_MEDIA_SEND_VIDEO)) |
452 |
g_object_get(session->session, |
453 |
- "codecs-ready", &ret, NULL); |
454 |
+ "codecs", &codecs, NULL); |
455 |
else |
456 |
ret = TRUE; |
457 |
+ if (codecs) { |
458 |
+ fs_codec_list_destroy (codecs); |
459 |
+ ret = TRUE; |
460 |
+ } |
461 |
} else { |
462 |
GList *values = g_hash_table_get_values(priv->sessions); |
463 |
|
464 |
for (; values; values = g_list_delete_link(values, values)) { |
465 |
PurpleMediaBackendFs2Session *session = values->data; |
466 |
+ GList *codecs = NULL; |
467 |
+ |
468 |
if (session->type & (PURPLE_MEDIA_SEND_AUDIO | |
469 |
PURPLE_MEDIA_SEND_VIDEO)) |
470 |
g_object_get(session->session, |
471 |
- "codecs-ready", &ret, NULL); |
472 |
+ "codecs", &codecs, NULL); |
473 |
else |
474 |
ret = TRUE; |
475 |
|
476 |
+ if (codecs) { |
477 |
+ fs_codec_list_destroy (codecs); |
478 |
+ ret = TRUE; |
479 |
+ } |
480 |
if (ret == FALSE) |
481 |
break; |
482 |
} |
483 |
Only in pidgin-2.10.3/libpurple/media: backend-fs2.c~ |
484 |
diff -aur pidgin-2.10.3-orig//libpurple/media.c pidgin-2.10.3/libpurple/media.c |
485 |
--- pidgin-2.10.3-orig//libpurple/media.c 2012-03-25 23:49:16.000000000 -0400 |
486 |
+++ pidgin-2.10.3/libpurple/media.c 2012-03-31 16:23:09.789485312 -0400 |
487 |
@@ -1067,7 +1067,6 @@ |
488 |
{ |
489 |
#ifdef USE_VV |
490 |
PurpleMediaSession *session; |
491 |
- PurpleMediaStream *stream = NULL; |
492 |
|
493 |
g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); |
494 |
|
495 |
@@ -1103,7 +1102,7 @@ |
496 |
} |
497 |
|
498 |
if (purple_media_get_stream(media, sess_id, who) == NULL) { |
499 |
- stream = purple_media_insert_stream(session, who, initiator); |
500 |
+ purple_media_insert_stream(session, who, initiator); |
501 |
|
502 |
g_signal_emit(media, purple_media_signals[STATE_CHANGED], |
503 |
0, PURPLE_MEDIA_STATE_NEW, |
504 |
diff -aur pidgin-2.10.3-orig//libpurple/mediamanager.c pidgin-2.10.3/libpurple/mediamanager.c |
505 |
--- pidgin-2.10.3-orig//libpurple/mediamanager.c 2012-03-25 23:49:16.000000000 -0400 |
506 |
+++ pidgin-2.10.3/libpurple/mediamanager.c 2012-03-31 16:23:09.789485312 -0400 |
507 |
@@ -39,7 +39,7 @@ |
508 |
#ifdef USE_VV |
509 |
#include <media/backend-fs2.h> |
510 |
|
511 |
-#include <gst/farsight/fs-element-added-notifier.h> |
512 |
+#include <farstream/fs-element-added-notifier.h> |
513 |
#include <gst/interfaces/xoverlay.h> |
514 |
|
515 |
/** @copydoc _PurpleMediaManagerPrivate */ |