Add some really ugly scons scripts to compile libraries
[deb_shairplay.git] / AirTV-Qt / raopcallbackhandler.cpp
CommitLineData
2340bcd3
JVH
1#include "raopcallbackhandler.h"
2
3RaopCallbackHandler::RaopCallbackHandler(QObject *parent) :
4 QObject(parent)
5{
6}
7
8void RaopCallbackHandler::audioInit(void *session, int bits, int channels, int samplerate)
9{
10 void **retval = (void**)session;
11
12 AudioOutput *audioOutput = new AudioOutput(0);
13 audioOutput->init(bits, channels, samplerate);
14 audioOutput->start();
15 *retval = audioOutput;
16
17 m_outputList.append(audioOutput);
18}
19
20void RaopCallbackHandler::audioSetVolume(void *session, float volume)
21{
22 AudioOutput *audioOutput = (AudioOutput*)session;
23 audioOutput->setVolume(volume);
24}
25
26void RaopCallbackHandler::audioProcess(void *session, void *buffer, int buflen)
27{
28 AudioOutput *audioOutput = (AudioOutput*)session;
29 audioOutput->output((const char *)buffer, buflen);
30}
31
32void RaopCallbackHandler::audioFlush(void *session)
33{
34 AudioOutput *audioOutput = (AudioOutput*)session;
35 audioOutput->flush();
36}
37
38void RaopCallbackHandler::audioDestroy(void *session)
39{
40 AudioOutput *audioOutput = (AudioOutput*)session;
41 m_outputList.removeAll(audioOutput);
42
43 audioOutput->stop();
44 delete audioOutput;
45}