Start writing the Qt4 bindings
[deb_shairplay.git] / AirTV-Qt / audiocallbacks.cpp
CommitLineData
9434b30c
JVH
1#include "audiocallbacks.h"
2
3AudioCallbacks::AudioCallbacks(QObject *parent) :
4 RaopCallbacks(parent)
5{
6}
7
8void * AudioCallbacks::audioInit(int bits, int channels, int samplerate)
9{
10 AudioOutput *audioOutput = new AudioOutput(0);
11 audioOutput->init(bits, channels, samplerate);
12 audioOutput->start();
13 m_outputList.append(audioOutput);
14 return audioOutput;
15}
16
17void AudioCallbacks::audioProcess(void *session, const QByteArray & buffer)
18{
19 AudioOutput *audioOutput = (AudioOutput*)session;
20 audioOutput->output(buffer);
21}
22
23void AudioCallbacks::audioDestroy(void *session)
24{
25 AudioOutput *audioOutput = (AudioOutput*)session;
26 m_outputList.removeAll(audioOutput);
27
28 audioOutput->stop();
29 delete audioOutput;
30}
31
32
33void AudioCallbacks::audioFlush(void *session)
34{
35 AudioOutput *audioOutput = (AudioOutput*)session;
36 audioOutput->flush();
37}
38
39void AudioCallbacks::audioSetVolume(void *session, float volume)
40{
41 AudioOutput *audioOutput = (AudioOutput*)session;
42 audioOutput->setVolume(volume);
43}
44