1 /*
2  * Copyright (c) 2022, sakumisu
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 #ifndef USBD_VIDEO_H
7 #define USBD_VIDEO_H
8 
9 #include "usb_video.h"
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 /* Init video interface driver */
16 struct usbd_interface *usbd_video_init_intf(uint8_t busid, struct usbd_interface *intf,
17                                             uint32_t dwFrameInterval,
18                                             uint32_t dwMaxVideoFrameSize,
19                                             uint32_t dwMaxPayloadTransferSize);
20 
21 void usbd_video_open(uint8_t busid, uint8_t intf);
22 void usbd_video_close(uint8_t busid, uint8_t intf);
23 
24 bool usbd_video_stream_split_transfer(uint8_t busid, uint8_t ep);
25 int usbd_video_stream_start_write(uint8_t busid, uint8_t ep, uint8_t *ep_buf, uint8_t *stream_buf, uint32_t stream_len, bool do_copy);
26 
27 #ifdef __cplusplus
28 }
29 #endif
30 
31 #endif /* USBD_VIDEO_H */
32