--- a/libpurple/mediamanager.c Sun May 15 05:41:39 2016 -0300
+++ b/libpurple/mediamanager.c Thu Apr 21 09:40:21 2016 +0200
@@ -1449,7 +1449,7 @@
(participant == ow->participant)) &&
!strcmp(session_id, ow->session_id)) {
- GstElement *queue, *convert;
+ GstElement *queue, *convert, *scale; GstElement *tee = purple_media_get_tee(media,
session_id, participant);
@@ -1462,6 +1462,7 @@
convert = gst_element_factory_make("ffmpegcolorspace", NULL);
+ scale = gst_element_factory_make("videoscale", NULL); ow->sink = purple_media_manager_get_element(
manager, PURPLE_MEDIA_RECV_VIDEO,
ow->media, ow->session_id,
@@ -1482,7 +1483,7 @@
gst_bin_add_many(GST_BIN(GST_ELEMENT_PARENT(tee)),
- queue, convert, ow->sink, NULL);
+ queue, convert, scale, ow->sink, NULL); bus = gst_pipeline_get_bus(GST_PIPELINE(
manager->priv->pipeline));
@@ -1491,9 +1492,11 @@
gst_element_set_state(ow->sink, GST_STATE_PLAYING);
+ gst_element_set_state(scale, GST_STATE_PLAYING); gst_element_set_state(convert, GST_STATE_PLAYING);
gst_element_set_state(queue, GST_STATE_PLAYING);
- gst_element_link(convert, ow->sink);
+ gst_element_link(scale, ow->sink); + gst_element_link(convert, scale); gst_element_link(queue, convert);
gst_element_link(tee, queue);