[Bug 777376] matrixmix: New element that mixes audio channels
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Wed Jan 18 10:21:15 UTC 2017
https://bugzilla.gnome.org/show_bug.cgi?id=777376
--- Comment #15 from Vivia Nikolaidou <vivia at ahiru.eu> ---
> Can you set the matrix using gst-launch?
Not yet but soon - deserialization for GstValueArray is throwing a
not-implemented error :) There's a related discussion here:
https://bugzilla.gnome.org/show_bug.cgi?id=777375
> Any reason to force the identity matrix if first-channels=1 ? Couldnt it
> also work with a subset of a user-set matrix ? (or a superset extended by
> the identity matrix?)
I think what you're describing should better be implemented in another mode :)
This one is for the use-case of just picking the first N channels of an
incoming stream.
> ::: gst/audiomixmatrix/gstaudiomixmatrix.c
> @@ +549,3 @@
> + * hang. */
> + GST_ERROR_OBJECT (self, "Invalid settings detected in manual mode. "
> + "Please specify in-channels, out-channels and matrix.");
>
> Shouldn't you also put an error message here using GST_ELEMENT_ERROR() ?
There's a comment there, and you just quoted the last part of it :) Do you
think it needs rephrasing?
/* Not dispatching element error because we return empty caps anyway and
* we should let it fail to link. Additionally, the element error would be
* printed as WARN, so a possible gst-launch pipeline would appear to
* hang. */
In short, there are three things here:
1) GST_ELEMENT_ERROR gets printed as a WARN, so at this early stage of caps
negotiation, the naive gst-launch user wouldn't notice anything about why the
pipeline fails.
2) We return empty caps anyway, so the negotiation will fail anyway.
3) I'm not sure if this isn't a bug, but if we throw a GST_ELEMENT_ERROR in
addition to returning empty caps, the pipeline seems to stall during caps
negotiation instead of outright failing. As a result, if we have
GST_ELEMENT_ERROR instead of GST_ERROR_OBJECT, would see the pipeline hanging
for no apparent reason.
--
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