diff options
author | Jakub Adam <jakub.adam@ktknet.cz> | 2016-04-27 09:19:58 +0200 |
---|---|---|
committer | Jakub Adam <jakub.adam@ktknet.cz> | 2016-04-27 09:19:58 +0200 |
commit | 72827da924fd5b532bed6f2be05d9a997c140aa3 (patch) | |
tree | a720664b5bc9e83ad6da120c5f43b83c7af49739 /libpurple/mediamanager.c | |
parent | c3729ca7c7d4566711c79c2f8f8c1f01a1aea927 (diff) | |
download | pidgin-72827da924fd5b532bed6f2be05d9a997c140aa3.tar.gz |
media: don't keep last sample reference on sinks
Holding a reference to a GstBuffer somewhere in a pipeline for possibly
indefinite period may cause trouble when the buffer has been allocated
by a 3rd party library or when it points directly into memory region of
a hardware device.
A specific example is V4L2 source element, which won't allow webcam
image resolution be reconfigured unless all previously allocated buffers
have been freed.
Backport of Pidgin 3 commit 13807c514810.
Diffstat (limited to 'libpurple/mediamanager.c')
-rw-r--r-- | libpurple/mediamanager.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libpurple/mediamanager.c b/libpurple/mediamanager.c index 0013f31916..a5702b5d2e 100644 --- a/libpurple/mediamanager.c +++ b/libpurple/mediamanager.c @@ -1171,7 +1171,10 @@ purple_media_manager_get_element(PurpleMediaManager *manager, * giving a not-linked error upon destruction */ fakesink = gst_element_factory_make("fakesink", NULL); - g_object_set(fakesink, "sync", FALSE, NULL); + g_object_set(fakesink, + "sync", FALSE, + "enable-last-sample", FALSE, + NULL); gst_bin_add(GST_BIN(bin), fakesink); gst_element_link(tee, fakesink); |