GNOME Bugzilla – Bug 142812
[auparse] won't play INT24,32 and float32,64 files
Last modified: 2005-08-29 15:43:20 UTC
as of current tests i have done, auparse only work with the following formats : mu-law (most au files) a-law int8 linear PCM using the samples found there : http://www.tsp.ece.mcgill.ca/MMSP/Documents/AudioFormats/AU/Samples.html the only one that ffmpeg equivalent was able to play and that auparse didn't play was the int16 PCM. so, perhaps those samples are just crap. i do not support either the ADPCM types as there is no decoder actually (but libsndfile could decode at least 3 out of 4)
i don't know why but int16 seems to work too with auparse now removing it from the subject still no luck with 24/32bits int and 32/64bits float
The summary says that these files won't play but, on my system, gstreamer crashes playing them (gst-plugins-0.8.1.2) with spider: gst-launch-0.8 --gst-scheduler=entrygthread filesrc location=PCM32.au ! auparse ! spider ! esdsink
Seems that spider is guilty of the crash. If I replace spider by audioconvert (which is inserted by spider), it doesn't crash. The crash is releted to gst_object_unref ((GstObject *) conn->path->data); in gst_spider_link_reset(). If I comment it out, it doesn't crash. I'm not sure what is the problem, I usually don't have any problem with spider.
retrying the samples with current gstreamer : M1F1-int24-AFsp.au : ERROR (0x809e790 - 306353:59:15.136872000) spider( 1287) gstspider.c(466):gst_spider_identity_plug:<spider0> There is no element present to handle the stream's mime type audio/x-raw-int. ERROR: from element /pipeline0/spider0: There is no element present to handle the stream's mime type audio/x-raw-int. ERROR (0x80508f0 - 306353:59:15.137421000) entrygthread( 1287) entryscheduler.c(1076):gst_entry_scheduler_iterate:<GstEntryGThreadScheduler@0x809d500> returning error because of element error Execution ended after 3 iterations (sum 169344000 ns, average 56448000 ns, min 109000 ns, max 168954000 ns). => fails because an element can't handle 24bit INT audio -------------------------------------------------------------------------- M1F1-int32-AFsp.au : (using same pipeline but alsasink) gst-launch-0.8: pcm.c:2439: snd_pcm_areas_copy: l'assertion « frames > 0 » a échoué -------------------------------------------------------------------------- M1F1-float32 & float64 won't play because of caps problems : ERROR (0x8202888 - 306354:02:49.138533000) GST_CAPS( 1349) gstpad.c(2680):gst_pad_get_caps:<auparse0:src> pad returned caps audio/x-raw-float, width=(int)64, endianness=(int)4321 which are not a real subset of its template caps audio/x-raw-float, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], endianness=(int){ 1234, 4321 }, width=(int){ 32, 64 }, buffer-frames=(int)[ 1, 2147483647 ]; ...
another file i forgot to test : monkey.au ERROR: from element /pipeline0/alsasink0: Could not get/set settings from/on resource. ERROR (0x80508f0 - 306354:14:39.427837000) entrygthread( 1420) entryscheduler.c(1076):gst_entry_scheduler_iterate:<GstEntryGThreadScheduler@0x809d500> returning error because of element error this is a mu-law encoded au file, the trick is that it is not 8kHz but 8012Hz what file has to say about all those samples : CCRMA/o2_722.snd: Sun/NeXT audio data: compressed (8-bit CCITT G.722 ADPCM) mono, 44100 Hz CCRMA/o2_726.snd: Sun/NeXT audio data: compressed (5-bit CCITT G.723.5 ADPCM), mono, 44100 Hz leroutier@leroutier58 ~/CVS/GSTREAMER/au $ file Perverse/* Perverse/monkey.au: Sun/NeXT audio data: 8-bit ISDN mu-law, mono, 8012 Hz Perverse/soundB.au: Sun/NeXT audio data: 8-bit ISDN mu-law, mono, 44100 Hz leroutier@leroutier58 ~/CVS/GSTREAMER/au $ file AFsp/* AFsp/M1F1-Alaw-AFsp.au: Sun/NeXT audio data: 8-bit A-law (CCITT G.711), stereo, 8000 Hz AFsp/M1F1-float32-AFsp.au: Sun/NeXT audio data: 32-bit IEEE floating point, stereo, 8000 Hz AFsp/M1F1-float64-AFsp.au: Sun/NeXT audio data: 64-bit IEEE floating point, stereo, 8000 Hz AFsp/M1F1-int16-AFsp.au: Sun/NeXT audio data: 16-bit linear PCM, stereo, 8000 Hz AFsp/M1F1-int24-AFsp.au: Sun/NeXT audio data: 24-bit linear PCM, stereo, 8000 Hz AFsp/M1F1-int32-AFsp.au: Sun/NeXT audio data: 32-bit linear PCM, stereo, 8000 Hz AFsp/M1F1-int8-AFsp.au: Sun/NeXT audio data: 8-bit linear PCM [REF-PCM], stereo, 8000 Hz AFsp/M1F1-mulaw-AFsp.au: Sun/NeXT audio data: 8-bit ISDN mu-law, stereo, 8000 Hz it looks more and more like different issues, do you want me to split this bug-report ?
the monkey.au issue is bug #161704 (alsasink doesn't handle weird sample rates) the templates caps problem with float audio is fixed in CVS the 24 and 32 bits int alsa failed assert is still there, would open a separate bug report for it
last issue (24/32 bits int audio) is now in bug #161712 closing this ugly "meta bug report" (individual bug reports are far better)