/*
* vim: softtabstop=4 shiftwidth=4 cindent foldmethod=marker expandtab
*
* $LastChangedDate$
* $Revision$
* $LastChangedBy$
* $URL$
*
* Copyright 2009-2011 Eric Connell
* Copyright 2010-2011 Roman Tetelman
*
* This file is part of Mangler.
*
* Mangler is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Mangler is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Mangler. If not, see .
*/
#ifndef _MANGLER_OSS_H
#define _MANGLER_OSS_H
class ManglerOSS : public ManglerBackend {
int oss_fd;
uint32_t pcm_framesize;
public:
virtual bool open(int type, Glib::ustring device, int rate, int channels);
virtual void close(bool drain = false);
virtual bool write(uint8_t *sample, uint32_t length, int channels);
virtual bool read(uint8_t* buf);
virtual Glib::ustring getAudioSubsystem(void);
ManglerOSS(uint32_t rate, uint8_t channels, uint32_t pcm_framesize);
virtual ~ManglerOSS();
static void getDeviceList(std::vector& inputDevices, std::vector& outputDevices);
};
#endif