From: Mark D. <ma...@ki...> - 2006-07-28 17:45:54
|
I'm not very familiar with gstreamer... I thought we are calling gst_init() from the Gaim core? If all the audio/video stuff goes through the Gaim core, does a plugin still need to be calling gst_init()? Also, we currently have a simple plugin... I think if we're going to add voice or video for sip it's more likely that we would add it to the existing protocol than completely replace our existing protocol -Mark On Fri, 28 Jul 2006 16:47:55 +0300, Martti Mela wrote > Hello, > > If this is still a valid topic, here's what I've experienced when > developing SIP plugin for Gaim based on Sofia-SIP (http://sofia- > sip.org). I got audio working with Gstreamer 0.8 using basic RTP > without ICE or RTCP. After switching to Gstreamer 0.10.8 there was > just the issue Wesley mentioned. The problem with current > implementation of Gst is that gst_init() uses a child process to > cache its registry code. Basically the whole process is copied in > fork > () which causes unpredictable behaviour if gst_init() is called in a > plugin, not in the main() of Gaim. > > At the moment there are two ways to overcome this. > 1. Modify gst.c to not to use fork. Do this (in gst.c) by > > #if HAVE_FORK > #undef HAVE_FORK > #endif > > This causes registry reading to be done in the same process where > gst_init() is called from. Then make && make install. > > 2. From Gstreamer 0.10.9 there's a env variable GST_REGISTRY_FORK > that you can set to no before gst_init(): "GST_REGISTRY_FORK=no" > > Actually I filed this as a feature request (Bug 348918) to Gst devs > and here's the answer: > > " > ------- Comment #1 from Tim-Philipp Müller 2006-07-27 11:46 UTC ------- > Since 0.10.9 you can set the environment variable > GST_REGISTRY_FORK=no to avoid > this, but maybe there should also be API for that. > " > > With this modification I've now been able to have audio playback > (RTP) working for a short time in my OSX (not Adium, I know :) > Capture side is also implemented but as Gst OSX audio is still quite > unstable I've been testing this only one way. However, in Linux > this should work quite easily. According to my Gst mentor, Gst's > OSS support is quite stable but with Gst ALSA drivers there are > some serious issues with RTP. > > If you happen to have too much time you can find the Sofia-SIP > tarball (new release coming today) at > http://sourceforge.net/projects/ sofia-sip and the latest plugin > code from our darcs repository by darcs get http://sofia- > sip.org/repos/gaim-sip-plugin > > Hope this helps, > > Martti > > On Jul 12, 2006, at 7:34 PM, ext Luke Schierer wrote: > > > On Mon, Jul 10, 2006 at 08:52:21PM -0400, Wesley Morgan wrote: > >> I've been trying to get gaim to work with gstreamer on freebsd- > >> current, > >> both the 2.0.0 branch and head. I originally tried this a few > >> months back > >> but always got an error, which I chalked up to not having any > >> sound. Now I > >> have my sound working and I still get this error: > >> > >> Could not initialized GStreamer: unknown error occurred > > > > I see this same error now and then on debian, using the gaim v2.0.0 > > branch. > > > > luke |