refer to src/core/Audio/AudioPulseAudio.cpp,
buffer_attr.maxlength = (uint32_t)(-1);
// play silence in case of buffer underun instead of using default rewind buffer_attr.prebuf = 0;
buffer_attr.minreq = (uint32_t)(-1); buffer_attr.fragsize = (uint32_t)(-1);
double latency = (double)( Engine::mixer()->framesPerPeriod() ) / (double)_this->sampleRate();
// ask PulseAudio for the desired latency (which might not be approved) buffer_attr.tlength = pa_usec_to_bytes( latency * PA_USEC_PER_MSEC, &_this->m_sampleSpec );
pa_stream_connect_playback( _this->m_s, NULL, &buffer_attr, PA_STREAM_ADJUST_LATENCY, NULL, // volume NULL ); break;
refer to src/core/ Audio/AudioPuls eAudio. cpp,
// play silence in case of buffer underun instead of using default rewind attr.prebuf = 0;
buffer_
buffer_ attr.minreq = (uint32_t)(-1); attr.fragsize = (uint32_t)(-1);
buffer_
double latency = (double)( Engine: :mixer( )->framesPerPer iod() ) /
(double) _this-> sampleRate( );
// ask PulseAudio for the desired latency (which might not be approved) attr.tlength = pa_usec_to_bytes( latency * PA_USEC_PER_MSEC,
&_this- >m_sampleSpec );
buffer_
pa_stream_ connect_ playback( _this->m_s, NULL, &buffer_attr,
PA_ STREAM_ ADJUST_ LATENCY,
NULL, // volume
NULL );
break;