Hello,

In the near future, there will be a Farsight 2 API break for external
reasons. I'm using it as an opportunity to improve the API a bit.

I've made a branch [1] implementing some changes:

     A.  * Rebased the objects on top of GstObject, this give us nice
        objects names, should make debugging easier
 * Removed the "cname" parameter from fs_conference_new_participant()
 * Move the "cname" property from the FsParticipant base class to the
RTP subclass   
 * Removed the "error" signal on FsParticipant (it was never used)
 * Removed FS_ERROR_UNKNOWN_CNAME
 * Removed "debug-msg" from the "farsight-error" messages, it was almost
always a duplicate of the "error-msg"
 * Bump the GLib dep to 2.16 (for g_prefix_error())
 * Make rawudp/multicast use _force_remote_candidates() instead of
_set_remote_candidates(). So it now behaves exactly like the nice
transmitter.

There are some more changes I'd like to make:

 * Replace _set_remote_candidates() with _add_remote_candidates(), to
make it clear that candidates are not replaced on set anymore (since
force does that)
  * BUT: I'm not sure how to implement the ICE restart API, currently
one does fs_stream_set_remote_candidates(stream, NULL) and it causes a
ICE restart. It does not seem natural with _add_remote_candidates().
Maybe we need an explicit API (_restart_ICE() or something). Or maybe
use _force_remote_candidates(stream, NULL) .. Opinions?

* Maybe change the way STUN servers are set to allow for multiple STUN
servers. Is there anyone who wants this? And what about preferred APIs ?


So right now, to port an application one needs to:
 * Remove the cname parameter from fs_conference_new_participant()
 * Remove any trace of FS_ERROR_UNKNOWN_CNAME
 * Not listen to the "error" signal on FsParticipant (which was never
used anyway).
 * Not try to read the "debug-msg" signal
 * Make sure the right one of _force_remote_candidates() or
_set_remote_candidates() is used in the rawudp case (see [2] for an
example)

I also ported telepathy-farsight [3] for those who care, it should not
affect applications using it.


Also, dear users/developers, please tell me what you dislike about the
API and what I could do to make your lives easier.


[1] 
http://git.collabora.co.uk/?p=user/tester/farsight2.git;a=shortlog;h=refs/heads/api-break
[2] 
http://git.collabora.co.uk/?p=user/tester/farsight2.git;a=blobdiff;f=tests/check/rtp/conference.c;h=4e1c1216fc8bcae68dcce1ee5b23dff747cfa9e4;hp=2d947f95417d62a54d89b8a52253cf50917efa03;hb=75ae3f613b5a8765f39ba5ed1b65a5c796fa4921;hpb=08472f8f9be33c7b59050eacc0ff5ce0db7b016d
[3] 
http://git.collabora.co.uk/?p=user/tester/telepathy-farsight.git;a=shortlog;h=refs/heads/api-break

-- 
Olivier Crête
olivier.cr...@collabora.co.uk

Attachment: signature.asc
Description: This is a digitally signed message part

------------------------------------------------------------------------------
_______________________________________________
Farsight-devel mailing list
Farsight-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/farsight-devel

Reply via email to