GNOME Bugzilla – Bug 301759
[audioresample] float audio support (for OSX audio sinks)
Last modified: 2006-04-28 14:17:11 UTC
Distribution/Version: 10.3.7 playbin currently can't play audio on OS X, because audioscale only handles audio/x-raw-int and osxaudiosink only accepts audio/x-raw-float, so the link fails and osxaudiosink just sits there being sad. Enabling passthrough of float data makes it work in at least the common cases. It'd be nice if actual resampling worked too, but according to comments in the code, there are some problems with that. I haven't looked into it, in any case.
Created attachment 45602 [details] [review] proposed patch Tested on OS X and linux, works for me
Applied. The other audioscale bug is already somewhere else, let's keep that one (#160894) open.
I think this patch should be reverted, as it appears to cause regressions for programs still using spider (or spider fixed of course, if it is a spider bug). I now get something like this when trying to extract tags from an ogg/vorbis file: sceptic [tim] - ---> scentric-import --tags-only foo.ogg --debug :: debug :: ----------------------------------------------------------------- :: debug :: Processing 'foo.ogg'. size = 144090169, itemid = 0 :: debug :: Metadata pipeline: filesrc ! typefind ! spider ! audio/x-raw-int ! fakesink :: debug :: Metadata pipeline playing... :: debug :: Metadata pipeline element added by spider: oggdemux0 :: debug :: Metadata pipeline mime type: application/ogg (NEW) :: debug :: Metadata pipeline element 'oggdemux0' found tag. :: debug :: Metadata pipeline element added by spider: vorbisdec0 :: debug :: Metadata pipeline mime type: audio/x-vorbis (NEW) :: debug :: Metadata pipeline element added by spider: audioscale0 :: debug :: Metadata pipeline element 'vorbisdec0' found tag. ** (scentric-import:22899): CRITICAL **: gst_audioscale_link: assertion `caps' failed ERROR (0x805b0e0 - 310142:25:25.968476000) GST_PADS(22899) gstpad.c(2562):gst_pad_set_explicit_caps:<vorbisdec0> failed to negotiate (try_set_caps with "audio/x-raw-float, rate=(int)44100, channels=(int)2, endianness=(int)1234, width=(int)32, buffer-frames=(int)0" returned REFUSED) :: debug :: Metadata pipeline error: Internal GStreamer error: pad problem. File a bug. ERROR (0x805b0e0 - 310142:25:25.969236000) scheduler(22899) gstoptimalscheduler.c(2798):gst_opt_scheduler_iterate:<optscheduler0> in error state :: debug :: Metadata pipeline done. No EOS. No hand-off. Got error. http://mail.gnome.org/archives/rhythmbox-devel/2005-May/msg00072.html looks like the same issue. Cheers -Tim
removing this patch for the release, this needs more work
should probably just get audioscale to do float, or use audioresample
The audioresample element still only does int. Tough to know what the real issue is until osxaudiosink gets ported.
Created attachment 63461 [details] [review] patch to reenable more audio formats adding the other supported formats to the caps and activating them seems to work fine for me.
* gst/audioresample/gstaudioresample.c: (gst_audioresample_init), (resample_set_state_from_caps): Add support for other formats audioresample can handle such as 32 bits in and float and 64 bits float. Fixes #301759