MPD
Data Structures | Functions
pcm_resample.h File Reference
#include "check.h"
#include "pcm_buffer.h"
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>

Go to the source code of this file.

Data Structures

struct  pcm_resample_state
 This object is statically allocated (within another struct), and holds buffer allocations and the state for the resampler. More...
 

Functions

void pcm_resample_init (struct pcm_resample_state *state)
 Initializes a pcm_resample_state object.
 
void pcm_resample_deinit (struct pcm_resample_state *state)
 Deinitializes a pcm_resample_state object and frees allocated memory.
 
const int16_t * pcm_resample_16 (struct pcm_resample_state *state, uint8_t channels, unsigned src_rate, const int16_t *src_buffer, size_t src_size, unsigned dest_rate, size_t *dest_size_r, GError **error_r)
 Resamples 16 bit PCM data.
 
const int32_t * pcm_resample_32 (struct pcm_resample_state *state, uint8_t channels, unsigned src_rate, const int32_t *src_buffer, size_t src_size, unsigned dest_rate, size_t *dest_size_r, GError **error_r)
 Resamples 32 bit PCM data.
 
static const int32_t * pcm_resample_24 (struct pcm_resample_state *state, uint8_t channels, unsigned src_rate, const int32_t *src_buffer, size_t src_size, unsigned dest_rate, size_t *dest_size_r, GError **error_r)
 Resamples 24 bit PCM data.
 

Function Documentation

const int16_t* pcm_resample_16 ( struct pcm_resample_state state,
uint8_t  channels,
unsigned  src_rate,
const int16_t *  src_buffer,
size_t  src_size,
unsigned  dest_rate,
size_t *  dest_size_r,
GError **  error_r 
)

Resamples 16 bit PCM data.

Parameters
statean initialized pcm_resample_state object
channelsthe number of channels
src_ratethe source sample rate
srcthe source PCM buffer
src_sizethe size of #src in bytes
dest_ratethe requested destination sample rate
dest_size_rreturns the number of bytes of the destination buffer
Returns
the destination buffer
static const int32_t* pcm_resample_24 ( struct pcm_resample_state state,
uint8_t  channels,
unsigned  src_rate,
const int32_t *  src_buffer,
size_t  src_size,
unsigned  dest_rate,
size_t *  dest_size_r,
GError **  error_r 
)
inlinestatic

Resamples 24 bit PCM data.

Parameters
statean initialized pcm_resample_state object
channelsthe number of channels
src_ratethe source sample rate
srcthe source PCM buffer
src_sizethe size of #src in bytes
dest_ratethe requested destination sample rate
dest_size_rreturns the number of bytes of the destination buffer
Returns
the destination buffer

Definition at line 121 of file pcm_resample.h.

const int32_t* pcm_resample_32 ( struct pcm_resample_state state,
uint8_t  channels,
unsigned  src_rate,
const int32_t *  src_buffer,
size_t  src_size,
unsigned  dest_rate,
size_t *  dest_size_r,
GError **  error_r 
)

Resamples 32 bit PCM data.

Parameters
statean initialized pcm_resample_state object
channelsthe number of channels
src_ratethe source sample rate
srcthe source PCM buffer
src_sizethe size of #src in bytes
dest_ratethe requested destination sample rate
dest_size_rreturns the number of bytes of the destination buffer
Returns
the destination buffer
void pcm_resample_deinit ( struct pcm_resample_state state)

Deinitializes a pcm_resample_state object and frees allocated memory.

void pcm_resample_init ( struct pcm_resample_state state)

Initializes a pcm_resample_state object.