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
[email protected]
signature.asc
Description: This is a digitally signed message part
------------------------------------------------------------------------------
_______________________________________________ Farsight-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/farsight-devel
