}
}
+ if (gst_poll_fd_has_error (pool->poll, &pool->pollfd))
+ goto select_error;
+
done:
return GST_FLOW_OK;
GstStructure *config;
gchar *name, *parent_name;
gint fd;
- GstPollFD pollfd = GST_POLL_FD_INIT;
fd = v4l2_dup (obj->video_fd);
if (fd < 0)
"name", name, NULL);
g_free (name);
- pollfd.fd = fd;
- gst_poll_add_fd (pool->poll, &pollfd);
+ gst_poll_fd_init (&pool->pollfd);
+ pool->pollfd.fd = fd;
+ gst_poll_add_fd (pool->poll, &pool->pollfd);
if (V4L2_TYPE_IS_OUTPUT (obj->type))
- gst_poll_fd_ctl_write (pool->poll, &pollfd, TRUE);
+ gst_poll_fd_ctl_write (pool->poll, &pool->pollfd, TRUE);
else
- gst_poll_fd_ctl_read (pool->poll, &pollfd, TRUE);
+ gst_poll_fd_ctl_read (pool->poll, &pool->pollfd, TRUE);
pool->video_fd = fd;
pool->obj = obj;
GstV4l2Object *obj; /* the v4l2 object */
gint video_fd; /* a dup(2) of the v4l2object's video_fd */
GstPoll *poll; /* a poll for video_fd */
+ GstPollFD pollfd;
gboolean can_poll_device;
gboolean empty;