initial commit, 4.5 stable
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
This commit is contained in:
153
thirdparty/linuxbsd_headers/alsa/pcm_rate.h
vendored
Normal file
153
thirdparty/linuxbsd_headers/alsa/pcm_rate.h
vendored
Normal file
@@ -0,0 +1,153 @@
|
||||
/**
|
||||
* \file include/pcm_rate.h
|
||||
* \brief External Rate-Converter-Plugin SDK
|
||||
* \author Takashi Iwai <tiwai@suse.de>
|
||||
* \date 2006
|
||||
*
|
||||
* External Rate-Converter-Plugin SDK
|
||||
*/
|
||||
|
||||
/*
|
||||
* ALSA external PCM rate-converter plugin SDK (draft version)
|
||||
*
|
||||
* Copyright (c) 2006 Takashi Iwai <tiwai@suse.de>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as
|
||||
* published by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ALSA_PCM_RATE_H
|
||||
#define __ALSA_PCM_RATE_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Protocol version
|
||||
*/
|
||||
#define SND_PCM_RATE_PLUGIN_VERSION 0x010002
|
||||
|
||||
/** hw_params information for a single side */
|
||||
typedef struct snd_pcm_rate_side_info {
|
||||
snd_pcm_format_t format;
|
||||
unsigned int rate;
|
||||
snd_pcm_uframes_t buffer_size;
|
||||
snd_pcm_uframes_t period_size;
|
||||
} snd_pcm_rate_side_info_t;
|
||||
|
||||
/** hw_params information */
|
||||
typedef struct snd_pcm_rate_info {
|
||||
struct snd_pcm_rate_side_info in;
|
||||
struct snd_pcm_rate_side_info out;
|
||||
unsigned int channels;
|
||||
} snd_pcm_rate_info_t;
|
||||
|
||||
/** Callback table of rate-converter */
|
||||
typedef struct snd_pcm_rate_ops {
|
||||
/**
|
||||
* close the converter; optional
|
||||
*/
|
||||
void (*close)(void *obj);
|
||||
/**
|
||||
* initialize the converter, called at hw_params
|
||||
*/
|
||||
int (*init)(void *obj, snd_pcm_rate_info_t *info);
|
||||
/**
|
||||
* free the converter; optional
|
||||
*/
|
||||
void (*free)(void *obj);
|
||||
/**
|
||||
* reset the converter, called at prepare; optional
|
||||
*/
|
||||
void (*reset)(void *obj);
|
||||
/**
|
||||
* adjust the pitch, called at sw_params; optional
|
||||
*/
|
||||
int (*adjust_pitch)(void *obj, snd_pcm_rate_info_t *info);
|
||||
/**
|
||||
* convert the data
|
||||
*/
|
||||
void (*convert)(void *obj,
|
||||
const snd_pcm_channel_area_t *dst_areas,
|
||||
snd_pcm_uframes_t dst_offset, unsigned int dst_frames,
|
||||
const snd_pcm_channel_area_t *src_areas,
|
||||
snd_pcm_uframes_t src_offset, unsigned int src_frames);
|
||||
/**
|
||||
* convert an s16 interleaved-data array; exclusive with convert
|
||||
*/
|
||||
void (*convert_s16)(void *obj, int16_t *dst, unsigned int dst_frames,
|
||||
const int16_t *src, unsigned int src_frames);
|
||||
/**
|
||||
* compute the frame size for input
|
||||
*/
|
||||
snd_pcm_uframes_t (*input_frames)(void *obj, snd_pcm_uframes_t frames);
|
||||
/**
|
||||
* compute the frame size for output
|
||||
*/
|
||||
snd_pcm_uframes_t (*output_frames)(void *obj, snd_pcm_uframes_t frames);
|
||||
/**
|
||||
* the protocol version the plugin supports;
|
||||
* new field since version 0x010002
|
||||
*/
|
||||
unsigned int version;
|
||||
/**
|
||||
* return the supported min / max sample rates;
|
||||
* new ops since version 0x010002
|
||||
*/
|
||||
int (*get_supported_rates)(void *obj, unsigned int *rate_min,
|
||||
unsigned int *rate_max);
|
||||
/**
|
||||
* show some status messages for verbose mode;
|
||||
* new ops since version 0x010002
|
||||
*/
|
||||
void (*dump)(void *obj, snd_output_t *out);
|
||||
} snd_pcm_rate_ops_t;
|
||||
|
||||
/** open function type */
|
||||
typedef int (*snd_pcm_rate_open_func_t)(unsigned int version, void **objp,
|
||||
snd_pcm_rate_ops_t *opsp);
|
||||
|
||||
/**
|
||||
* Define the object entry for external PCM rate-converter plugins
|
||||
*/
|
||||
#define SND_PCM_RATE_PLUGIN_ENTRY(name) _snd_pcm_rate_##name##_open
|
||||
|
||||
|
||||
#ifndef DOC_HIDDEN
|
||||
/* old rate_ops for protocol version 0x010001 */
|
||||
typedef struct snd_pcm_rate_old_ops {
|
||||
void (*close)(void *obj);
|
||||
int (*init)(void *obj, snd_pcm_rate_info_t *info);
|
||||
void (*free)(void *obj);
|
||||
void (*reset)(void *obj);
|
||||
int (*adjust_pitch)(void *obj, snd_pcm_rate_info_t *info);
|
||||
void (*convert)(void *obj,
|
||||
const snd_pcm_channel_area_t *dst_areas,
|
||||
snd_pcm_uframes_t dst_offset, unsigned int dst_frames,
|
||||
const snd_pcm_channel_area_t *src_areas,
|
||||
snd_pcm_uframes_t src_offset, unsigned int src_frames);
|
||||
void (*convert_s16)(void *obj, int16_t *dst, unsigned int dst_frames,
|
||||
const int16_t *src, unsigned int src_frames);
|
||||
snd_pcm_uframes_t (*input_frames)(void *obj, snd_pcm_uframes_t frames);
|
||||
snd_pcm_uframes_t (*output_frames)(void *obj, snd_pcm_uframes_t frames);
|
||||
} snd_pcm_rate_old_ops_t;
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __ALSA_PCM_RATE_H */
|
Reference in New Issue
Block a user