Missing frame in element 'videorate' & queries with understanding the behaviour of 'videorate''

vk_gst venkateshkuppan26 at gmail.com
Thu Sep 20 14:04:27 UTC 2018

Hello experts,
I am using the following pipeline at the receiving end of a UDP video

udpsrc -> rtph264pay -> h264parse -> avdec_h264 -> videorate -> glimagesink. 

At source, I have the camera operating at 30 FPS. Now I did a couple of
testing with the video rate where I measured the properties -
input/output/duplicate/drop frames. The values mentioned below are taken at
randomly from the output at different time. Below is an observation for
different properties within the element 'videorate' set, mentioned with the
property set and the observations: 

1. ### videorate drop-only=false rate=1
       input frames= 133
       out frames= 145
       duplicate frames= 13
       dropped frames= 0
       input frames= 442
       out frames= 460
       duplicate frames= 19
       dropped frames= 0

2. ### videorate drop-only=true rate=1
       input frames= 259
       out frames= 259
       duplicate frames= 0
       dropped frames= 0
       input frames= 260
       out frames= 260
       duplicate frames= 0
       dropped frames= 0

3. ### videorate  drop-only=false rate=10
       input frames= 189
       out frames= 20
       duplicate frames= 0
       dropped frames= 168
       input frames= 190
       out frames= 20
       duplicate frames= 0
       dropped frames= 169

For test 1 & 3:  there is a difference of 1 frame that is missing in the
output frame. This is observed continuously in all the output measured over
a period of time.
For test 2 :  in spite of 'drop-only=true', there are no frames that are
dropped.  Also the input and the output frames are same, in the output
measured over a period of time. 

A. I glanced through the source code of element 'videorate', and I noticed
that the 'ouput frames' get updated for each push buffer. So why is there a
difference of 1 frame between output and input ? 

B. Another question is with understanding of the property 'drop-only'. The
one noticeable difference I saw, was setting this property to TRUE, the
latency of video was less as compared to when it was set FALSE. Is this
expected ? However with this property set to TRUE, I still observe the
'dropped-frames-count = 0'.  I am confused about the properties 'drop-only'
& 'dropped frames'. I guess I am interpreting it incorrectly. 

Could anyone explain the behavior or provide some pointers to understand the
videorate element properties? In spite of documentation, I feel some element
properties are still unclear and might need more documentation(I would be
happy to contribute to documentation once I understand the properties. :-) )


Sent from: http://gstreamer-devel.966125.n4.nabble.com/

More information about the gstreamer-devel mailing list