WebRTCbin offer & OPUS options: minptime, useinbandfec

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

WebRTCbin offer & OPUS options: minptime, useinbandfec

tomg
How can I make sure the following options are added to the client offer SDP generated by GStreamer webrtcbin (Android), please?

minptime=10;useinbandfec=1


Background:
===========
Pipeline generated for receive only case by parsing:
#define RECV_PIPELINE "webrtcbin name=recv bundle-policy=max-bundle recv.src_0 ! queue ! rtpjitterbuffer do-lost=TRUE ! rtpopusdepay ! opusdec use-inband-fec=TRUE plc=TRUE ! audioconvert ! audioresample ! volume name=vol ! level message=TRUE ! openslessink stream-type=voice"

then adding a transceiver:
    GstCaps  *caps = gst_caps_from_string("application/x-rtp,media=audio,encoding-name=OPUS,payload=111,clock-rate=48000");
    GstPromise *promise = gst_promise_new();
    g_signal_emit_by_name(webrtcbin, "add-transceiver",
            GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY, caps, promise);
    gst_promise_interrupt(promise);
    gst_promise_unref(promise);
    gst_caps_unref(caps);
   
Generates offer SDP:
    v=0
    o=- 574272700240657154 0 IN IP4 0.0.0.0
    s=-
    t=0 0
    a=ice-options:trickle
    a=group:BUNDLE audio0
    m=audio 9 UDP/TLS/RTP/SAVPF 111
    c=IN IP4 0.0.0.0
    a=setup:actpass
    a=ice-ufrag:blah
    a=ice-pwd:blah
    a=rtcp-mux
    a=rtcp-rsize
    a=recvonly
    a=rtpmap:111 OPUS/48000
    a=rtcp-fb:111 nack pli
    a=mid:audio0
    a=fingerprint:sha-256 blah
   
 When libwebrtc is used instead, the SDP includes:
    a=rtcp-fb:111 transport-cc
    a=fmtp:111 minptime=10;useinbandfec=1
   
I'm trying to optimise behaviour seen under lossy conditions; at the moment my webrtcbin version seems to be suffering from more noticeable interruptions than libwebrtc & has some additional latency. The OPUS options seem like they might be a contributing factor...?

I see plenty of log lines like this:
 gst_audio_base_sink_get_alignment:<openslessink0> Unexpected discontinuity in audio timestamps of -0:00:00.226541666, resyncing

Apologies: more than one question in here!

thanks very much for any insight
 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel