<div dir="ltr">I want to decode the VideoStream received by webrtcbin and send the re-encoded VideoStream back to the sender by webrtcbin.<br>But I get loop detected. Is it possible to build a pipeline that avoids loops?<br>By the way, I am using C# (GstSharp) to write the code.<br>    void OnIncomingDecodebinStream(object o, SignalArgs args)<br>    {<br>        var pad = (Pad)args.Args[0];<br>        if (!pad.HasCurrentCaps)<br>        {<br>            Console.WriteLine($"{pad.Name} has no caps, ignoring");<br>            return;<br>        }<br><br>        var caps = pad.CurrentCaps;<br>        Assert(!caps.IsEmpty);<br>        Structure s = caps[0];<br>        var name = s.Name;<br>        if (name.StartsWith("video"))<br>        {<br>            var q = ElementFactory.Make("queue");<br>            var conv = ElementFactory.Make("videoconvert");<br>            var encoder = ElementFactory.Make("nvh264enc");<br>            var payload = ElementFactory.Make("rtph264pay");<br><br>            //var sink = ElementFactory.Make("autovideosink");<br>            pipe.Add(q, conv, encoder, payload);<br>            pipe.SyncChildrenStates();<br>            pad.Link(q.GetStaticPad("sink"));<br>            payload.GetStaticPad("src").Link(webrtc.GetStaticPad("sink"));<br>            Element.Link(q, conv, encoder, payload, webrtc);<br>        }<br>        //else if (name.StartsWith("audio"))<br>        //{<br>        //    var q = ElementFactory.Make("queue");<br>        //    var conv = ElementFactory.Make("audioconvert");<br>        //    var resample = ElementFactory.Make("audioresample");<br>        //    //var sink = ElementFactory.Make("autoaudiosink");<br>        //    pipe.Add(q, conv, resample, webrtc);<br>        //    pipe.SyncChildrenStates();<br>        //    pad.Link(q.GetStaticPad("sink"));<br>        //    Element.Link(q, conv, resample, webrtc);<br>        //}<br>    }<br></div>