After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 142812 - [auparse] won't play INT24,32 and float32,64 files
[auparse] won't play INT24,32 and float32,64 files
Status: RESOLVED INVALID
Product: GStreamer
Classification: Platform
Component: gst-plugins
git master
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2004-05-20 01:23 UTC by Stephane Loeuillet
Modified: 2005-08-29 15:43 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Stephane Loeuillet 2004-05-20 01:23:14 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)
Comment 1 Stephane Loeuillet 2004-05-20 23:36:54 UTC
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
Comment 2 Sebastien Cote 2004-06-18 18:47:07 UTC
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

Comment 3 Sebastien Cote 2004-06-21 18:33:04 UTC
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.
Comment 4 Stephane Loeuillet 2004-12-12 18:03:48 UTC
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 ]; ...

Comment 5 Stephane Loeuillet 2004-12-12 18:14:53 UTC
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 ?
Comment 6 Stephane Loeuillet 2004-12-19 16:50:20 UTC
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

Comment 7 Stephane Loeuillet 2004-12-19 17:02:55 UTC
last issue (24/32 bits int audio) is now in bug #161712

closing this ugly "meta bug report" (individual bug reports are far better)