diff options
author | Stefan Kost <ensonic@users.sf.net> | 2010-01-25 17:23:43 +0200 |
---|---|---|
committer | Stefan Kost <ensonic@users.sf.net> | 2010-01-25 17:23:43 +0200 |
commit | 21a8cb1e0614f2a7acc1a1888344b5a080aa369a (patch) | |
tree | d22d55bc1559c62887695a625ba6f317f753f8b8 /sys | |
parent | 8576a11dae3dd102cf1cf757bbb4726bcadb193f (diff) |
v4l2src: don't deref NULL
Error out when the pool gets shutdown.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/v4l2/v4l2src_calls.c | 7 |
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), |