Renegotiate to different framerate with GStreamer 0.10

Roland Elek relek.f2 at gmail.com
Tue Jan 22 06:11:48 PST 2013


I figured it out, it is the xvidenc that is preventing the
renegotiation. See https://bugzilla.gnome.org/show_bug.cgi?id=692294
for details.

2013/1/18 Roland Elek <relek.f2 at gmail.com>:
> Hi,
>
> Our application needs to be able to change the framerate of a running
> video pipeline. We are currently trying to accomplish this by putting
> a capsfilter after the source element, and changing its caps property
> while the pipeline is running. The pipeline is basically src !
> capsfilter ! xvidenc ! matroskamux ! filesink. The source element uses
> gst_pad_alloc_buffer_and_set_caps() to get the buffer, and a
> gst_base_transform_reconfigure() is called on the capsfilter from the
> application after setting the new caps. The idea is that doing these
> would trigger the renegotiation of the pipeline to the new framerate.
>
> However, we can't get this setup to work, and the problem shows as the
> capsfilter trying to find a valid transform between upstream and
> downstream caps, which is impossible for it, because they are
> different: for upstream, it uses the new caps, but downstream would
> only be renegotiated on the first buffer push, and still has the old
> caps.
>
> Is there a good way to get the framerate renegotiation to work?
>
> Best regards,
> Roland Elek


More information about the gstreamer-devel mailing list