[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