<div><div>I'm trying to get the equivalent of this command: `gst-launch-1.0 udpsrc address=127.0.0.1 port=5000 caps="application/x-rtp" ! queue ! rtppcmudepay ! queue ! autoaudiosink` using the Gst api, except passing the rtp frames via a function instead of udp. What I figured so far:</div><div>```</div><div>source = Gst.ElementFactory.make(<span style="color:#067d17">"appsrc"</span>, "mysource")</div><div><div>source.props.caps=Gst.Caps.from_string('application/x-rtp')</div></div><div>sink = Gst.parse_bin_from_description(<span style="color:#067d17">'queue ! rtppcmudepay ! queue ! autoaudiosink'</span>, <span style="color:#0033b3">True</span>)</div><div>pipeline = Gst.Pipeline()<br />source.link(sink)<br />pipeline.add(source)<br />pipeline.add(sink)<br />pipeline.set_state(Gst.State.PLAYING)</div><div>```</div><div><div>I then try to feed it rtp packets like: `source.emit(<span style="color:#067d17">'push-buffer'</span>, Gst.Buffer.new_wrapped(rtp_bytes))`, it produces no error, but neither can I hear any sound. With `pipeline.get_bus()<span style="white-space:pre">.add_signal_watch()` etc I am able to get the following Gst message:</span></div><div>GstMessageError, gerror=(GError)NULL, debug=(string)"../gstreamer/subprojects/gstreamer/libs/gst/base/gstbasesrc.c\(3132\):\ gst_base_src_loop\ \(\):\ /GstPipeline:pipeline1/GstAppSrc:appsrc-140141698531664:\012streaming\ stopped\,\ reason\ not-negotiated\ \(-4\)", details=(structure)"details\,\ flow-return\=\(int\)-4\;";</div><div><br /></div></div></div>