[gst-devel] caps negotiation problem with audioconvert
Tim Müller
t.i.m at zen.co.uk
Wed Sep 5 00:44:37 CEST 2007
On Tue, 2007-09-04 at 14:15 -0700, Steve Fink wrote:
> I ran into this error message with the element I am (slowly, badly)
> attempting to write, and I was able to reproduce it with a builtin
> pipeline:
>
> % gst-launch-0.10 -v filesrc location=ping.wav ! volume ! audioconvert
> ! fakesink
> Setting pipeline to PAUSED ...
> Pipeline is PREROLLING ...
> /pipeline0/fakesink0: last-message = "event ******* E (type: 102,
> GstEventNewsegment, update=(boolean)false, rate=(double)1,
> applied_rate=(double)1, format=(GstFormat)GST_FORMAT_BYTES,
> start=(gint64)0, stop=(gint64)39212, position=(gint64)0) 0x9489608"
> ERROR: from element /pipeline0/volume0: not negotiated
> I'm assuming the problem is between volume and audioconvert -- they
> haven't agreed on a set of caps. But they're both based on
> gst_base_transform, which looks like it at least intends to do the
> right thing.
The problem is between filesrc and volume. Volume rejects the input
because no input format is set (as is to be expected with filesrc). You
are missing a wavparse element between filesrc and volume. Try:
filesrc location=ping.wav ! wavparse ! audioconvert ! volume !
fakesink
or:
filesrc location=ping.wav ! decodebin ! audioconvert ! volume !
fakesink
(I swapped the order of audioconvert and volume because with older
versions of gst-plugins-base the volume element is a bit restricted in
what kind of input it accepts).
Cheers
-Tim
More information about the gstreamer-devel
mailing list