Voice and Video GSoC Project

Maiku cmaiku at gmail.com
Tue Aug 19 16:32:26 EDT 2008

So coding for SoC 2008 has come to a close, but there's still more
voice and video to do. It's come a long way from where it started. As
those who have following this thread know, Both voice and video over
XMPP work, but only with other Pidgin clients from the
im.pidgin.soc.2008.vv branch. In order to make it work with other
clients it will either need to actually use Farsight 2's ICE
transmitter or have support for Jingle's rawudp transport added. Since
the last update I've been able to implement the mute button and
preferences for volume, both sending and receiving audio, document all
of the PurpleMedia and PurpleMediaManager stuff, and clean up,
plugging quite a few memory leaks.

Currently, there's only one possible stream at a time per camera. I'd
like to try and fix that to allow as many streams from a camera as
necessary. That would make it so you can use the same camera for
multiple conversations and/or a conversation and the preview window.
Speaking of the preview window, it still could be embedded into the
preferences window, and a message could be displayed if it was
unsuccessful (The user would see the video from the webcam if it
worked). At the moment, if the selected device doesn't work, nothing
appears to happen when the preview button is pressed. Alternately,
according to ticket #6605, it crashes.

Other improvements I have in mind are restructuring the Jingle code
again to be less specific to Jingle RTP, which would make it easier to
add both the rawudp transport and possibly Jingle file transfers,
adding an audio cutoff option to remove/reduce background noise,
update to the newest Farsight 2 version (once it's released), use
Farsight 2's ICE transmitter (once it's finished enough), possibly
auto-detecting the video device and audio device, adding a
test/preview for the audio input device, and fixing pulling a tab with
video out of a conversation window.

After all that (some of them are optional) it's a matter of getting it
to work in Windows (someone is already working on this), fixing up
Finch, and adding support for more protocols.

Thanks for a wonderful SoC,

More information about the Devel mailing list