36 lines
1.2 KiB
C
36 lines
1.2 KiB
C
#ifndef _UAC_HOST_H_
|
|
#define _UAC_HOST_H_
|
|
#include "basic_include.h"
|
|
#include "hal/usb_device.h"
|
|
|
|
typedef struct{
|
|
struct list_head list;
|
|
uint8 *data_addr; //当前写入数据的地址
|
|
uint32 data_len;
|
|
uint32 respace_len;
|
|
uint32 offset;
|
|
uint8 sta;
|
|
}UAC_MANAGE;
|
|
|
|
typedef void (*usbh_audio_spk_tx)(void * p_dev, uint8_t ep, uint8_t *data, uint32_t len);
|
|
|
|
void del_usbmic_frame(UAC_MANAGE *uac_manage);
|
|
void del_usbspk_frame(UAC_MANAGE *uac_manage);
|
|
UAC_MANAGE *get_usbmic_frame(void);
|
|
UAC_MANAGE *get_usbspk_new_frame(uint8 grab);
|
|
uint32 get_uac_frame_datalen(UAC_MANAGE *uac_manage);
|
|
uint8 *get_uac_frame_data(UAC_MANAGE *uac_manage);
|
|
void set_uac_frame_datalen(UAC_MANAGE *uac_manage, uint32 len);
|
|
void put_usbspk_frame_to_use(UAC_MANAGE *uac_manage);
|
|
void set_uac_frame_sta(UAC_MANAGE *uac_manage, uint8 sta);
|
|
void usbspk_room_init(uint32_t empty_buf_len);
|
|
void usbmic_room_init(void);
|
|
void usbmic_room_del(void);
|
|
void usbspk_room_del(void);
|
|
void uac_stop(void);
|
|
void force_reset_usbmic_frame();
|
|
void force_reset_usbspk_frame();
|
|
int usbmic_deal(struct usb_device *p_dev, uint8_t* rx_buff);
|
|
void usbspk_tx(struct usb_device *p_dev, uint8_t ep, uint32_t len, usbh_audio_spk_tx func);
|
|
|
|
#endif |