<div dir="ltr"><div>Hi,</div><div><br></div><div>I have the following pipelines:</div><div><span style="font-family:monospace">gst_parse_launch(R"(udpsrc port=4000 ! application/x-rtp,payload=96,encoding-name=OPUS ! queue ! rtpopusdepay ! appsink name=appsink)", nullptr)}</span></div><div>and <br></div><div><span style="font-family:monospace">gst_parse_launch(R"(appsrc name=appsrc caps="audio/x-opus" ! queue ! opusdec ! autoaudiosink)", nullptr)}</span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace"><font face="arial,sans-serif">For the appsink in the first pipeline I set </font>"emit-signals", true <span style="font-family:arial,sans-serif">and connect <span style="font-family:monospace">"new-sample"</span> to a callback that pushes the buffer into a queue.</span></span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace"><span style="font-family:arial,sans-serif">For the appsrc in the second pipeline I connect callbacks to its <span style="font-family:monospace">"need-data"</span> and <span style="font-family:monospace">"enough-data" </span>signals. Those callbacks set or reset the <span style="font-family:monospace">g_main_loop</span>'s idle function to a function that reads a buffer from the queue (filled by the appsink of the first pipeline) and pushes it to appsrc with<span style="font-family:monospace"> "push-buffer"</span>.</span></span></div><div><span style="font-family:monospace"><span style="font-family:arial,sans-serif"><br></span></span></div><div><span style="font-family:monospace"><span style="font-family:arial,sans-serif">Unfortunately the second pipeline fails as soon as the first buffer is pushed to it with the following log:</span></span></div><div><span style="font-family:monospace">0:00:00.045154855 57060 0x55a09f976700 INFO               GST_EVENT gstevent.c:900:gst_event_new_segment: creating segment event bytes segment start=0, offset=0, stop=-1, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0, base=0, position 0, duration -1<br>0:00:00.045165391 57060 0x55a09f976700 INFO                 basesrc gstbasesrc.c:2962:gst_base_src_loop:<appsrc> marking pending DISCONT<br>0:00:00.045180104 57060 0x55a09f976700 WARN                 basesrc gstbasesrc.c:3072:gst_base_src_loop:<appsrc> error: Internal data stream error.<br>0:00:00.045183271 57060 0x55a09f976700 WARN                 basesrc gstbasesrc.c:3072:gst_base_src_loop:<appsrc> error: streaming stopped, reason not-negotiated (-4)<br>0:00:00.045196292 57060 0x55a09f976700 INFO        GST_ERROR_SYSTEM gstelement.c:2140:gst_element_message_full_with_details:<appsrc> posting message: Internal data stream error.<br>0:00:00.045212868 57060 0x55a09f976700 INFO        GST_ERROR_SYSTEM gstelement.c:2167:gst_element_message_full_with_details:<appsrc> posted error message: Internal data stream error.<br>0:00:00.045225606 57060 0x55a09f976700 INFO                    task gsttask.c:312:gst_task_func:<appsrc:src> Task going to paused</span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace"><font face="arial,sans-serif">Without the appsink -> appsrc detour (if I chain the elements into one pipeline) everything works. If I remove the opusdec and autoaudiosink from the end of the second pipeline and I replace it with another appsink it sees the data and the pipeline works well.</font></span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace"><font face="arial,sans-serif">Is there any trick I should do to be able to feed </font><span style="font-family:monospace">opusdec <font face="arial,sans-serif">from an <span style="font-family:monospace">appsrc</span>?</font><br></span></span></div><div><span style="font-family:monospace"><span style="font-family:monospace"><br></span></span></div><div><span style="font-family:arial,sans-serif">Thanks a lot,</span></div><div><span style="font-family:monospace"><span style="font-family:monospace"><span style="font-family:arial,sans-serif">Adam</span><br></span></span></div></div>