Caps Negotiation Confusion.

Tim-Philipp Müller t.i.m at zen.co.uk
Mon Jan 28 10:31:16 PST 2013


On Mon, 2013-01-28 at 11:41 -0500, Stirling Westrup wrote:

> Right now I have an interesting problem in that caps negotiation is
> not completing in my pipeline. This has to be a side effect of
> dynamically building the pipeline in stages as caps negotiation
> completes and gives the expected results if I build and run an exact
> copy of the pipeline via gst-launch.
> 
> For background, my pipeline can either run in pull or push mode. It
> runs in pull mode when I supply a file video source, and in push mode
> when I supply a live video source (like an X session capture).
> 
> In pull mode, everything works fine. In push mode, the pipeline
> successfully gets into the PAUSED state and a gst_pad_query_caps of
> source pad at the end of the video processing chain returns a fixed
> set of caps, as I would hope. However a call to
> gst_pad_get_current_caps at that same location always returns ANY. A
> dot-dump of the pipeline at that point shows that essentially no
> negotiation has taken place, at all.
> 
> I can't figure out what I need to do to ensure the pipeline completes
> negotiation.

It would be easier to help with some more information, such as:

 - pipeline
 - code
 - png graph

Otherwise one can just say: check backwards which pads get negotiated
and not, somewhere a caps event (1.0) or buffer (0.10) must not have
gone through.

 Cheers
  -Tim




More information about the gstreamer-devel mailing list