Commit 341d7a4c authored by Sjoerd Simons's avatar Sjoerd Simons Committed by Sebastian Dröge

capsfilter: don't assume _get_caps still has to be

_set_caps only gets called when the buffer is actually pushed, so there
is a reasonably big window between when the initial caps are retrieved
and when the caps are set on our src pad. So we can't assume the not
having negotiated caps on our src pad means _get_caps still has to be
called.

Instead simply always suggest the new caps on buffer_alloc.
parent c1988b7e
......@@ -204,9 +204,10 @@ gst_capsfilter_set_property (GObject * object, guint prop_id,
}
} else {
GST_DEBUG_OBJECT (capsfilter, "no negotiated caps");
/* no previous caps, the getcaps function will be used to find suitable
* caps */
suggest = NULL;
/* Suggest the new caps, we can't just rely on _get_caps as this may
* already be called at this point even though no buffer has been
* pushed yet */
suggest = gst_caps_copy (new_caps);
}
GST_OBJECT_UNLOCK (GST_BASE_TRANSFORM_SINK_PAD (object));
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment