[libnice] Removing a component from a stream

Lorenzo Miniero lminiero at gmail.com
Fri Oct 9 03:05:43 PDT 2015


2015-10-09 11:20 GMT+02:00 Olivier Crête <olivier.crete at collabora.com>:

> Hello,
>
> 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.
>
>

Thanks, I'll try that!

Lorenzo



> Olivier
>
> 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
> >set
> >> 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
> >we're
> >doing as of now for the case when we offer. Trickling is involved and
> >IIRC
> >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
> >waiting
> >for the answer as we probably should. I'll check if this also solves
> >the
> >issue referenced in my first post.
> >
> >Thanks,
> >Lorenzo
> >
> >
> >
> >> 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
> >issue:
> >> >
> >> >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,
> >there
> >> >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
> >stream.
> >> >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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/nice/attachments/20151009/1350f191/attachment.html>


More information about the nice mailing list