#include <csl/csldefs.h>
#include <csl/cslmain.h>
Go to the source code of this file.
Compounds | |
struct | _CslPcmStatus |
PCM stream status type. More... | |
Defines | |
#define | CSL_PCM_FORMAT_S16_HE CSL_PCM_FORMAT_S16_LE |
#define | CSL_PCM_FORMAT_FLOAT_HE CSL_PCM_FORMAT_FLOAT_LE |
#define | CSL_PCM_CHANNEL_FRONT_LEFT "<front-left>" |
#define | CSL_PCM_CHANNEL_FRONT_RIGHT "<front-right>" |
#define | CSL_PCM_CHANNEL_CENTER "<center>" |
#define | CSL_PCM_CHANNEL_REAR_LEFT "<rear-left>" |
#define | CSL_PCM_CHANNEL_REAR_RIGHT "<rear-right>" |
#define | CSL_PCM_CHANNEL_SUB_WOOFER "<sub-woofer>" |
Channel names. More... | |
Typedefs | |
typedef struct _CslPcmStream | CslPcmStream |
PCM stream type. More... | |
typedef struct _CslPcmStatus | CslPcmStatus |
PCM stream status type. More... | |
Enumerations | |
enum | CslPcmFormatType { CSL_PCM_FORMAT_SIZE_8 = 0x0008, CSL_PCM_FORMAT_SIZE_16 = 0x0010, CSL_PCM_FORMAT_SIZE_32 = 0x0020, CSL_PCM_FORMAT_SIZE_MASK = 0x00FF, CSL_PCM_FORMAT_ENDIAN_LE = 0x0100, CSL_PCM_FORMAT_ENDIAN_BE = 0x0200, CSL_PCM_FORMAT_ENDIAN_MASK = 0x0F00, CSL_PCM_FORMAT_ENCODING_LINEAR_SIGNED = 0x1000, CSL_PCM_FORMAT_ENCODING_LINEAR_UNSIGNED = 0x2000, CSL_PCM_FORMAT_ENCODING_FLOAT = 0x3000, CSL_PCM_FORMAT_ENCODING_MASK = 0xF000, CSL_PCM_FORMAT_U8 = 0x2008, CSL_PCM_FORMAT_S16_LE = 0x1110, CSL_PCM_FORMAT_S16_BE = 0x1210, CSL_PCM_FORMAT_FLOAT_LE = 0x3120, CSL_PCM_FORMAT_FLOAT_BE = 0x3220 } |
PCM data format type. More... | |
Functions | |
CslErrorType | csl_pcm_open_output (CslDriver *driver, const char *role, unsigned int rate, unsigned int n_channels, CslPcmFormatType format, CslPcmStream **stream_p) |
Open PCM input stream. More... | |
CslErrorType | csl_pcm_open_input (CslDriver *driver, const char *role, unsigned int rate, unsigned int n_channels, CslPcmFormatType format, CslPcmStream **stream_p) |
Open PCM output stream. More... | |
CslPcmFormatType | csl_pcm_get_format (CslPcmStream *stream) |
Return stream format. More... | |
void | csl_pcm_close (CslPcmStream *stream) |
Close PCM stream. More... | |
int | csl_pcm_read (CslPcmStream *stream, unsigned int n_bytes, void *bytes) |
Read from a stream. More... | |
int | csl_pcm_write (CslPcmStream *stream, unsigned int n_bytes, void *bytes) |
Write to a stream. More... | |
CslErrorType | csl_pcm_get_status (CslPcmStream *stream, CslPcmStatus *status) |
Get stream status. More... | |
CslErrorType | csl_pcm_flush (CslPcmStream *stream) |
Flush PCM data. More... | |
CslErrorType | csl_pcm_sync (CslPcmStream *stream) |
Sync PCM data. More... | |
CslErrorType | csl_pcm_activate (CslPcmStream *stream) |
Activate a PCM stream. More... | |
CslErrorType | csl_pcm_suspend (CslPcmStream *stream) |
Suspend a PCM stream. More... | |
CslErrorType | csl_pcm_set_title (CslPcmStream *stream, const char *title) |
Set stream title. More... | |
char* | csl_pcm_dup_title (CslPcmStream *stream) |
Get stream title. More... | |
CslErrorType | csl_pcm_set_stream_mode (CslPcmStream *stream, unsigned int buffer_size) |
Set stream buffer size. More... | |
CslErrorType | csl_pcm_set_stream_watermark (CslPcmStream *stream, unsigned int n_bytes) |
Set stream watermark. More... | |
void | csl_pcm_get_stream_settings (CslPcmStream *stream, unsigned int *buffer_size_p, unsigned int *byte_watermark_p) |
Get PCM stream settings. More... | |
CslErrorType | csl_pcm_set_packet_mode (CslPcmStream *stream, unsigned int n_packets, unsigned int packet_size) |
Put stream in packet mode. More... | |
CslErrorType | csl_pcm_set_packet_watermark (CslPcmStream *stream, unsigned int n_packets) |
Set stream watermark. More... | |
void | csl_pcm_get_packet_settings (CslPcmStream *stream, unsigned int *n_packets_p, unsigned int *packet_size_p, unsigned int *packet_watermark_p) |
Get PCM stream packet settings. More... | |
CslErrorType | csl_pcm_set_channel_mapping (CslPcmStream *stream, unsigned int channel, const char *mapping) |
Set channel mapping. More... | |
char* | csl_pcm_dup_channel_mapping (CslPcmStream *stream, unsigned int channel) |
Duplicate channel mapping. More... | |
char** | csl_pcm_list_channel_mappings (CslDriver *driver, unsigned int *n_maps_p) |
List channel mappings. More... |
|
|
|
|
|
|
|
|
|
|
|
Channel names. Channel names used for advanced API functions than manipulate channel mappings.
|
|
|
|
|
|
PCM stream status type. A type used to store status information related to PCM streams. |
|
PCM stream type. An opaque type used as a handle to API functions that work with PCM streams. |
|
PCM data format type. Data type for specifying PCM format.
|
|
Activate a PCM stream. Activate a previously suspended PCM stream, allowing it to transfer data again.
|
|
Close PCM stream. Close a PCM input or output stream.
|
|
Duplicate channel mapping. Return the mapping of a channel name to channel number.
|
|
Get stream title. Return the title string associated with a stream.
|
|
Flush PCM data. Cancel any pending output written to an output stream. After a call to csl_pcm_write, data may still be stored in buffers. Calling this function will remove as many of these bytes as possible, i.e. try to stop playing immediately, cancelling already written bytes.
|
|
Return stream format. Return format information about a PCM stream.
|
|
Get PCM stream packet settings. Get the current stream settings for number of packets, size, and watermark.
|
|
Get stream status. Obtains status information about a PCM stream.
|
|
Get PCM stream settings. Get the current stream settings for buffer size and watermark.
|
|
List channel mappings. List the mapping of channel names to channel numbers. These are the global channel names supported by a driver, and are fixed. You can dynamically assign channel names to PCM streams using csl_pcm_set_channel_mapping.
|
|
Open PCM output stream. Open a PCM stream for input, specifying a driver and data format.
|
|
Open PCM input stream. Open a PCM stream for output, specifying a driver and data format.
|
|
Read from a stream. Read bytes from a PCM input stream.
|
|
Set channel mapping. Set the mapping of a channel name to channel number.
|
|
Put stream in packet mode. Put stream in real-time packet mode, setting the number of packets and packet size.
|
|
Set stream watermark. Set the watermark for a stream, i.e. the number of packets that must be pending in the buffer before the stream is written (is this accurate?).
|
|
Set stream buffer size. Set the buffer size for a stream to a new value. (why is the name misleading?)
|
|
Set stream watermark. Set the watermark for a stream, i.e. the number of bytes that must be pending in the buffer before the stream is written (is this accurate?).
|
|
Set stream title. Associate a title string with the stream. The title may be shown to the end user to describe the stream. The title should be internationalized (in UTF-8 format) and can change. If you don't assign a title, it will default to the role parameter for the stream.
|
|
Suspend a PCM stream. Suspend a PCM stream, preventing it from passing any further data until activated.
|
|
Sync PCM data. Ensure PCM data has been written to an output device. After a call to csl_pcm_write, data may still be stored in buffers. Calling this function ensures that it has actually been written to the audio output device.
|
|
Write to a stream. Write bytes to a PCM output stream.
|