[Bug 681198] New: [renegotiation] Reconfigure events on complex pipelines (multiple capsfilters/converters)

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sat Aug 4 07:58:01 PDT 2012


https://bugzilla.gnome.org/show_bug.cgi?id=681198
  GStreamer | gstreamer (core) | 0.11.x

           Summary: [renegotiation] Reconfigure events on complex
                    pipelines (multiple capsfilters/converters)
    Classification: Platform
           Product: GStreamer
           Version: 0.11.x
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: thiago.sousa.santos at collabora.co.uk
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


In camerabin with wrappercamerabinsrc, before a capture is started multiple
capsfilters have its caps property set. This causes multiple reconfigures to
reach the source.

This is racy, if the source only starts the renegotiation after the last
reconfigure, all should work. In case it starts the renegotiation before the
last reconfigure (and caps are still changing), a not-negotiated might happen
downstream.

There are multiple issues involved here:

1) basetransform now posts not-negotiated by itself and upstream won't have a
chance to work around the problem if it could.

2) There is no way of skipping the reconfigure events in case multiple parts of
the pipeline need to be updated before the final and consistent state is
reached. As said above, renegotiations might happen while all caps aren't set
and the pipeline can stop

3) basesrc could be improved to retry when a not-negotiated is returned and
there's a reconfigure flag on its pad

fixing 1 and 3 are enough for my camerabin tests, but maybe 2 would be good to
have for applications that know what they are doing with their pipelines.

-- 
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