| foobar2000 SDK
    2015-01-14
    | 
#include <audio_chunk.h>
 Inheritance diagram for audio_chunk_memref_impl:
 Inheritance diagram for audio_chunk_memref_impl:| Public Member Functions | |
| audio_chunk_memref_impl (const audio_sample *p_data, t_size p_samples, t_uint32 p_sample_rate, t_uint32 p_channels, t_uint32 p_channel_config) | |
| unsigned | get_channel_config () const | 
| unsigned | get_channels () const | 
| audio_sample * | get_data () | 
| const audio_sample * | get_data () const | 
| t_size | get_data_size () const | 
| t_size | get_sample_count () const | 
| unsigned | get_srate () const | 
| void | set_channels (unsigned p_count, unsigned p_config) | 
| void | set_data_size (t_size p_new_size) | 
| void | set_sample_count (t_size val) | 
| void | set_srate (unsigned val) | 
|  Public Member Functions inherited from audio_chunk | |
| void | allocate (size_t size) | 
| void | copy (const audio_chunk &p_source) | 
| unsigned | get_channel_count () const | 
| size_t | get_data_length () const | 
| double | get_duration () const | 
| audio_sample | get_peak (audio_sample p_peak) const | 
| audio_sample | get_peak () const | 
| unsigned | get_sample_rate () const | 
| spec_t | get_spec () const | 
| size_t | get_used_size () const | 
| void | grow_data_size (t_size p_requested) | 
| void | insert_silence_fromstart (t_size samples) | 
| bool | is_empty () const | 
| bool | is_spec_valid () const | 
| bool | is_valid () const | 
| const audio_chunk & | operator= (const audio_chunk &p_source) | 
| void | pad_with_silence (t_size samples) | 
| void | pad_with_silence_ex (t_size samples, unsigned hint_nch, unsigned hint_srate) | 
| bool | process_skip (double &skipDuration) | 
| void | reset () | 
| void | scale (audio_sample p_value) | 
| void | set_channels (unsigned val) | 
| void | set_data (const audio_sample *src, t_size samples, unsigned nch, unsigned srate, unsigned channel_config) | 
| void | set_data (const audio_sample *src, t_size samples, unsigned nch, unsigned srate) | 
| void | set_data_32 (const float *src, t_size samples, unsigned nch, unsigned srate) | 
| void | set_data_fixedpoint (const void *ptr, t_size bytes, unsigned srate, unsigned nch, unsigned bps, unsigned channel_config) | 
| void | set_data_fixedpoint_ex (const void *ptr, t_size bytes, unsigned p_sample_rate, unsigned p_channels, unsigned p_bits_per_sample, unsigned p_flags, unsigned p_channel_config) | 
| void | set_data_fixedpoint_ms (const void *ptr, size_t bytes, unsigned sampleRate, unsigned channels, unsigned bps, unsigned channelConfig) | 
| void | set_data_fixedpoint_signed (const void *ptr, t_size bytes, unsigned srate, unsigned nch, unsigned bps, unsigned channel_config) | 
| void | set_data_floatingpoint_ex (const void *ptr, t_size bytes, unsigned p_sample_rate, unsigned p_channels, unsigned p_bits_per_sample, unsigned p_flags, unsigned p_channel_config) | 
| void | set_data_int16 (const int16_t *src, t_size samples, unsigned nch, unsigned srate, unsigned channel_config) | 
| void | set_sample_rate (unsigned val) | 
| void | set_silence (t_size samples) | 
| void | set_silence_seconds (double seconds) | 
| void | set_spec (const spec_t &) | 
| t_size | skip_first_samples (t_size samples) | 
| bool | to_raw_data (class mem_block_container &out, t_uint32 bps, bool useUpperBits=true, float scale=1.0) const | 
| bool | toFixedPoint (class mem_block_container &out, uint32_t bps, uint32_t bpsValid, bool useUpperBits=true, float scale=1.0) const | 
| Private Attributes | |
| t_uint32 | m_channel_config | 
| t_uint32 | m_channels | 
| const audio_sample * | m_data | 
| t_uint32 | m_sample_rate | 
| t_size | m_samples | 
| Additional Inherited Members | |
|  Public Types inherited from audio_chunk | |
| enum | { sample_rate_min = 1000, sample_rate_max = 2822400 } | 
| enum | { channel_front_left = 1<<0, channel_front_right = 1<<1, channel_front_center = 1<<2, channel_lfe = 1<<3, channel_back_left = 1<<4, channel_back_right = 1<<5, channel_front_center_left = 1<<6, channel_front_center_right = 1<<7, channel_back_center = 1<<8, channel_side_left = 1<<9, channel_side_right = 1<<10, channel_top_center = 1<<11, channel_top_front_left = 1<<12, channel_top_front_center = 1<<13, channel_top_front_right = 1<<14, channel_top_back_left = 1<<15, channel_top_back_center = 1<<16, channel_top_back_right = 1<<17, channel_config_mono = channel_front_center, channel_config_stereo = channel_front_left | channel_front_right, channel_config_5point1 = channel_front_left | channel_front_right | channel_front_center | channel_lfe | channel_back_left | channel_back_right, channel_config_5point1_side = channel_front_left | channel_front_right | channel_front_center | channel_lfe | channel_side_left | channel_side_right, channel_config_7point1 = channel_config_5point1 | channel_side_left | channel_side_right, defined_channel_count = 18 } | 
| enum | { FLAG_LITTLE_ENDIAN = 1, FLAG_BIG_ENDIAN = 2, FLAG_SIGNED = 4, FLAG_UNSIGNED = 8 } | 
|  Static Public Member Functions inherited from audio_chunk | |
| static unsigned | flags_autoendian () | 
| static unsigned | g_channel_config_from_wfx (uint32_t p_wfx) | 
| static uint32_t | g_channel_config_to_wfx (unsigned p_config) | 
| static unsigned | g_channel_index_from_flag (unsigned p_config, unsigned p_flag) | 
| static const char * | g_channel_name (unsigned p_flag) | 
| static const char * | g_channel_name_byidx (unsigned p_index) | 
| static unsigned | g_count_channels (unsigned p_config) | 
| static unsigned | g_extract_channel_flag (unsigned p_config, unsigned p_index) | 
| static unsigned | g_find_channel_idx (unsigned p_flag) | 
| static void | g_formatChannelMaskDesc (unsigned flags, pfc::string_base &out) | 
| static unsigned | g_guess_channel_config (unsigned count) | 
| static unsigned | g_guess_channel_config_xiph (unsigned count) | 
| static bool | g_is_valid_sample_rate (t_uint32 p_val) | 
| static bool | g_toFixedPoint (const audio_sample *in, void *out, size_t count, uint32_t bps, uint32_t bpsValid, bool useUpperBits=true, float scale=1.0) | 
| static spec_t | makeSpec (uint32_t rate, uint32_t channels) | 
| static spec_t | makeSpec (uint32_t rate, uint32_t channels, uint32_t chanMask) | 
|  Protected Member Functions inherited from audio_chunk | |
| audio_chunk () | |
| ~audio_chunk () | |
Implements const methods of audio_chunk only, referring to an external buffer. For temporary use only (does not maintain own storage), e.g.: somefunc( audio_chunk_temp_impl(mybuffer,....) );.
Definition at line 277 of file audio_chunk.h.
| 
 | inline | 
Definition at line 279 of file audio_chunk.h.
| 
 | inlinevirtual | 
Retrieves channel map of contained audio data. Conditions where number of channels specified by channel map don't match get_channels() return value should not be possible.
Implements audio_chunk.
Definition at line 293 of file audio_chunk.h.
| 
 | inlinevirtual | 
Retrieves channel count of contained audio data.
Implements audio_chunk.
Definition at line 292 of file audio_chunk.h.
| 
 | inlinevirtual | 
Retrieves audio data buffer pointer (non-const version). Returned pointer is for temporary use only; it is valid until next set_data_size call, or until the object is destroyed. 
Size of returned buffer is equal to get_data_size() return value (in audio_samples). Amount of actual data may be smaller, depending on sample count and channel count. Conditions where sample count * channel count are greater than data size should not be possible. 
Implements audio_chunk.
Definition at line 285 of file audio_chunk.h.
| 
 | inlinevirtual | 
Retrieves audio data buffer pointer (const version). Returned pointer is for temporary use only; it is valid until next set_data_size call, or until the object is destroyed. 
Size of returned buffer is equal to get_data_size() return value (in audio_samples). Amount of actual data may be smaller, depending on sample count and channel count. Conditions where sample count * channel count are greater than data size should not be possible. 
Implements audio_chunk.
Definition at line 286 of file audio_chunk.h.
| 
 | inlinevirtual | 
Retrieves size of allocated buffer space, in audio_samples.
Implements audio_chunk.
Definition at line 287 of file audio_chunk.h.
| 
 | inlinevirtual | 
Retrieves number of valid samples in the buffer. 
Note that a "sample" means a unit of interleaved PCM data representing states of each channel at given point of time, not a single PCM value. 
For an example, duration of contained audio data is equal to sample count / sample rate, while actual size of contained data is equal to sample count * channel count. 
Implements audio_chunk.
Definition at line 296 of file audio_chunk.h.
| 
 | inlinevirtual | 
Retrieves sample rate of contained audio data.
Implements audio_chunk.
Definition at line 290 of file audio_chunk.h.
| 
 | inlinevirtual | 
Sets channel count / channel map.
Implements audio_chunk.
Definition at line 294 of file audio_chunk.h.
| 
 | inlinevirtual | 
Resizes audio data buffer to specified size. Throws std::bad_alloc on failure.
Implements audio_chunk.
Definition at line 288 of file audio_chunk.h.
| 
 | inlinevirtual | 
Sets number of valid samples in the buffer. WARNING: sample count * channel count should never be above allocated buffer size.
Implements audio_chunk.
Definition at line 298 of file audio_chunk.h.
| 
 | inlinevirtual | 
Sets sample rate of contained audio data.
Implements audio_chunk.
Definition at line 291 of file audio_chunk.h.
| 
 | private | 
Definition at line 302 of file audio_chunk.h.
| 
 | private | 
Definition at line 302 of file audio_chunk.h.
| 
 | private | 
Definition at line 303 of file audio_chunk.h.
| 
 | private | 
Definition at line 302 of file audio_chunk.h.
| 
 | private | 
Definition at line 301 of file audio_chunk.h.
 1.8.9.1
 1.8.9.1