[Bug 785471] [API]: gst_audio_channel_mixer_new_with_matrix

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Sep 20 15:04:25 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=785471

--- Comment #16 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
(In reply to Mathieu Duponchelle from comment #13)

> In case a matrix is specified and its dimensions do not match the input /
> output channels, we fail negotiation:
> 
> gst-launch-1.0 audiotestsrc ! audio/x-raw ! audioconvert
> mix-matrix="<<(float)1.0, (float)0.0, (float)0.0, (float)0.0>, <(float)0.0,
> (float)0.0, (float)0.0, (float)0.0>>" ! audio/x-raw,channels=2 !
> autoaudiosink
> 
> 0:00:00.021796138 23185      0x24f00f0 ERROR        audio-converter
> audio-converter.c:650:check_mix_matrix: Invalid mix matrix row size, should
> be 2
> 0:00:00.021823146 23185      0x24f00f0 ERROR           audioconvert
> gstaudioconvert.c:738:gst_audio_convert_set_caps:<audioconvert0> could not
> make converter
> [..]
> ERROR: from element /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0:
> Internal data stream error.
> [..]
> streaming stopped, reason not-negotiated (-4)
> 
> Is it not good enough?

That's what should happen, yes, but I would've liked that to happen one step
before that. You should be able to let the caps negotiation fail already
instead of just failing to create the converter later. By correctly giving the
caps from transform_caps.


For the matrix comparison, I guess comparing == 1.0 and == 0.0 is fine as we
only care about the cases where it is explicitly those values. And then the
comparison will be successful. Good enough :)

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