[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