Proposal: A common infrastructure for Farstream in libpurple that could be reused by calling, file transfers and desktop sharing.

Niklas Andersson niklas.andersson at
Thu Apr 24 08:34:37 EDT 2014


 We are working on the Lync-support in SIPE-plugin for Pidgin, and we would
need to add some functionality in libpurple. We would like to hear if
anyone has any objections as to how we think this could best be implemented.

 We think what we want to do is being able to use Farstream (and that means
also libnice) in different contexts than only voice calls. Some internal
libpurple API that creates a pipeline and user can specify whether he wants
an RTP conference for voice call or only raw stream, whether to enable ICE

 Libpurple gives him some handles that he can use to read and write data.
Then he'll connect a camera and microphone, or expose the data stream to
external RDP application, depending on the actual use case.

 What we want is being able to use Farstream and ICE for different kinds of
data transfer than just calling, like file transfer or desktop sharing -
we'd like to be able for example to use ICE and RTP encryption in Farstream
to establish a connection and receive a file with libpurple.

Any objections, or additional thoughts on this suggestion? We would like to
first assemble a proposed design you could comment on, then we build it and
provide the project with the patches.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Devel mailing list