Google's Jingle: Slightly Out of Tune - ' Working With Code ' (
Page 3 of 4 )
libjingle Has Problems
That's the potential for libjingle, and while it'll undoubtedly get there, right now it's in a rather sorry state. We'll take a look at some of the core classes of the library in a bit, but first let's take a look at some of its issues.
ADVERTISEMENT
To begin with, libjingle's home page is available on Google Code. There, you find a link to a rather short developer's guide with a few code snippets, the details about libjingle's licensing (commercial apps are legally OK but, for reasons we'll discuss later, are not a great idea right now), and a link to the code itself. You can skip that and just go straight to Sourceforge if you'd like.
Looking through the code can be a daunting task. In many cases rather arcane, and it is quite inconsistently commented. Some classes are very easy to follow and are very well documented, while in others the only comments you'll find are labeled "TODO," or say troubling things like "There is something wrong with this."
Let's Get It To Compile
Finally, there's the issue of actually compiling it all. Depending on your operating system and system configuration, you may or may not have problems running the included build. Libjingle itself can be made to compile under Windows, but most likely you'll need to make some tweaks.
If you're using gcc in Cygwin under Windows, you'll have some problems compiling the SSL-related classes. The first fix that is required to compile is simple and is listed on libjingle's Sourceforge Patches page. Go to line 103 of ssladapter.cc and change the line:
return static_cast(THREAD_ID);
To this:
return reinterpret_cast(THREAD_ID);
The next problem is a bit more involved, and requires two changes, as discussed in the google-talk-open group. In openssladapter.cc, on line 650 change this:
Run make again, and the compile should go through successfully for the libjingle code itself. However, one of the third-party libraries included for handling audio duties will not compile under Windows. Meaning, as of the moment at least, only Linux users can actually get the library running and play with it. However, anyone should at least be able to get libjingle itself compiled.
Whew. That's out of the way. Let's take a closer look at the classes included in the library.