mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-28 11:55:39 +00:00
basesrc: always activate the pool we get
Activate the pool when we get it from the allocation query.
This commit is contained in:
parent
3822eea7cf
commit
fc5b0b09da
1 changed files with 16 additions and 12 deletions
|
@ -2600,13 +2600,18 @@ null_buffer:
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
static gboolean
|
||||
gst_base_src_set_allocation (GstBaseSrc * basesrc, GstBufferPool * pool,
|
||||
const GstMemoryAllocator * allocator, guint prefix, guint alignment)
|
||||
{
|
||||
GstBufferPool *oldpool;
|
||||
GstBaseSrcPrivate *priv = basesrc->priv;
|
||||
|
||||
if (pool) {
|
||||
if (!gst_buffer_pool_set_active (pool, TRUE))
|
||||
goto activate_failed;
|
||||
}
|
||||
|
||||
GST_OBJECT_LOCK (basesrc);
|
||||
oldpool = priv->pool;
|
||||
priv->pool = pool;
|
||||
|
@ -2621,6 +2626,14 @@ gst_base_src_set_allocation (GstBaseSrc * basesrc, GstBufferPool * pool,
|
|||
gst_buffer_pool_set_active (oldpool, FALSE);
|
||||
gst_object_unref (oldpool);
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
/* ERRORS */
|
||||
activate_failed:
|
||||
{
|
||||
GST_ERROR_OBJECT (basesrc, "failed to activate bufferpool.");
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
@ -2689,22 +2702,13 @@ gst_base_src_prepare_allocation (GstBaseSrc * basesrc, GstCaps * caps)
|
|||
gst_buffer_pool_config_set (config, caps, size, min, max, prefix,
|
||||
alignment);
|
||||
gst_buffer_pool_set_config (pool, config);
|
||||
|
||||
if (!gst_buffer_pool_set_active (pool, TRUE))
|
||||
goto activate_failed;
|
||||
}
|
||||
|
||||
gst_base_src_set_allocation (basesrc, pool, allocator, prefix, alignment);
|
||||
result =
|
||||
gst_base_src_set_allocation (basesrc, pool, allocator, prefix, alignment);
|
||||
|
||||
return result;
|
||||
|
||||
/* ERRORS */
|
||||
activate_failed:
|
||||
{
|
||||
GST_ERROR_OBJECT (basesrc, "failed to activate bufferpool.");
|
||||
gst_object_unref (pool);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/* default negotiation code.
|
||||
|
|
Loading…
Reference in a new issue