/* * u_audio.h -- interface to USB gadget "ALSA sound card" utilities * * Copyright (C) 2016 * Author: Ruslan Bilovol <ruslan.bilovol@gmail.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * */ #ifndef __U_AUDIO_H #define __U_AUDIO_H #include <linux/usb/composite.h> struct uac_params { /* playback */ int p_chmask; /* channel mask */ int p_srate; /* rate in Hz */ int p_ssize; /* sample size */ /* capture */ int c_chmask; /* channel mask */ int c_srate; /* rate in Hz */ int c_ssize; /* sample size */ int req_number; /* number of preallocated requests */ }; struct g_audio { struct usb_function func; struct usb_gadget *gadget; struct usb_ep *in_ep; struct usb_ep *out_ep; /* Max packet size for all in_ep possible speeds */ unsigned int in_ep_maxpsize; /* Max packet size for all out_ep possible speeds */ unsigned int out_ep_maxpsize; /* The ALSA Sound Card it represents on the USB-Client side */ struct snd_uac_chip *uac; struct uac_params params; };
static inline struct g_audio *func_to_g_audio(struct usb_function *f) { return container_of(f, struct g_audio, func); }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Ruslan Bilovol | 25 | 100.00% | 1 | 100.00% |
Total | 25 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Ruslan Bilovol | 36 | 100.00% | 1 | 100.00% |
Total | 36 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Ruslan Bilovol | 218 | 100.00% | 1 | 100.00% |
Total | 218 | 100.00% | 1 | 100.00% |