WebRTC: Possible medias length assertion with webrtcbin
Matthew Waters
ystreet00 at gmail.com
Mon Nov 2 11:04:40 UTC 2020
I would very much suggest trying the latest stable release branch of
GStreamer, 1.18. Many issues have been fixed in webrtcbin since 1.14.5
Cheers
-Matt
On 2/11/20 2:45 pm, Mandar Joshi wrote:
> Hello everyone,
> I am trying to build a conference engine with WebRTC using GStremer
> 1.14.5 on Ubuntu 18.04. Been referring to the webrtc-sendrecv.c as an
> example.
> Right now, I am trying to stream audio and video to and from the same
> Linux box.
>
> I am having trouble with set-remote-description on webrtcbin. I get
> this error after receiving a SDP Answer from the browser.
>
> ERROR:gstwebrtcbin.c:1152:_check_if_negotiation_is_needed: assertion
> failed: (trans->mline < gst_sdp_message_medias_len
> (webrtc->current_remote_description->sdp))
> >Aborted (core dumped)
>
> A GStreamer peer to GStreamer peer works when both have equal number
> of streams (medias, is it?) i.e. Just video or just audio or both
> audio and video.
>
> Here is the SDP Answer received from the browser. I think I am messing
> up the negotiation somewhere. I would really appreciate some help
> understanding what’s happening.
>
> v=0
> o=mozilla...THIS_IS_SDPARTA-82.0 810706521954309706 0 IN IP4 0.0.0.0
> s=-
> t=0 0
> a=fingerprint:sha-256
> C6:C3:86:8E:CB:D2:14:9C:C1:4A:B8:72:8D:60:00:08:34:51:33:79:FE:2D:39:4A:7C:E6:F5:97:92:5D:97:C4
> a=ice-options:trickle
> a=msid-semantic:WMS *
> m=video 9 UDP/TLS/RTP/SAVPF 96
> c=IN IP4 0.0.0.0
> a=sendrecv
> a=fmtp:96 max-fs=12288;max-fr=60
> a=ice-pwd:4d7d2212bcd5f1f467855683f036f700
> a=ice-ufrag:0594f02a
> a=mid:video0
> a=msid:{1d029bf1-6123-4b39-be26-68202dad363f}
> {7c72666b-94ec-422b-8cc6-5010b8aa73ab}
> a=rtcp-fb:96 nack pli
> a=rtcp-mux
> a=rtcp-rsize
> a=rtpmap:96 VP8/90000
> a=setup:active
> a=ssrc:1864073429 cname:{4dad80e7-eb43-4706-8934-4a2d51202c21}
> m=audio 9 UDP/TLS/RTP/SAVPF 97
> c=IN IP4 0.0.0.0
> a=sendrecv
> a=fmtp:97 maxplaybackrate=48000;stereo=1;useinbandfec=1
> a=ice-pwd:4d7d2212bcd5f1f467855683f036f700
> a=ice-ufrag:0594f02a
> a=mid:audio1
> a=msid:{1d029bf1-6123-4b39-be26-68202dad363f}
> {4607068a-ba2b-4d70-8561-12f13013b345}
> a=rtcp-mux
> a=rtpmap:97 opus/48000/2
> a=setup:active
> a=ssrc:4273581052 cname:{4dad80e7-eb43-4706-8934-4a2d51202c21}
>
> Here is the C code I’m using for set-remote-description.
>
> static void c_peer_set_sdp_answer (CPeer *cpeer, Conference *conf,
> gchar *sdp_answer) {
> {
> g_message ("Setting SDP Answer: %s", sdp_answer);
> int ret;
> GstSDPMessage *sdp;
> GstWebRTCSessionDescription *answer;
> GstPromise *promise;
>
> ret = gst_sdp_message_new (&sdp);
> g_assert_cmphex (ret, ==, GST_SDP_OK);
> ret = gst_sdp_message_parse_buffer ((guint8 *) sdp_answer, strlen
> (sdp_answer), sdp);
> g_assert_cmphex (ret, ==, GST_SDP_OK);
>
> answer = gst_webrtc_session_description_new
> (GST_WEBRTC_SDP_TYPE_ANSWER, sdp);
> g_assert_nonnull (answer);
>
> promise = gst_promise_new ();
>
> //This is where things go wrong
> g_signal_emit_by_name (conf->webrtcbin, "set-remote-description",
> answer, promise);
>
> gst_promise_interrupt (promise);
> gst_promise_unref (promise);
> }
>
> Is there something I could be missing in the process before
> set-remote-description?
> May be in set-local-description?
>
> From the GST_DEBUG=4 level logs, is this something I need to look into?
> 0:00:41.148395569 9264 0x55dc1f3b9590 INFO webrtcbin
> gstwebrtcbin.c:2795:_set_description_task:<webrtcbin> Attempting to
> set remote answer in the have-local-offer state
>
> Here is the link to the what seems to be the relevant section of the
> logs https://pastebin.com/aiPMsZgG <https://pastebin.com/aiPMsZgG>
>
> Regards
> Mandar
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20201102/c15cb7c7/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20201102/c15cb7c7/attachment.sig>
More information about the gstreamer-devel
mailing list