forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.0 KiB
43 lines
1.0 KiB
/* SPDX-License-Identifier: GPL-2.0 */ |
|
#ifndef __USB_STREAM_H |
|
#define __USB_STREAM_H |
|
|
|
#include <uapi/sound/usb_stream.h> |
|
|
|
#define USB_STREAM_NURBS 4 |
|
#define USB_STREAM_URBDEPTH 4 |
|
|
|
struct usb_stream_kernel { |
|
struct usb_stream *s; |
|
|
|
void *write_page; |
|
|
|
unsigned n_o_ps; |
|
|
|
struct urb *inurb[USB_STREAM_NURBS]; |
|
struct urb *idle_inurb; |
|
struct urb *completed_inurb; |
|
struct urb *outurb[USB_STREAM_NURBS]; |
|
struct urb *idle_outurb; |
|
struct urb *completed_outurb; |
|
struct urb *i_urb; |
|
|
|
int iso_frame_balance; |
|
|
|
wait_queue_head_t sleep; |
|
|
|
unsigned out_phase; |
|
unsigned out_phase_peeked; |
|
unsigned freqn; |
|
}; |
|
|
|
struct usb_stream *usb_stream_new(struct usb_stream_kernel *sk, |
|
struct usb_device *dev, |
|
unsigned in_endpoint, unsigned out_endpoint, |
|
unsigned sample_rate, unsigned use_packsize, |
|
unsigned period_frames, unsigned frame_size); |
|
void usb_stream_free(struct usb_stream_kernel *); |
|
int usb_stream_start(struct usb_stream_kernel *); |
|
void usb_stream_stop(struct usb_stream_kernel *); |
|
|
|
#endif /* __USB_STREAM_H */
|
|
|