[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