Re: Problem with whipwebrtcsink uplink to Dolby.io, was Problem with NDISRC, WHIPSINK, and audio

Tarun Tej K via gstreamer-devel <[email protected]>
Newsgroups gmane.comp.video.gstreamer.devel
Message-ID <CAMvyGd89S4UVM15Zrf3Gxmzyip_WAC8edDvsFpfucAH1SJN-uw@mail.gmail.com>
Hello,

The fix for this issue is now merged upstream. Here is the MR -
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1290


On Sat, 29 Jul, 2023, 19:25 Tarun Tej K, <[email protected]> wrote:

> Hi,
>
> Thanks for trying this out.
>
> We discovered a bug with whipwebrtcsink (and whipsink) that got exposed
> because of one of the recent changes.
>
> More information about this issue is captured here -
> https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/394 to
> track this bug.
>
>
> On Sat, 29 Jul, 2023, 18:33 GST Developer, <[email protected]>
> wrote:
>
>> Hi Tarun
>>
>> We have finally got things up and running with GStreamer 1.22 as you
>> advised, and indeed the 'request-aux-sender' issue has gone away.
>>
>> Now we have a different issue, which might be some specific compatibility
>> with Dolby.io (formerly millicast).
>>
>> Here is what we get - the pipeline runs for a few seconds before failing:
>>
>>
>> gst-launch-1.0  ndisrc ndi-name="PRIMARY (SIGGEN)" ! ndisrcdemux
>> name=demux demux.video ! queue ! videoconvert ! whipwebrtcsink name=ws
>> signaller::whip-endpoint="
>> https://director.millicast.com/api/whip/myStreamName",auth-token="......redacted......"
>> demux.audio ! queue ! audioconvert ! ws.
>>
>> Setting pipeline to PAUSED ...
>>
>> Pipeline is live and does not need PREROLL ...
>>
>> Pipeline is PREROLLED ...
>>
>> Setting pipeline to PLAYING ...
>>
>> New clock: GstSystemClock
>>
>> Redistribute latency...
>>
>> Redistribute latency...
>>
>> Redistribute latency...
>>
>>
>> *ERROR: from element /GstPipeline:pipeline0/GstWhipWebRTCSink:ws:
>> GStreamer encountered a general stream error.*
>>
>> *Additional debug info:*
>>
>> *net/webrtc/src/webrtcsink/imp.rs <http://imp.rs>(1493):
>> gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::connect_signaller::{{closure}}::{{closure}}
>> (): /GstPipeline:pipeline0/GstWhipWebRTCSink:ws:*
>>
>> *Signalling error: Error: Error None (Some("Old Canceller should not
>> exist")) at net/webrtc/src/utils.rs:131 <http://utils.rs:131>*
>>
>>
>> Execution ended after 0:00:02.911160133
>>
>> Setting pipeline to NULL ...
>>
>> Freeing pipeline ...
>>
>>
>> Any ideas ?
>>
>> Many thanks !
>>
>>
>>
>> *On 15 Jul 2023, at 15:44, Tarun Tej K <[email protected]
>> <[email protected]>> wrote:*
>>
>> *Ok, you will need Gstreamer version 1.22 for this, where webrtcbin has
>> this signal 'request-aux-sender' implemented.*
>>
>>
>>
>> On Sat, 15 Jul, 2023, 19:53 GST Developer, <[email protected]>
>> wrote:
>>
>>> Thanks Tarun,
>>>
>>> *we are making progress *- this pipeline *does* startup, but it fails
>>> after a few seconds:
>>>
>>> *gst-launch-1.0  ndisrc ndi-name="NDIPE8 (SIGGEN)" ! ndisrcdemux
>>>  name=demux demux.video ! queue ! videoconvert ! whipwebrtcsink name=ws
>>> signaller::whip-endpoint="https://director.millicast.com/api/whip/myStreamName
>>> <https://director.millicast.com/api/whip/myStreamName>",auth-token=“..redacted.."
>>> demux.audio ! queue ! audioconvert ! ws.*
>>>
>>> Setting pipeline to PAUSED ...
>>> Pipeline is live and does not need PREROLL ...
>>> Pipeline is PREROLLED ...
>>> Setting pipeline to PLAYING ...
>>> New clock: GstSystemClock
>>> Redistribute latency...
>>> Redistribute latency...
>>> Redistribute latency…
>>>
>>> *<it runs fine here for a few seconds with the numbers running>*
>>>
>>> thread 'tokio-runtime-worker' panicked at 'Signal 'request-aux-sender'
>>> of type 'GstWebRTCBin' not found',
>>> /home/ubuntu/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/44c4ab3/glib/src/object.rs:2642
>>> :32
>>> note: run with `RUST_BACKTRACE=1` environment variable to display a
>>> backtrace
>>> thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err`
>>> value: PoisonError { .. }', net/webrtc/src/webrtcsink/imp.rs:3013:47
>>> ERROR: from element /GstPipeline:pipeline0/GstWhipWebRTCSink:ws:
>>> Panicked: called `Result::unwrap()` on an `Err` value: PoisonError { .. }
>>> thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err`
>>> value: PoisonError { .. }', net/webrtc/src/webrtcsink/imp.rs:3013Execution
>>> ended after 0:00:01.886767934
>>> :47Setting pipeline to NULL ...
>>>
>>> ERROR: from element /GstPipeline:pipeline0/GstWhipWebRTCSink:ws: Panicked
>>> ERROR: from element /GstPipeline:pipeline0/GstWhipWebRTCSink:ws: Panicked
>>> ERROR: from element /GstPipeline:pipeline0/GstWhipWebRTCSink:ws:
>>> Panicked: called `Result::unwrap()` on an `Err` value: PoisonError { .. }
>>> ERROR: from element /GstPipeline:pipeline0/GstWhipWebRTCSink:ws: Panicked
>>> Freeing pipeline …
>>>
>>>
>>>
>>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.