On Tue, Jan 29, 2008 at 11:32:44PM -0500, [EMAIL PROTECTED] wrote:
> On 28 January 2008 at 14:52, Brad <[EMAIL PROTECTED]> wrote:
> 
> > On Sunday 27 January 2008 13:09:40 [EMAIL PROTECTED] wrote:
> > > A while back after a snapshot update I noted that gcompris would make 
> > > horrid squealing noises upon launch and thus be unusable if run with
> > > sound enabled.
> > > 
> > > As of gcompris 8.4 it uses gstreamer for sound.  If I launch
> > > /usr/local/bin/gst-visualise-0.10 (part of gstreamer-plugins-base) 
> > > with no arguments, the machine begins its squealing in the exact same 
> > > manner.
> > > 
> > > The gcompris website ( http://gcompris.net/-News- ) says the issue is 
> > > fixed in gstreamer-plugins-base 0.10.15 and higher (their workaround
> > > didn't work for me).  -current has 0.10.12.
> > > 
> > > Is it acceptable for me to post an update to just gstreamer-plugins-base
> > > or should all of gstreamer be updated, or should I just try to backport
> > > that specific fix?
> > > 
> > > Thanks.
> > 
> > A full update of gstreamer would be very useful.
> 
> Thanks.
> 
> I'm working my way through it... core and plugins-base are done.  I'll
> post when it's complete.
> 
> Unfortunately I don't think it will solve my issue -- even the new 
> gst-visualise still squeals like the old one.
> 
> Which makes me suspect the recent commits to ac97, which is the only
> other change I'm aware of... ah well, more work to do  :-)
> 

probably what tripped this off was r1.12 of src/lib/libossaudio/ossaudio.c

-- 
[EMAIL PROTECTED]
SDF Public Access UNIX System - http://sdf.lonestar.org

--- gstosshelper.c.orig Sat Dec 10 06:57:48 2005
+++ gstosshelper.c      Thu Feb 14 10:43:38 2008
@@ -250,12 +250,18 @@
   if (probe->min == -1 || probe->max == -1) {
     /* This is a workaround for drivers that return -EINVAL (or another
      * error) for rates outside of [8000,48000].  If this fails, the
      * driver is seriously buggy, and probably doesn't work with other
      * media libraries/apps.  */
     probe->min = gst_oss_helper_rate_check_rate (probe, 8000);
+    if (probe->min == -1)
+        probe->min = gst_oss_helper_rate_check_rate (probe, 32000);
+    if (probe->min == -1)
+        probe->min = gst_oss_helper_rate_check_rate (probe, 44100);
+    if (probe->min == -1)
+        probe->min = gst_oss_helper_rate_check_rate (probe, 48000);
     probe->max = gst_oss_helper_rate_check_rate (probe, 48000);
   }
   if (probe->min == -1 || probe->max == -1) {
     GST_DEBUG ("unexpected check_rate error");
     return FALSE;
   }


although, this is a more fitting comment:

     /* This is a workaround for drivers that return -EINVAL (or another
      * error) for rates outside of [8000,48000].  If this fails, then
      * gstreamer is seriously braindead yet still overly complex and
      * is a poor choice for media libraries/apps.  */

Reply via email to