Commit | Line | Data |
---|---|---|
2340bcd3 JVH |
1 | #include "raopcallbackhandler.h" |
2 | ||
3 | RaopCallbackHandler::RaopCallbackHandler(QObject *parent) : | |
4 | QObject(parent) | |
5 | { | |
6 | } | |
7 | ||
8 | void 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 | ||
20 | void RaopCallbackHandler::audioSetVolume(void *session, float volume) | |
21 | { | |
22 | AudioOutput *audioOutput = (AudioOutput*)session; | |
23 | audioOutput->setVolume(volume); | |
24 | } | |
25 | ||
26 | void RaopCallbackHandler::audioProcess(void *session, void *buffer, int buflen) | |
27 | { | |
28 | AudioOutput *audioOutput = (AudioOutput*)session; | |
29 | audioOutput->output((const char *)buffer, buflen); | |
30 | } | |
31 | ||
32 | void RaopCallbackHandler::audioFlush(void *session) | |
33 | { | |
34 | AudioOutput *audioOutput = (AudioOutput*)session; | |
35 | audioOutput->flush(); | |
36 | } | |
37 | ||
38 | void RaopCallbackHandler::audioDestroy(void *session) | |
39 | { | |
40 | AudioOutput *audioOutput = (AudioOutput*)session; | |
41 | m_outputList.removeAll(audioOutput); | |
42 | ||
43 | audioOutput->stop(); | |
44 | delete audioOutput; | |
45 | } |