libs/gst/base/gstbasetransform.c: Even if we can't figure out the proper format to request downstream, call buffer_al...

Original commit message from CVS:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_buffer_alloc):
Even if we can't figure out the proper format to request downstream,
call buffer_alloc() downstream with the input parameters without setting
the caps on the srcpad. This will force negotiation in the chain
function.
Closes #350449
This commit is contained in:
Edward Hervey 2006-08-09 11:01:20 +00:00
parent 2d6d262e86
commit cb49718e86
2 changed files with 18 additions and 4 deletions

View file

@ -1,3 +1,13 @@
2006-08-09 Edward Hervey <edward@fluendo.com>
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_buffer_alloc):
Even if we can't figure out the proper format to request downstream,
call buffer_alloc() downstream with the input parameters without setting
the caps on the srcpad. This will force negotiation in the chain
function.
Closes #350449
2006-08-08 Edward Hervey <edward@fluendo.com>
* gst/gstghostpad.c: (gst_ghost_pad_do_unlink):

View file

@ -1149,18 +1149,22 @@ done:
not_configured:
{
/* let the default allocator handle it */
/* let the default allocator handle it... */
GST_DEBUG_OBJECT (trans, "not configured");
gst_buffer_replace (buf, NULL);
res = GST_FLOW_OK;
/* ...by calling alloc_buffer without setting caps on the src pad, which
* will force negotiation in the chain function. */
res = gst_pad_alloc_buffer (trans->srcpad, offset, size, caps, buf);
goto done;
}
unknown_size:
{
/* let the default allocator handle it */
/* let the default allocator handle it... */
GST_DEBUG_OBJECT (trans, "unknown size");
gst_buffer_replace (buf, NULL);
res = GST_FLOW_OK;
/* ...by calling alloc_buffer without setting caps on the src pad, which
* will force negotiation in the chain function. */
res = gst_pad_alloc_buffer (trans->srcpad, offset, size, caps, buf);
goto done;
}
}