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.

Version 61 (modified by kyrian, 16 years ago) (diff)

--

GSoC2008: Voice and Video Support

Student: Mike Ruprecht (Maiku)

To-Do:

  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)
  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

Tips for Testers:

Make sure you are using the latest revision of im.pidgin.soc.2008.vv before asking questions and submitting bug reports. It might be a good idea to review UsingPidginMonotone.

If you're following the UsingPidginMonotone HOWTO, use "im.pidgin.soc.2008.vv" instead of "im.pidgin.pidgin".

For help with building, see Compiling 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, your ./configure line should output at least the following two lines:

checking for GSTREAMER... yes

checking for FARSIGHT... yes

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.

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'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.

You have to use FC9+ because otherwise the gstreamer base package is too old to support the farsight2 package above, and rebuilding it is impractical because things like mplayer, totem and all other multimedia stuff might be killed by that.

There is a .spec file in the MTN version of Pidgin, which you could leverage to build an RPM of this, but we're assuming here that you have a standard version of Pidgin already installed and don't wish to overwrite it.

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.

This gets you far enough to have a 'media' preference in the Pidgin menus, with a working 'Preview', but no access to 'send webcam'/'receive webcam' type functionality via the 'Media' menu within a conversation.

I suspect that this is because the MSN plugin etc. for Farsight have not been ported to the v2 API yet, and this is slated for the next Google SOC? Either that or I need to test/rebuild some more... Maiku?

REMAINDER IS A WORK IN PROGRESS FOR FEDORA CORE SPECIFIC BUILD, PLEASE IGNORE FOR NOW...

These are retained because (if nothing else) building with gnutls on FC9 causes a segfault before Pidgin has even properly started!! I am working on it.

(Seems to work on FC8 as far as completing build) ./configure --enable-gnutls=no --enable-nss=yes --enable-cyrus-sasl --enable-tcl --enable-tk --disable-schemas-install

(May be useful to coax avahi support into the build, which is the default) AVAHI_CFLAGS=-I/usr/include/avahi-glib ./configure --with-avahi-client-includes=/usr/include/avahi-client --with-avahi-client-libs=/usr

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!