예제 #1
0
PulseAudioStream *PulseAudioDefaultDevice::startAudioStream(QSynth *synth, unsigned int sampleRate) const {
	PulseAudioStream *stream = new PulseAudioStream(this, synth, sampleRate);
	if (stream->start()) {
		return stream;
	}
	delete stream;
	return NULL;
}
예제 #2
0
void PulsePlugin::resumeStream(AudioStream *audioStream)
{
	PulseAudioStream *pulseStream = NULL;
	pulseStream = static_cast<PulseAudioStream *> ( audioStream );
	if(pulseStream->isValid() && pulseStream->paused())
	{
		pa_stream_cork(pulseStream->stream, 0, NULL, NULL);	//This will restart time
		pulseStream->pause=false;
	}
}
예제 #3
0
void PulsePlugin::pauseStream(AudioStream *audioStream)
{
	PulseAudioStream *pulseStream = NULL;
	pulseStream = static_cast<PulseAudioStream *> ( audioStream );
	if(pulseStream->isValid() && !pulseStream->paused())
	{
		pa_stream_cork(pulseStream->stream, 1, NULL, NULL);	//This will stop the stream's time from running
		pulseStream->pause=true;
	}
}
예제 #4
0
AudioStream *PulseAudioDefaultDevice::startAudioStream(QSynth &synth, const uint sampleRate) const {
    PulseAudioStream *stream = new PulseAudioStream(driver.getAudioSettings(), synth, sampleRate);
    if (stream->start()) return stream;
    delete stream;
    return NULL;
}