[gst-devel] Help with videorate and qos usage

Tim-Philipp Müller t.i.m at zen.co.uk
Wed Jul 29 11:17:47 CEST 2009


On Tue, 2009-07-28 at 22:01 -0700, Nguyen Thanh Trung wrote:
> Hi, I'm new here, and I want to ask something about gstreamer:
> 
> I'm working with a gstreamer application to get the number of dropped
> frames from a video stream. I use videorate to get the value. But, the
> result is alway 0, no matter what I tried.
> 
> The gstreamer qos document says that qos is enabled by default for
> video, so why I did not get any dropped frame ?
> 
> I wrote an event prob function to put after the video decoder and
> found that there's many frame have positive jitter (the diff value got
> from gst_event_parse_qos()) but they are still not dropped event I set
> max_lateness for video sink to 100.

The drop property on videorate will only tell you how many frames
videorate dropped in the process of trying to convert the upstream
framerate / input stream to the desired downstream framerate (usually
configured by using a capsfilter after the videorate element). It does
not really handle or take into account QoS-related things at all. It
merely tries to create a perfectly timestamped/spaced output stream
according to the desired output framerate. If you have a decoder
upstream that handles QoS events and skips the decoding of some frames,
videorate most likely will just fill the gaps with duplicate frames
(which would then later be dropped again by the sink because they're too
late).

I don't think we have a way to query this kind of information at the
moment. There's a bug for it though:
http://bugzilla.gnome.org/show_bug.cgi?id=353680

 Cheers
  -Tim






More information about the gstreamer-devel mailing list