Err.....I'm trying to post this to the whole Adium devel list! Sorry for the
duplicates!

Gatlin, Evan, and Robert,

1. To Evan & Robert:

Yes, I was able to compile the dependencies.

I'm sorry for the couple of months of being totally MIA. I am a physics
student (undergrad) completing work in the summertime, and that's been
taking a lot of my time.

2. To Gatlin:

I haven't contributed my code back into Adium in the form of a plug-in, yet,
but I have written a mini-client with a barely-functional voice chat feature
using PurpleMedia + gstreamer osxaudio sink/src elements.  It works in the
sense that you can initiate a voice chat with another GTalk client. I've
tried it with Pidgin  and on the Mac with Google's GChat plug-in which loads
when you log into Gmail.

There are a few issues. To list a few off the top of my head,

1)  Negotiating a voice chat takes forever for some reason. It takes about
10 seconds after clicking the "Voice chat..." button for libpurple to spit
out the  XMPP stanzas. It eventually happens, but it's quite a wait. Looking
at Pidgin's debug window, it doesn't appear to take nearly as long.

2) There may or may not be a race condition when the Gstreamer generates
synchronous bus messages on one of its many spawned threads, these get
passed across threads by way of a CFMessagePort, which fires an async event
on the main thread. The fact that I use pthread mutex to lock & pass the
actual message may be a huge part of this. It may also be responsible for
every other problem I'm listing here.

3) I cannot use the  Gstreamer Speex codec, and possibly a couple of other
codecs, on my machine. They sound like tin cans, and I'm not sure why.

4) There is a lot of latency and blips even on codecs that do work.


In any case, this code is ready to be made into an Adium plugin - or rather
a built-in "component" - which I have also started. On that front, I've
gotten about as far as installing the "Voice chat..." item into the
contextual menus, which triggers an empty voice chat window.

I have just put my mini-client code up on GitHub. You might need to hack it
a little to get it to work.  It's called VoiceVideoPorts2 (don't ask) - the
source is (I think you should be able to access it)
http://github.com/Aqueous/VoiceVideoPorts2

it links against the gstreamer, and libpurple binaries in an /opt/local/lib
directory created by DarwinPorts.

The heavylifting goes on on "VVPurpleInitRun.m", "AIMediaSession.m", and
"AIVoiceController.m" - it's ugly. Don't stare directly at it. I had
absolutely no clue about how libpurple, gstreamer, farsight, or Adium's
code  worked when I started working on it.

As far as a briefing goes, which probably will be best done by me walking
you through what I've done, perhaps I can meet you on IRC as my schedule
allows. I am going to be a bit busy with schoolwork still. I will come on
IRC into #adium-devel anytime I can. I will also try to work on this myself
again soon.

Again, I apologize for getting sidetracked.

Jonathan Lyons


On Tue, Aug 17, 2010 at 9:30 PM, Robert Vehse <robert.ve...@gmx.de> wrote:

> Adding to what Evan said:
> another guy, gatlinjohnson in #adium-devl, expressed interest in working on
> A/V. Maybe you'd like to work together with him.
>
> Regards,
> Robbie
>
>

Reply via email to