mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-30 12:49:40 +00:00
v4l2object: Only offer inactive pools and if needed
Avoid offering a pool if it's not needed or if it's still active. This works around the fact the we only have one pool in V4L2. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/651>
This commit is contained in:
parent
099712338f
commit
85b9893e96
1 changed files with 5 additions and 4 deletions
|
@ -4980,7 +4980,7 @@ no_downstream_pool:
|
|||
gboolean
|
||||
gst_v4l2_object_propose_allocation (GstV4l2Object * obj, GstQuery * query)
|
||||
{
|
||||
GstBufferPool *pool;
|
||||
GstBufferPool *pool = NULL;
|
||||
/* we need at least 2 buffers to operate */
|
||||
guint size, min, max;
|
||||
GstCaps *caps;
|
||||
|
@ -4999,11 +4999,12 @@ gst_v4l2_object_propose_allocation (GstV4l2Object * obj, GstQuery * query)
|
|||
switch (obj->mode) {
|
||||
case GST_V4L2_IO_MMAP:
|
||||
case GST_V4L2_IO_DMABUF:
|
||||
if ((pool = obj->pool))
|
||||
gst_object_ref (pool);
|
||||
if (need_pool && obj->pool) {
|
||||
if (!gst_buffer_pool_is_active (obj->pool))
|
||||
pool = gst_object_ref (obj->pool);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
pool = NULL;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue