1
/* This file is part of the KDE project.
3
Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
5
This library is free software: you can redistribute it and/or modify
6
it under the terms of the GNU Lesser General Public License as published by
7
the Free Software Foundation, either version 2.1 or 3 of the License.
9
This library is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU Lesser General Public License for more details.
14
You should have received a copy of the GNU Lesser General Public License
15
along with this library. If not, see <http://www.gnu.org/licenses/>.
18
#include "audiopartoutput.h"
27
AudioPartOutput::AudioPartOutput()
32
AudioPartOutput::~AudioPartOutput()
36
ComponentDescription AudioPartOutput::getAudioNodeDescription() const
38
ComponentDescription description;
39
description.componentType = kAudioUnitType_Output;
40
description.componentSubType = kAudioUnitSubType_DefaultOutput;
41
description.componentManufacturer = kAudioUnitManufacturer_Apple;
42
description.componentFlags = 0;
43
description.componentFlagsMask = 0;
47
void AudioPartOutput::initializeAudioUnit(AudioNode *source)
49
m_audioStreamDescription = source->outputStreamDescription();
50
m_audioChannelLayout = source->outputChannelLayout();
51
m_audioChannelLayoutSize = source->outputChannelLayoutSize();
53
// Specify the stream format:
55
err = AudioUnitSetProperty(m_audioUnit,
56
kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input,
57
0, m_audioStreamDescription, sizeof(AudioStreamBasicDescription));
58
BACKEND_ASSERT2(err == noErr, "Could not set stream format on audio output unit.", FATAL_ERROR)
60
// Set the channel layout:
61
err = AudioUnitSetProperty(m_audioUnit,
62
kAudioUnitProperty_AudioChannelLayout, kAudioUnitScope_Input,
63
0, m_audioChannelLayout, m_audioChannelLayoutSize);
64
BACKEND_ASSERT2(err == noErr, "Could not set channel layout on audio output unit.", FATAL_ERROR)
67
}} // namespace Phonon::QT7