Age | Commit message (Collapse) | Author |
|
Bulk mode is only partially implemented, and it hinders development of
the application. Remove it for now, it will be added back properly in
the future.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
The request data passed from the UVC event handler to processing
functions should never be modified. Make it const through the code.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
The uvc_events_process_data() function looks up format and frame
descriptors to fill the streaming control structure. This duplicates
code from the uvc_fill_streaming_control() function. Refactor the
function to make it usable in uvc_events_process_data() and remove the
duplicated code.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Trivial spelling fix.
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
|
|
Fix the sort order of the header include sections.
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Not all use cases of V4L2_MEMORY_MMAP require mapping buffers to
userspace. Separate the allocation and mapping to allow usage of
unmapped buffers.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Replace the manual implementation of the V4L2 ioctls with the V4L2
helper functions from v4l2.c. This cleans up the code and simplifies
handling of the V4L2 API.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
The tools.h header defines clamp and ARRAY_SIZE macros. Use the header
to replace the private implementation.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
When the uvc device fd is put on the watch list statically, then there
are many "Unable to dequeue buffer: Invalid argument (22)." because the
V4L2 API returns write events immediately when the stream is off.
To fix this, add the fd to the watch list on streamon, and remove it on
streamoff.
Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Replace the manual implementation of the select-based event loop with the
events library. This cleans up the code and simplifies event handling.
Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
The UVC gadget driver now defines its API in the linux/usb/g_uvc.h
public header, use it instead of including an internal kernel header
through a relative path.
The public API doesn't define the UVC_INTF_CONTROL and
UVC_INTF_STREAMING macros, define them locally until we can get rid of
them.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
On alternate setting change, the webcam gadget sends us a
UVC_EVENT_STREAMON or UVC_EVENT_STREAMOFF event. In the first case, the
driver will issue a delayed status response automatically when we call
the VIDIOC_STREAMON ioctl. In the second case, the driver sends the
status response immediately. We must thus not send the status response
manually with UVCIOC_SEND_RESPONSE in any of those cases.
Without this, the ISO streaming doesn't work if host application
(e.g. luvcview) is closed and restarted.
On dwc3 gadget controller it was resulting in Buffer Expiry error on
the ISO endpoint.
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|