[Pidgin] #16315: New API for private Raw and RTP data streams

Pidgin trac at pidgin.im
Mon Aug 11 16:57:49 EDT 2014


#16315: New API for private Raw and RTP data streams
----------------------+-----------------------
 Reporter:  kakaroto  |      Owner:
     Type:  patch     |     Status:  new
Milestone:            |  Component:  libpurple
  Version:  3.0.0hg   |   Keywords:
----------------------+-----------------------
 Hi,
 I've added a new API to libpurple to add support for private PurpleMedia
 that plugins can use as well as new APIs for sending/receiving raw and RTP
 data.
 I have sent this proposal to the pidgin-devel mailing list in June
 (https://pidgin.im/pipermail/devel/2014-June/023514.html) and I've now
 finished the implementation.
 You will find all the commits here :
 https://github.com/tieto/pidgin/commits/appdata
 There are small differences between the implementation and the proposal.
 Mainly, the callbacks that get register will signal readable or writable,
 they won't send the actual data received. Also, I've added a
 receive_application_data API in order to read. When the readable callback
 gets called, the plugin must call receive_application_data until no data
 is left.
 You can see how the API can be used by a plugin in these commits to SIPE :
 https://github.com/tieto/sipe/commit/bae7b738dfe31baafbe50200f5895fc432fc170a
 https://github.com/tieto/sipe/commit/76a893337b4484d8c0736a8b651ccaa60bfee9e8
 Note that the stream type is PURPLE_MEDIA_APPLICATION which is not shown
 in those commits, and the media is created using create_private_media so
 the UI doesn't get notified and the file transfer can use purple_xfer to
 notify the UI instead and the private PurpleMedia internally to transfer
 the data with the peer.

 I also fixed a couple of bugs I found in pidgin, and added a signal to
 PurpleMedia to notify when a candidate pair has been established, and
 added a purple_media_set_send_rtcp_mux API to set the rtcp-mux option on
 the FsStream.

 Please review and merge these changes.
 Thank you.

--
Ticket URL: <https://developer.pidgin.im/ticket/16315>
Pidgin <https://pidgin.im>
Pidgin


More information about the Tracker mailing list