Hello hello everyone..
long time no see!
Well, I'm posting here to give you a little update on my progress...
good news! I have just finished making libnice MSN compatible... This basically means that we can now have ICE support with aMSN so you can always have the audio conversation working, whether it is with another WLM user, or with aMSN, whether the user is behind a NAT/firewall or not...
you will need the 'nice-kakaroto' branch of libnice from GIT :
http://git.collabora.co.uk/?p=user/kakaroto/nice.git;a=shortlog;h=refs/heads/nice-kakarotothen you will need the 'nice' branch of farsight 2 from GIT :
http://git.collabora.co.uk/?p=user/tester/farsight2.git;a=shortlog;h=refs/heads/niceThen you will need the changes I have locally on my laptop.. LOL.. yeah, I wanted to commit that, but SVN is down for today, so tomorrow it should be fixed, and I'll commit my changes...
Anyways, my previous TODO (on page 3:p) was :
TODO :
1 - use of ICE for having WLM receive our stream
2 - add a Siren encoder/decode/payloader/depayloader for gstreamer
3 - clean the ugly hacky functions I used for testing...
4 - a proper configure/makefile/runtime dependency check...
5 - a proper UI
So I'm glad to say that '1' is finally DONE!!
the 2, 3, 4 and 5 were already done... so the TODO is finished... oh well, not exactly..
here's the new TODO :
1 - Handle the SIP re-invite with the remote-candidate chosen by the controlling endpoint
2 - send the SIP re-invite when we are in controlling mode and we elect a candidate pair
3 - add support for TURN
4 - make the 'farsight' application currently used, as a Tcl extension (we don't need glib main loop anymore with farsight) and use a tcl API to get farsight running
5 - Remove debug output from libnice and libstun
6 - release libnice
7 - release farsight2
OK, so 1 and 2 should be done tomorrow, pretty simple, I just need to do it...
3 will be hard, but I reverse engineered most of it, and the only remaining part is implementing it in libnice.. unfortunately, it will require a lot of refactoring since libnice wasn't written for that... thankfully though, it's the same protocol specifications as the google relay, and I am paid to implement google relay support in libnice for my job, so it will be done eventually (hopefully in the next 2 weeks).
4 will be the tricky one since farsight2/gstreamer uses a huge amount of threads and I will need to make the extension thread-safe to avoid crashing Tcl.
5 is simple, in my TODO list, might be done tomorrow
6 and 7 were planned for this week, so expect them soon.. (maybe for next week or in two weeks, depending on some other stuff...)
Bad news (for you guys :p). I will be leaving town/country/continent/not-planet in about 10 days.. and I'll be gone for one month, so I will most probably (for sure) not do any code in that time... You should get a working thingy before then, but the TODO might not be finished by then...
Once this TODO is finished, we can put the "audio conference" feature as 100% complete.. all that will remain is testing it, using it, bugfixing it.
I'll let you know when everything is in SVN and when you can start trying it out!
see you!