diff options
Diffstat (limited to 'sys/v4l2/gstv4l2src.c')
-rw-r--r-- | sys/v4l2/gstv4l2src.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/v4l2/gstv4l2src.c b/sys/v4l2/gstv4l2src.c index 1386333e..e1c0df03 100644 --- a/sys/v4l2/gstv4l2src.c +++ b/sys/v4l2/gstv4l2src.c @@ -464,7 +464,20 @@ gst_v4l2src_decide_allocation (GstBaseSrc * bsrc, GstQuery * query) if (gst_v4l2_object_decide_allocation (src->v4l2object, query)) ret = GST_BASE_SRC_CLASS (parent_class)->decide_allocation (bsrc, query); + if (ret) { + if (!gst_buffer_pool_set_active (src->v4l2object->pool, TRUE)) + goto activate_failed; + } + return ret; + +activate_failed: + { + GST_ELEMENT_ERROR (src, RESOURCE, SETTINGS, + (_("Failed to allocate required memory.")), + ("Buffer pool activation failed")); + return FALSE; + } } static gboolean |