source: trunk/src/3rdparty/phonon/qt7/audiopartoutput.mm

Last change on this file was 2, checked in by Dmitry A. Kuminov, 17 years ago

Initially imported qt-all-opensource-src-4.5.1 from Trolltech.

File size: 2.2 KB
Line 
1/* This file is part of the KDE project.
2
3 Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4
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.
8
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.
13
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/>.
16*/
17
18#include "audiopartoutput.h"
19
20QT_BEGIN_NAMESPACE
21
22namespace Phonon
23{
24namespace QT7
25{
26
27AudioPartOutput::AudioPartOutput()
28 : AudioNode()
29{
30}
31
32AudioPartOutput::~AudioPartOutput()
33{
34}
35
36ComponentDescription AudioPartOutput::getAudioNodeDescription() const
37{
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;
44 return description;
45}
46
47void AudioPartOutput::initializeAudioUnit(AudioNode *source)
48{
49 m_audioStreamDescription = source->outputStreamDescription();
50 m_audioChannelLayout = source->outputChannelLayout();
51 m_audioChannelLayoutSize = source->outputChannelLayoutSize();
52
53 // Specify the stream format:
54 OSStatus err;
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)
59
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)
65}
66
67}} // namespace Phonon::QT7
68
69QT_END_NAMESPACE
Note: See TracBrowser for help on using the repository browser.