GNOME Bugzilla – Bug 643469
fpsdisplaysink: add frames-dropped and frames-rendered properties
Last modified: 2011-03-28 13:23:04 UTC
Created attachment 182082 [details] [review] add properties to get dropped and rendered values add properties to export dropped and rendered values outside fpsdisplaysink
Created attachment 182164 [details] [review] added render and drop frame data in FPS-Measurement signal At present FPS-Measurement signal provides render rate, drop rate and average fps. Two more data(rendered and dropped frames) which is already present in fpsdisplaysink plugin has been added in FPS-Measurement signal in order to get these values also in application. This is a git patch based on gst-plugins-bad-0.10.20.
Couldn't one could use QoS messages to notify the app of rendered/dropped frames?
we need render rate, drop rate, average fps, dropped and rendered frames data. all data should be at specific time interval and time interval should be configurable. at present FPS-Measurement signal in fpsdisplaysink plugin provides this functionality we have add the properties to get an easy method to retrieve the values also
Vishal, are you aware that num_dropped would be only the frmaes dropped by the sink. If qos is in use and e.g. a colorspace element would drop frames this would not be counted here. I am not against the changes as such. Still it is important to understand what you are meassuring. Having a extra section in the doc-blob would be good. Ultimately, the solution is what Tim mentioned in comment #2. In order to use QOS messages, those would need to be implemented in e.g. basevideosink, ffmpegcolorspace, videoscale (basically all elements that do QOS).
frames_rendered and frames_dropped are computed from QoS. the patches only offer others ways to retrieve those values.
Tim suggest to post a QoS message or to add a new signal, those 2 solutions don't seems suitable for me because they are asynchronous (signal and message will not handle synchronously in the app) be and split wanted data in multiple access and methodes (signal, message).
Comment on attachment 182082 [details] [review] add properties to get dropped and rendered values Don't see any reason not to add the properties. However: - make them uint64 type please, not doubles - rename them to "frames-dropped" and "frames-rendered" (videorate uses "drop", but that doesn't really sound right to me) - need to either add proper locking or make access here and in the other places atomic. I'd just make the internal variables normal ints for now and then use g_atomic_int_{inc,get}().
Created attachment 183498 [details] [review] add "frames-rendered" and "frames-dropped" properties this patch follows Tim's advices: change frames_rendered and frames_dropped from guint64 to gint and use g_atomic_int_*
Comment on attachment 183498 [details] [review] add "frames-rendered" and "frames-dropped" properties Pushed this with miniscule changes, thanks: commit 8c483758172b308e18708c6606bc51d80c4129c0 Author: Benjamin Gaignard <benjamin.gaignard@linaro.org> Date: Wed Mar 16 09:50:34 2011 +0100 fpsdisplaysink: add "frames-dropped" and "frames-rendered" properties https://bugzilla.gnome.org/show_bug.cgi?id=643469
We have changed the application to only use the already commited patch. http://git.linaro.org/gitweb?p=people/sudip-jain/smartt.git;a=summary the patch submited by vishal is no more needed for us.
Ok, thanks. I think that's the best way. You can retrieve both values with one single g_object_get() call btw, and you also don't need the G_OBJECT() cast for g_object_get().