Trac is being migrated to new services! Issues can be found in our new YouTrack instance and WIKI pages can be found on our website.

GSoC2008: Voice and Video Support

Notice: The information on this page only applies up to the end of SoC2008 and the im.pidgin.soc.2008.vv branch. It is therefore out of date. See vv for more up to date information.

Disclaimer: This page is only about voice and video for XMPP/GTalk. See vv for information about the rest of the protocols.

Student: Mike Ruprecht (Maiku)


  1. Port Pidgin to use Farsight 2 (Done: until the next version is released)
  2. Finish XMPP audio conference implementation (Making good progress: it works)
    • Fix up libPurple voice conversation support
    • Fix up Pidgin voice conversation support
    • Complete XMPP voice conversation support
    • Add support for GTalk's voice conversation implementation (Requires libNice: unreleased for Farsight2)
  3. Implement XMPP video conference implementation (Making good progress: it works)
    • Add libPurple video conversation support
    • Add Pidgin video conversation support
    • Add XMPP video conversation support

Note: until Farsight 2's ICE transmitter (libnice) is completed, NAT traversal might not work very well. So, if you're behind a firewall, you'll probably only be able to start sessions within your local network.

Update: now that STUN works with the rawudp transmitter, calls should work through NATs to some degree.

Tips for Testers:

Please be familiar with compiling and installing code from source. Please also submit any bugs you find to Trac (TipsForBugReports).

Make sure you are using the latest revision of im.pidgin.pidgin.vv before asking questions and submitting bug reports. It might be a good idea to review UsingPidginMonotone. You'll want to use "im.pidgin.pidgin.vv" instead of "im.pidgin.pidgin".

For help with building, see Installing Pidgin. Please carefully read through that section and any extra information for the distribution you're using.

Make sure you have:

  • gstreamer0.10-plugins-good
  • gstreamer0.10-plugins-bad (not sure which version, but it needs to include the gstrtpbin plugin)
  • gstreamer0.10-plugins-farsight >= 0.12.6

in addition to the extra compiling requirements of:

If you've got everything in order, the configure script should output this line:

Build with voice and video.... yes

Additional Tips for Debian/Ubuntu? Users:

You'll need these packages from the your Debian/Ubuntu? repositories, instead of the ones listed above:

  • [apt://gstreamer0.10-plugins-good gstreamer0.10-plugins-good]
  • [apt://gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad]
  • [apt://libgstreamer-plugins-base0.10-dev libgstreamer-plugins-base0.10-dev]

in addition to these packages you'll have to get from the Debian packages site (unless you're running experimental):

Additional Tips for Fedora Core 9+ Users: (Kyrian)

You have to use FC9 or higher, otherwise the GStreamer base package is too old to support Farsight2.

You'll need these packages from the Fedora package repositories, instead of the ones listed above:

  • gstreamer-plugins-good
  • gstreamer-plugins-bad
  • gstreamer-plugins-base-devel
  • gstreamer-plugins-farsight

You'll also need this package, which needs to be compiled from source, and it builds "out of the box" on FC9.

Because the Pidgin configure script only looks at files available to the "pkg-config" command, and gnutls causes crashes, you need to use the following configure incantation:

PKG_CONFIG_PATH=/usr/lib:/usr/local/lib/pkgconfig/ ./configure --enable-gnutls=no

And then "make && make install" as normal.

Last modified 10 years ago Last modified on Nov 3, 2013, 3:00:11 AM
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!