diff options
-rw-r--r-- | sys/v4l2/gstv4l2sink.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/v4l2/gstv4l2sink.c b/sys/v4l2/gstv4l2sink.c index 87392187e..48ed8f4b0 100644 --- a/sys/v4l2/gstv4l2sink.c +++ b/sys/v4l2/gstv4l2sink.c @@ -556,7 +556,7 @@ gst_v4l2sink_propose_allocation (GstBaseSink * bsink, GstQuery * query) g_object_get (bsink, "enable-last-sample", &last_sample_enabled, NULL); - if (last_sample_enabled) { + if (last_sample_enabled && gst_query_get_n_allocation_pools (query) > 0) { GstBufferPool *pool; guint size, min, max; @@ -568,7 +568,8 @@ gst_v4l2sink_propose_allocation (GstBaseSink * bsink, GstQuery * query) max = min; gst_query_set_nth_allocation_pool (query, 0, pool, size, min, max); - gst_object_unref (pool); + if (pool) + gst_object_unref (pool); } return TRUE; |