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

Tarun Tej K tarun4690 at gmail.com
Sat Aug 5 04:24:20 UTC 2023


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, <tarun4690 at gmail.com> 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, <gstreamer at gallery.co.uk>
> 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 <tarun4690 at gmail.com
>> <tarun4690 at gmail.com>> 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, <gstreamer at gallery.co.uk>
>> 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 …
>>>
>>>
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20230805/cac53474/attachment.htm>


More information about the gstreamer-devel mailing list