Files
MuditaOS/module-bsp/board/linux/audio/LinuxCellularAudio.hpp
Radoslaw Wicik a8573a404c Apply new style
2020-03-17 10:03:16 +01:00

56 lines
1.5 KiB
C++

/*
* @file LinuxCellularAudio.hpp
* @author Mateusz Piesta (mateusz.piesta@mudita.com)
* @date 02.08.19
* @brief
* @copyright Copyright (C) 2019 mudita.com
* @details
*/
#ifndef PUREPHONE_LINUXCELLULARAUDIO_HPP
#define PUREPHONE_LINUXCELLULARAUDIO_HPP
#include "bsp/audio/bsp_audio.hpp"
#include "portaudio.h"
namespace bsp
{
class LinuxCellularAudio : public AudioDevice
{
public:
LinuxCellularAudio(AudioDevice::audioCallback_t callback);
virtual ~LinuxCellularAudio();
int32_t Start(const Format &format) override final;
int32_t Stop() override final;
int32_t OutputVolumeCtrl(float vol) override final;
int32_t InputGainCtrl(float gain) override final;
int32_t OutputPathCtrl(OutputPath outputPath) override final;
int32_t InputPathCtrl(InputPath inputPath) override final;
bool IsFormatSupported(const Format &format) override final;
private:
PaStream *stream;
static int portAudioCallback(const void *inputBuffer,
void *outputBuffer,
unsigned long framesPerBuffer,
const PaStreamCallbackTimeInfo *timeInfo,
PaStreamCallbackFlags statusFlags,
void *userData);
bool TryOpenStream(const bsp::AudioDevice::Format &format);
};
} // namespace bsp
#endif // PUREPHONE_LINUXCELLULARAUDIO_HPP