void audio_chunk::set_data(const audio_sample * src,t_size samples,unsigned nch,unsigned srate,unsigned channel_config) { t_size size = samples * nch; set_data_size(size); if (src) pfc::memcpy_t(get_data(),src,size); else pfc::memset_t(get_data(),(audio_sample)0,size); set_sample_count(samples); set_channels(nch,channel_config); set_srate(srate); }
bool audio_chunk::set_data(const audio_sample * src,unsigned samples,unsigned nch,unsigned srate) { bool rv = false; unsigned size = samples * nch; audio_sample * out = check_data_size(size); if (out) { if (src) mem_ops<audio_sample>::copy(out,src,size); else mem_ops<audio_sample>::set(out,0,size); set_sample_count(samples); set_channels(nch); set_srate(srate); rv = true; } else reset(); return rv; }