foobar2000 SDK
2015-08-03
|
#include <audio_postprocessor.h>
Public Member Functions | |
FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT (audio_postprocessor) | |
virtual void | run (const audio_chunk &p_chunk, mem_block_container &p_output, t_uint32 p_out_bps, t_uint32 p_out_bps_physical, bool p_dither, audio_sample p_prescale)=0 |
Public Member Functions inherited from service_base | |
template<typename outPtr_t > | |
bool | cast (outPtr_t &outPtr) |
virtual int | service_add_ref ()=0 throw () |
virtual bool | service_query (service_ptr_t< service_base > &p_out, const GUID &p_guid) |
template<class T > | |
bool | service_query_t (service_ptr_t< T > &p_out) |
virtual int | service_release ()=0 throw () |
Additional Inherited Members | |
Public Types inherited from service_base | |
typedef service_base | t_interface |
Protected Member Functions inherited from service_base | |
service_base () | |
~service_base () | |
This class handles conversion of audio data (audio_chunk) to various linear PCM types, with optional dithering.
Definition at line 3 of file audio_postprocessor.h.
audio_postprocessor::FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT | ( | audio_postprocessor | ) |
|
pure virtual |
Processes one chunk of audio data.
p_chunk | Chunk of audio data to process. |
p_output | Receives output linear signed PCM data. |
p_out_bps | Desired bit depth of output. |
p_out_bps_physical | Desired physical word width of output. Must be either 8, 16, 24 or 32, greater or equal to p_out_bps. This is typically set to same value as p_out_bps. |
p_dither | Indicates whether dithering should be used. Note that dithering is CPU-heavy. |
p_prescale | Value to scale all audio samples by when converting. Set to 1.0 to do nothing. |