alcMakeContextCurrent(0);
alcDestroyContext(al_context);
alcCloseDevice(al_device);
alcMakeContextCurrent(0);
alcDestroyContext(al_context);
alcCloseDevice(al_device);
alBufferData(buffer_, format, data, size, freq);
retain_counts_[buffer_] = 1;
alBufferData(buffer_, format, data, size, freq);
retain_counts_[buffer_] = 1;
{
alDeleteBuffers(1, &buffer_);
retain_counts_.erase(it);
{
alDeleteBuffers(1, &buffer_);
retain_counts_.erase(it);
if (ov_fopen((char*)path.c_str(), &file_) < 0)
{
throw std::runtime_error("problem reading audio: " + path);
if (ov_fopen((char*)path.c_str(), &file_) < 0)
{
throw std::runtime_error("problem reading audio: " + path);
vorbis_info* info = ov_info(&file_, section);
buffer_ = buffer(data, size,
get_audio_format(info), info->rate);
buf = buffer_;
vorbis_info* info = ov_info(&file_, section);
buffer_ = buffer(data, size,
get_audio_format(info), info->rate);
buf = buffer_;
- log_info("this section is", section);
- log_info("audio format is", get_audio_format(info));
- log_info("audio freq is", info->rate);
vorbis_info* info = ov_info(&file_, section);
buf = buffer(data, result, get_audio_format(info), info->rate);
sample = ov_pcm_tell(&file_);
vorbis_info* info = ov_info(&file_, section);
buf = buffer(data, result, get_audio_format(info), info->rate);
sample = ov_pcm_tell(&file_);
- log_info("this section is", section);
- log_info("next sample is", sample);
- log_info("audio format is", get_audio_format(info));
- log_info("audio freq is", info->rate);
ALfloat zero[] = {0.0f, 0.0f, 0.0f};
alSourcef(source_, AL_PITCH, 1.0f);
alSourcef(source_, AL_GAIN, 1.0f);
alSourcefv(source_, AL_POSITION, zero);
alSourcefv(source_, AL_VELOCITY, zero);
ALfloat zero[] = {0.0f, 0.0f, 0.0f};
alSourcef(source_, AL_PITCH, 1.0f);
alSourcef(source_, AL_GAIN, 1.0f);
alSourcefv(source_, AL_POSITION, zero);
alSourcefv(source_, AL_VELOCITY, zero);
// begin the next buffer in the queue
handle->read(buf, sample_);
buf.queue(source_);
// begin the next buffer in the queue
handle->read(buf, sample_);
buf.queue(source_);
queue_.push_back(handle);
handle->read(buf, sample_);
buf.queue(source_);
queue_.push_back(handle);
handle->read(buf, sample_);
buf.queue(source_);