예제 #1
0
AudioInput *AudioMixer::createInputSerialized(
	QDataStream *stream, int before)
{
	if(before < 0) {
		// Position is relative to the right
		before += m_inputs.count() + 1;
	}
	before = qBound(0, before, m_inputs.count());

	AudioInput *input = new AudioInput(this, 0, m_profile->getAudioMode());
	appLog(LOG_CAT)
		<< "Unserializing audio input " << input->getIdString(false)
		<< "...";
	if(!input->unserialize(stream)) {
		// Failed to unserialize data
		appLog(LOG_CAT, Log::Warning)
			<< "Failed to fully unserialize audio input data";
		delete input;
		return NULL;
	}
	m_inputs.insert(before, input);
	appLog(LOG_CAT) << "Created audio input " << input->getIdString();
	input->setInitialized();
	calcMinInputDelay();

	emit inputAdded(input, before);
	return input;
}
예제 #2
0
AudioInput *AudioMixer::createInput(
	quint64 sourceId, const QString &name, int before)
{
	if(before < 0) {
		// Position is relative to the right
		before += m_inputs.count() + 1;
	}
	before = qBound(0, before, m_inputs.count());

	AudioInput *input =
		new AudioInput(this, sourceId, m_profile->getAudioMode());
	if(!name.isEmpty())
		input->setName(name);
	m_inputs.insert(before, input);
	appLog(LOG_CAT) << "Created audio input " << input->getIdString();
	input->setInitialized();
	calcMinInputDelay();

	emit inputAdded(input, before);
	return input;
}