[Bug 655257] [camerabin2][design] Removing redundant options/elements

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Jul 25 08:04:04 PDT 2011


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

--- Comment #4 from Thiago Sousa Santos <thiago.sousa.santos at collabora.co.uk> 2011-07-25 15:04:01 UTC ---
Let me try to summarize the problem with a simplification of the scenario.
Here's what we currently have in camerabin2*:

src ! converters ! capsfilter ! ( converters ! capsfilter ! encoder ! muxer ) !
filesink

As you can see, we have duplicates for converters and capsfilters.

Step 1 - Remove the converters

The duplicate converters really should be removed as they slow down caps
negotiation and increase camerabin2 state changes and capturing negotiation
time. I've already got a patch for this (credits to robswain for it). I really
see no problem here other than the caps set to the first capsfilter through
*-capture-caps properties now needing to be a subset of what the source can
produce, otherwise you would get not-negotiated errors.

If we do this, applications should really rely on setting the restriction
setting on profiles for encodebin when selecting resolutions/formats for
captures instead of using the *-capture-caps properties of camerabin2. Using
the restriction setting is safer as it acts after converters, that helps when
the source can't produce the format directly and might avoid not-negotiated
errors.

The resulting pipeline would be:

src ! capsfilter ! ( converters ! capsfilter ! encoder ! muxer ) ! filesink


Step 2 - Remove the capsfilter

We can remove the first capsfilter along with the *-capture-caps if we agree
that there is no scenario where we would want to force the source to capture in
a certain format, but the encoder would have its input in a different one by
forcing some conversion.

Do we have such a scenario? Any kind of sensor requirement/restriction?

Can we simply set the format we want the encoder to get its input and leave the
sensors+converters to do their work to provide this input? I'm no specialist in
camera sensors to tell :)

Resulting pipeline:

src ! (converters ! capsfilter ! encoder ! muxer ) ! filesink


--
* The part inside ( ) is what's inside encodebin

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