GNOME Bugzilla – Bug 161179
[audioscale] quits with gmem assertion
Last modified: 2005-03-01 17:32:08 UTC
CVS HEAD as of 2004-12-13, with this pipeline: adder name=a ! fakesink { filesrc location=songs/disco.wav ! wavparse ! audioconvert ! audioscale ! queue ! a. } { filesrc location=songs/phone.wav ! wavparse ! audioconvert ! audioscale ! queue ! a. } Results in: GLib-ERROR **: gmem.c:140: failed to allocate 4294967284 bytes aborting... This is the stack from gdb.
+ Trace 53477
Thread 3 (Thread -1216214096 (LWP 12265))
Thread 2 (Thread -1214116944 (LWP 12264))
Thread 1 (Thread -1211676224 (LWP 12259))
Adder has some invalid stuff in its loop function. It does a single peek(), then breaks out of the loop if that gives an event (which all streams start with...) and then checks if width != 0. Problem is that some formats only set format (width) at runtime. The loop in adder needs some fixes. All the rest (your g_malloc() failure, but also the width = 0 warnings and everything) is a consequence of this, I think...
*** Bug 162704 has been marked as a duplicate of this bug. ***
So with Miron's bug dup'ed, this isn't only in adder anymore. Audioscale needs some smartness in resampling, it shouldn't resample empty input. I'll poke around with this soon.
Fixed...