Voice and Video architecture re: Adium

Evan Schoenberg, M.D. evan at adium.im
Tue Aug 17 21:46:37 EDT 2010


On Aug 13, 2010, at 7:14 PM, Gatlin Johnson wrote:

> I have been lurking in the IRC room for a while, and I realize that my
> question probably lends itself to a little more verbosity. I have some
> free time and would like to implement VV, in some rudimentary fashion,
> in Adium.
> 
> So far as I know, the current version of libpurple shipping with Adium
> has VV support built in. Gstreamer and Farsight both build on Mac OS
> X. My hope here is that an Adium dev is also reading this :)

> My understanding is thus: PurpleMediaManager is initialized and
> figures out capabilities and manages PurpleMedias, which encapsulate
> the VV session with a contact on a particular PurpleAccount. The
> PurpleMedia is retrieved when a call is initialized by either party
> (remote or local) and, somewhere, provides gstreamer sources and sinks
> to interact with.  I found pidgin_media_new_cb in gtkmedia.c which
> appears to be something of an entry point.
> 
> Not being proficient with gtk/glib, I'm having a spot of trouble
> determining which signals to listen for when VV sessions are
> initialized, or how to interact with the various media pipes, and I'm
> slow to figuring out how PidginMedia works. A high-level overview of
> how what objects are used to do what would be very helpful.
> 
> I have done my best to look through the wiki and API docs but it might
> be more efficient if someone knowledgeable gave me some pointers.

Several Adium devs are subscribed to pidgin-devel, but I, at least, don't know much more than you do about PurpleMediaManager yet.

I'm not aware of documentation outside of the header files (which do a good job on a per-function basis but don't provide module overviews).  A high-level overview on the wiki or, more portably, within the header files would be awesome.  Who was responsible for media/mediamanager or knows it well enough to potentially be convinced to help with the explanation?

Cheers,
Evan



More information about the Devel mailing list