summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorStefan Kost <ensonic@users.sf.net>2010-01-25 17:23:43 +0200
committerStefan Kost <ensonic@users.sf.net>2010-01-25 17:23:43 +0200
commit21a8cb1e0614f2a7acc1a1888344b5a080aa369a (patch)
treed22d55bc1559c62887695a625ba6f317f753f8b8 /sys
parent8576a11dae3dd102cf1cf757bbb4726bcadb193f (diff)
v4l2src: don't deref NULL
Error out when the pool gets shutdown.
Diffstat (limited to 'sys')
-rw-r--r--sys/v4l2/v4l2src_calls.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/v4l2/v4l2src_calls.c b/sys/v4l2/v4l2src_calls.c
index 73de30250..c07748a74 100644
--- a/sys/v4l2/v4l2src_calls.c
+++ b/sys/v4l2/v4l2src_calls.c
@@ -105,6 +105,8 @@ gst_v4l2src_grab_frame (GstV4l2Src * v4l2src, GstBuffer ** buf)
v4l2object = v4l2src->v4l2object;
pool = v4l2src->pool;
+ if (!pool)
+ goto no_buffer_pool;
GST_DEBUG_OBJECT (v4l2src, "grab frame");
@@ -174,6 +176,11 @@ gst_v4l2src_grab_frame (GstV4l2Src * v4l2src, GstBuffer ** buf)
return GST_FLOW_OK;
/* ERRORS */
+no_buffer_pool:
+ {
+ GST_DEBUG ("no buffer pool");
+ return GST_FLOW_WRONG_STATE;
+ }
select_error:
{
GST_ELEMENT_ERROR (pool->v4l2elem, RESOURCE, READ, (NULL),