After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 682483 - fakesink bad default properties
fakesink bad default properties
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.10.x
Other Linux
: Normal normal
: 0.11.x
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-08-22 15:10 UTC by Levente Farkas
Modified: 2012-08-22 15:18 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Levente Farkas 2012-08-22 15:10:00 UTC
while we try to find the huge load of our system we find out the biggest load was caused by fakesink. and the reason for this was the "silent" properties by default false. 
the reason is very tricky and hidden. we use java (gstreamer-java to control gstreamer pipelines).
- silent false produce last_message events
- which in turn for all buffers (video frames) add a reference to the pipeline
- which cause 2 call. 1 g_object_add_toggle_ref and 1 g_object_remove_toggle_ref 
- which is cause a call to the proxy object ie. a 2 callback from C->java
- which is on jna an attach and a detach from the calling thread and create 2 new Thread java object 
- which is cause that the gc called all these objects. and there are many! eg in case of 32 pipelines and 25 fps video:  32 x 2 x 25 = 1600 object creation and gc in every sec!!!

of course we can simple set the properties to true, but imho it's real big waste of time and resource most of the case. imho all elements all properties should have to be the most "natural" default values (where natural means less resource hungry).

so my suggestion to set the default to true.

ps. anyway it takes many days to us to find the reason since it was very difficult to find out the real reason which we not even assume.
Comment 1 Wim Taymans 2012-08-22 15:18:51 UTC
We can't change this in 0.10 because it would break ABI. In 0.11 this is set to TRUE by default.