1
/*  This file is part of the KDE project
2
    Copyright (C) 2005 Matthias Kretz <kretz@kde.org>
3
4
    This library is free software; you can redistribute it and/or
5
    modify it under the terms of the GNU Lesser General Public
6
    License as published by the Free Software Foundation; either
7
    version 2.1 of the License, or (at your option) version 3, or any
8
    later version accepted by the membership of KDE e.V. (or its
9
    successor approved by the membership of KDE e.V.), Nokia Corporation
10
    (or its successors, if any) and the KDE Free Qt Foundation, which shall
11
    act as a proxy defined in Section 6 of version 3 of the license.
12
13
    This library is distributed in the hope that it will be useful,
14
    but WITHOUT ANY WARRANTY; without even the implied warranty of
15
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16
    Lesser General Public License for more details.
17
18
    You should have received a copy of the GNU Lesser General Public
19
    License along with this library.  If not, see <http://www.gnu.org/licenses/>.
20
21
*/
22
23
#include "audiodataoutput.h"
24
#include "audiodataoutput_p.h"
25
#include "factory_p.h"
26
27
#define PHONON_CLASSNAME AudioDataOutput
28
29
QT_BEGIN_HEADER
30
QT_BEGIN_NAMESPACE
31
32
namespace Phonon
33
{
34
35
PHONON_HEIR_IMPL(AbstractAudioOutput)
36
37
PHONON_GETTER(int, dataSize, d->dataSize)
38
PHONON_GETTER(int, sampleRate, -1)
39
PHONON_SETTER(setDataSize, dataSize, int)
40
41
bool AudioDataOutputPrivate::aboutToDeleteBackendObject()
42
{
43
    Q_ASSERT(m_backendObject);
44
    pBACKEND_GET(int, dataSize, "dataSize");
45
46
    return AbstractAudioOutputPrivate::aboutToDeleteBackendObject();
47
}
48
49
void AudioDataOutputPrivate::setupBackendObject()
50
{
51
    Q_Q(AudioDataOutput);
52
    Q_ASSERT(m_backendObject);
53
    AbstractAudioOutputPrivate::setupBackendObject();
54
55
    // set up attributes
56
    pBACKEND_CALL1("setDataSize", int, dataSize);
57
58
    qRegisterMetaType<QMap<Phonon::AudioDataOutput::Channel, QVector<qint16> > >("QMap<Phonon::AudioDataOutput::Channel, QVector<qint16> >");
59
60
    QObject::connect(m_backendObject,
61
            SIGNAL(dataReady(const QMap<Phonon::AudioDataOutput::Channel, QVector<qint16> > &)),
62
            q, SIGNAL(dataReady(const QMap<Phonon::AudioDataOutput::Channel, QVector<qint16> > &)));
63
    QObject::connect(m_backendObject, SIGNAL(endOfMedia(int)), q, SIGNAL(endOfMedia(int)));
64
}
65
66
} // namespace Phonon
67
68
QT_END_NAMESPACE
69
QT_END_HEADER
70
71
#undef PHONON_CLASSNAME
72
// vim: sw=4 ts=4 tw=80