[libnice] Removing a component from a stream

Olivier Crête olivier.crete at collabora.com
Fri Oct 9 02:20:36 PDT 2015


Indeed, with trickling our API is not optimal. You can also just call nice_agent_set_selected_remote_candidate() with any dummy candidate and this will stop all ICE processing on that component. If you don't send any data from your application to this component, then it shouldn't send anything to the network for this component, so th the exact candidate you use there shouldn't matter. 


On October 9, 2015 10:12:14 AM GMT+01:00, Lorenzo Miniero <lminiero at gmail.com> wrote:
>2015-10-09 2:32 GMT+02:00 Olivier Crête <olivier.crete at collabora.com>:
>> Hello,
>> There is no such method right now. The design is that you just don't
>> any remote candidates for a component that you want to ignore.
>Hello Olivier,
>thanks for your quick response. I'll have to check if this is what
>doing as of now for the case when we offer. Trickling is involved and
>when we offer (and as such we have an agent ready) we pass the remote
>trickle candidates to libnice as soon as we get them, instead of
>for the answer as we probably should. I'll check if this also solves
>issue referenced in my first post.
>> Olivier
>> Olivier
>> On October 8, 2015 12:03:00 PM GMT+01:00, Lorenzo Miniero <
>> lminiero at gmail.com> wrote:
>> >Hi,
>> >
>> >following the debugging efforts that have been devoted to this
>> >
>> >https://phabricator.freedesktop.org/T3328
>> >
>> >it turned out we'd need a way to remove a component from an existing
>> >stream
>> >in libnice. In fact, while there is a method to remove a stream,
>> >doesn't seem to be any way to remove a single component.
>> >
>> >The rationale from this, as explained in the last post of the issue
>> >above,
>> >is that with WebRTC you may end up converging on a bundle/rtcp-mux
>> >usage
>> >for the media and control packets. Specifically, when offering you
>> >usually
>> >allocate a stream per media, and two components (RTP/RTCP) per
>> >When
>> >bundle is negotiated, you can get rid of all the streams except the
>> >first
>> >one (all packets will be bundled over the same "connection"), while
>> >when
>> >rtcp-mux is negotiated you know you won't need the RTCP component
>> >either
>> >(RTP and RTCP will be sent over the same connection too).
>> >
>> >Is there any method I missed in the documentation, or is a way to
>> >remove
>> >components indeed missing in libnice as of now?
>> >
>> >Thanks, looking forward to any kind of feedback you can provide!
>> >Lorenzo
>> >
>> >
>> >
>> >_______________________________________________
>> >nice mailing list
>> >nice at lists.freedesktop.org
>> >http://lists.freedesktop.org/mailman/listinfo/nice
>> --
>> Olivier Crête
>> olivier.crete at collabora.com

Olivier Crête
olivier.crete at collabora.com

More information about the nice mailing list