You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdemultimedia/kmix/mixer_oss4.h

43 lines
981 B

//-*-C++-*-
#ifndef MIXER_OSS4_H
#define MIXER_OSS4_H
#include <qstring.h>
#include "mixer_backend.h"
#include <sys/soundcard.h>
class Mixer_OSS4 : public Mixer_Backend
{
public:
Mixer_OSS4(int device = -1);
virtual ~Mixer_OSS4();
virtual QString errorText(int mixer_error);
virtual int readVolumeFromHW( int ctrlnum, Volume &vol );
virtual int writeVolumeToHW( int ctrlnum, Volume &vol );
virtual void setEnumIdHW(int ctrlnum, unsigned int idx);
virtual unsigned int enumIdHW(int ctrlnum);
virtual bool setRecsrcHW( int ctrlnum, bool on);
virtual bool isRecsrcHW( int ctrlnum );
protected:
MixDevice::ChannelType classifyAndRename(QString &name, int flags);
int wrapIoctl(int ioctlRet);
void reinitialize() { open(); close(); };
virtual int open();
virtual int close();
virtual bool needsPolling() { return true; };
int m_ossVersion;
int m_fd;
int m_numExtensions;
int m_numMixers;
QString m_deviceName;
};
#endif