[Bug 655112] New: Improve videomaxrate caps negotiation

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Jul 22 04:33:16 PDT 2011


https://bugzilla.gnome.org/show_bug.cgi?id=655112
  GStreamer | gst-plugins-bad | git

           Summary: Improve videomaxrate caps negotiation
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: sjoerd at luon.net
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=192450)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=192450)
proposed patch

Currently videomaxrate always claims it's source and sink caps include
framerates going from [0/1..maxint/1], but the only thing it can do is drop
extra frames. So it's not actually able to transform an input framerate of say
10 fps to 15 fps.

Furthermore for use-cases where you want to framerate to be adjusted to a
specific maximum dynamically the current need to dynamically adjust a
capsfilter behind the maxrate is very cumbersome as there is always a race
between setting the filter, the renegotiation happening and buffers with the
old caps still being pushed through the capsfilter. Allowing the capsfilter to
still have the old caps as a second option doesn't really work as that doesn't
guarantee the right re-negotiation will happen (e.g. the old-caps might allow
for a pass-through, which base-transform prefers).

To solve these issues. Add a property to dynamically adjust the internal
maximum rate of videomaxrate, which can ensure the right caps negotation occurs
and change the caps to prefer to output a framerate in the range the source
provides, but can deliver anything from 0 to MIN( configured maximum, maximum
framerate of the source). And as input we require at least the minium the sink
requires and prefer a framerate in the range we want to output, but can accept
anything that's higher as well.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list