#include "cslpcm.h"
#include "cslutils.h"
#include "cslprivate.h"
#include <string.h>
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_packet_mode (CslPcmStream *stream, unsigned int n_packets, unsigned int packet_size) |
Put stream in packet mode. More... | |
CslErrorType | csl_pcm_set_stream_watermark (CslPcmStream *stream, unsigned int n_bytes) |
Set stream watermark. More... | |
CslErrorType | csl_pcm_set_packet_watermark (CslPcmStream *stream, unsigned int n_packets) |
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... | |
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... | |
char** | csl_pcm_list_channel_mappings (CslDriver *driver, unsigned int *n_maps_p) |
List channel mappings. 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... |
|
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.
|