Error while trying to send opus encoded audio to a server using gstreamer

Habush Samireh hsamireh at gmail.com
Wed Mar 15 16:39:44 UTC 2017


I am using a Kaldi-Gstreamer-Server library for live speech recognition
application. The library uses *onlinegmmdecodefaster *gstreamer element
(which is included with the kaldi library) along with other elements
(decodbin, audioconvert...) to accept audio and transcribe it to text . The
library requires when sending request to the server, the *content-type *request
parameter be specified using  GStreamer 1.0 caps format and encoded to the
request Url.

When sending raw audio to the server everything works fine and I get
transcription text from the server. However, for low latency, I am trying
to encode the audio using opus encoder and send to the server. I set the
content-type request parameter to the caps format of the opusdec element
pad as this:

audio/x-opus, channel-mapping-family=(int)[ 1, 255 ], channels=(int)[ 1,
> 255 ], stream-count=(int)[ 1, 255 ], coupled-count=(int)[ 0, 255 ]
>

However I get the following error while gstreamer tries to use the above
capabilities:

2017-03-15 13:53:26 - INFO: decoder2: 0578f66f-8474-48db-996b-ce401ed5c034:
> Setting caps to audio/x-opus, channel-mapping-family=(int)[ 1, 255 ],
> channels=(int)[ 1, 255 ], stream-count=(int)[ 1, 255 ],
> coupled-count=(int)[ 0, 255 ]
>
> (python:1145): GStreamer-CRITICAL **: gst_event_new_caps: assertion
> 'gst_caps_is_fixed (caps)' failed
>
> (python:1145): GStreamer-CRITICAL **: gst_pad_push_event: assertion
> 'GST_IS_EVENT (event)' failed
> 2017-03-15 13:53:27 - ERROR: decoder2: (GLib.Error('Internal data flow
> error.', 'gst-stream-error-quark', 1), 'gstbasesrc.c(2933):
> gst_base_src_loop (): /GstPipeline:pipeline0/GstAppSrc:appsrc:\nstreaming
> task paused, reason not-negotiated (-4)')
> 2017-03-15 13:53:27 - INFO: decoder2:
> 0578f66f-8474-48db-996b-ce401ed5c034: Resetting decoder state
>
> (python:1145): GStreamer-CRITICAL **: gst_event_new_caps: assertion
> 'gst_caps_is_fixed (caps)' failed
>
> (python:1145): GStreamer-CRITICAL **: gst_pad_push_event: assertion
> 'GST_IS_EVENT (event)' failed
>
> (python:1145): GStreamer-CRITICAL **: gst_event_new_caps: assertion
> 'gst_caps_is_fixed (caps)' failed
>
> (python:1145): GStreamer-CRITICAL **: gst_pad_push_event: assertion
> 'GST_IS_EVENT (event)' failed
> 2017-03-15 13:53:27 - ERROR: decoder2: (GLib.Error('Internal data flow
> error.', 'gst-stream-error-quark', 1), 'gstbasesrc.c(2933):
> gst_base_src_loop (): /GstPipeline:pipeline0/GstAppSrc:appsrc:\nstreaming
> task paused, reason not-negotiated (-4)')
>

What could be the cause of this error? How can I resolve this so that I can
send opus encoded audio data to the server?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20170315/b7a8af99/attachment.html>


More information about the gstreamer-devel mailing list