summaryrefslogtreecommitdiffstats
path: root/kmix/mixer_oss4.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commite2de64d6f1beb9e492daf5b886e19933c1fa41dd (patch)
tree9047cf9e6b5c43878d5bf82660adae77ceee097a /kmix/mixer_oss4.h
downloadtdemultimedia-e2de64d6f1beb9e492daf5b886e19933c1fa41dd.tar.gz
tdemultimedia-e2de64d6f1beb9e492daf5b886e19933c1fa41dd.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdemultimedia@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kmix/mixer_oss4.h')
-rw-r--r--kmix/mixer_oss4.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/kmix/mixer_oss4.h b/kmix/mixer_oss4.h
new file mode 100644
index 00000000..07a927d0
--- /dev/null
+++ b/kmix/mixer_oss4.h
@@ -0,0 +1,42 @@
+//-*-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