[libnice] architecture to support multiple media streams

tom chen chentom60 at hotmail.com
Sat Oct 17 18:18:36 PDT 2015


Hello,
 

I am wondering whether one main loop can serve several agents? It seems Yes from code tests\test-fullmode.c.

I am asking because I need to support multiple (up to 8) media streams concurrently. So I would like to create multiple agents form each. But I would like to have 1 main loop to process events from all of these agents.

 

Please let me know if this architecture is feasible and libnice can support multiple candidates gathering, negotiating etc simultaneously.

 

Tom

 

Main()

{

  . . . . . . . . . . .

  global_mainloop = g_main_loop_new (NULL, FALSE);

 

  /* Note: impl limits ...

   * - no multi-stream support

   * - no IPv6 support

   */

 

  /* step: create the agents L and R */

#if USE_RELIABLE

  lagent = nice_agent_new_reliable (g_main_loop_get_context (global_mainloop),

      NICE_COMPATIBILITY);

  ragent = nice_agent_new_reliable (g_main_loop_get_context (global_mainloop),

      NICE_COMPATIBILITY);

#else

  lagent = nice_agent_new (g_main_loop_get_context (global_mainloop),                          ç agent 1

      NICE_COMPATIBILITY);

  ragent = nice_agent_new (g_main_loop_get_context (global_mainloop),                         ç agent 2

 

      NICE_COMPATIBILITY);

#endif

}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/nice/attachments/20151017/9bd107a7/attachment.html>


More information about the nice mailing list