diff --git a/sys/v4l/v4lsrc_calls.c b/sys/v4l/v4lsrc_calls.c index e71fdc75b6..da1645346a 100644 --- a/sys/v4l/v4lsrc_calls.c +++ b/sys/v4l/v4lsrc_calls.c @@ -259,10 +259,11 @@ gst_v4lsrc_capture_start (GstV4lSrc * v4lsrc) gboolean gst_v4lsrc_grab_frame (GstV4lSrc * v4lsrc, gint * num) { - GST_LOG_OBJECT (v4lsrc, "grabbing frame %d", *num); GST_V4L_CHECK_OPEN (GST_V4LELEMENT (v4lsrc)); GST_V4L_CHECK_ACTIVE (GST_V4LELEMENT (v4lsrc)); + GST_LOG_OBJECT (v4lsrc, "grabbing frame"); + g_mutex_lock (v4lsrc->mutex_queue_state); /* do we have enough frames? */ @@ -297,6 +298,8 @@ gst_v4lsrc_grab_frame (GstV4lSrc * v4lsrc, gint * num) g_mutex_unlock (v4lsrc->mutex_queue_state); + GST_LOG_OBJECT (v4lsrc, "grabbed frame %d", *num); + return TRUE; }