struct _GstBaseTransformPrivate
{
/* previous buffer had a discont */
gboolean discont;
/* caps used for allocating buffers */
gboolean proxy_alloc;
GstCaps *sink_alloc;
GstCaps *src_alloc;
/*
* This flag controls if basetransform should explicitly
* do a pad alloc when it receives a buffer even if it operates on
* passthrough, this is needed to check for downstream caps suggestions
* and this newly alloc'ed buffer is discarded.
*
* Without this flag basetransform would try a pad alloc whenever it
* gets a new buffer and pipelines like:
* "src ! basetrans1 ! basetrans2 ! basetrans3 ! sink"
* Would have a 3 pad allocs for each buffer pushed downstream from the src.
*
* This flag is set to TRUE on start up, on setcaps and when a buffer is
* pushed downstream. It is set to FALSE after a pad alloc has been requested
* downstream.
* The rationale is that when a pad alloc flows through the pipeline, all
* basetransform elements on passthrough will avoid pad alloc'ing when they
* get the buffer.
*/
gboolean force_alloc;
gboolean reconfigure;
}