Closed alessandrod closed 8 years ago
:+1:
Looks good to me and makes sense. Can you also forward this upstream to https://phabricator.freedesktop.org/project/view/20/ ? If you don't want to create yet another account and stuff, I can also forward it there for you :)
Put it there for discussion https://phabricator.freedesktop.org/T3359
Tested as noted in https://github.com/EricssonResearch/openwebrtc/issues/186 - it helps a lot!
@alessandrod Can you fix the threading problem? Just needs a GCond, e.g. like here: https://github.com/sdroege/gst-player/blob/master/lib/gst/player/gstplayer.c#L451 https://github.com/sdroege/gst-player/blob/master/lib/gst/player/gstplayer.c#L680 https://github.com/sdroege/gst-player/blob/master/lib/gst/player/gstplayer.c#L2371
Updated. I made both _start() and _stop() wait for the agent thread so that we're sure to call g_main_loop_run and g_main_loop_quit in the right order.
If tested then good for me. @sdroege?
Looks good except for the small leak
Done. Thanks!
Great, let's get this in then :) Do you want to put it into fdo phabricator for review?
This commit adds the following patch to the libnice{-static} recipes. It's needed as part of landing https://github.com/EricssonResearch/openwebrtc/issues/186 which i'm hoping to do soon.
Subject: [PATCH] nicesrc: spin the agent mainloop in a separate thread
Don't run the mainloop from the srcpad task, since that can get blocked in the pipeline and cause unnecessary STUN retrasmissions (at best) and completely block the agent (at worst).