Start writing the Qt4 bindings
[deb_shairplay.git] / AirTV-Qt / audiocallbacks.cpp
1 #include "audiocallbacks.h"
2
3 AudioCallbacks::AudioCallbacks(QObject *parent) :
4 RaopCallbacks(parent)
5 {
6 }
7
8 void * 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
17 void AudioCallbacks::audioProcess(void *session, const QByteArray & buffer)
18 {
19 AudioOutput *audioOutput = (AudioOutput*)session;
20 audioOutput->output(buffer);
21 }
22
23 void 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
33 void AudioCallbacks::audioFlush(void *session)
34 {
35 AudioOutput *audioOutput = (AudioOutput*)session;
36 audioOutput->flush();
37 }
38
39 void AudioCallbacks::audioSetVolume(void *session, float volume)
40 {
41 AudioOutput *audioOutput = (AudioOutput*)session;
42 audioOutput->setVolume(volume);
43 }
44