2 * Copyright (C) 2011-2012 Juho Vähä-Herttua
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) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
15 #include "raopcallbackhandler.h"
17 RaopCallbackHandler::RaopCallbackHandler(QObject
*parent
) :
22 void RaopCallbackHandler::audioInit(void *session
, int bits
, int channels
, int samplerate
)
24 void **retval
= (void**)session
;
26 AudioOutput
*audioOutput
= new AudioOutput(0);
27 audioOutput
->init(bits
, channels
, samplerate
);
29 *retval
= audioOutput
;
31 m_outputList
.append(audioOutput
);
34 void RaopCallbackHandler::audioSetVolume(void *session
, float volume
)
36 AudioOutput
*audioOutput
= (AudioOutput
*)session
;
37 audioOutput
->setVolume(volume
);
40 void RaopCallbackHandler::audioProcess(void *session
, void *buffer
, int buflen
)
42 AudioOutput
*audioOutput
= (AudioOutput
*)session
;
43 audioOutput
->output((const char *)buffer
, buflen
);
46 void RaopCallbackHandler::audioFlush(void *session
)
48 AudioOutput
*audioOutput
= (AudioOutput
*)session
;
52 void RaopCallbackHandler::audioDestroy(void *session
)
54 AudioOutput
*audioOutput
= (AudioOutput
*)session
;
55 m_outputList
.removeAll(audioOutput
);