1
//=========================================================
4
// $Id: alsaaudio.h,v 1.1.1.1 2003/10/29 10:06:12 wschweer Exp $
5
// (C) Copyright 2002 Werner Schweer (ws@seh.de)
6
//=========================================================
8
#ifndef __ALSAAUDIO_H__
9
#define __ALSAAUDIO_H__
11
#include <alsa/asoundlib.h>
15
//---------------------------------------------------------
17
//---------------------------------------------------------
19
class AlsaAudioDevice : public AudioDevice, public Thread {
24
AlsaPort(int c, int d, const QString& s, int f) {
31
std::list<AlsaPort*> portList;
33
snd_pcm_t* captureHandle;
34
snd_pcm_t* playbackHandle;
35
snd_pcm_sframes_t samplesWritten;
40
virtual void threadStart(void*);
44
virtual ~AlsaAudioDevice();
49
virtual void read(int, unsigned long, float**);
50
virtual void write(int, unsigned long, float**);
53
virtual void activate(bool);
54
virtual int curPlayPos() const;
56
virtual std::list<QString> outputPorts();
57
virtual std::list<QString> inputPorts();
59
virtual void setInputPort(const QString&);
60
virtual void setOutputPort(const QString&);
63
extern AlsaAudioDevice* alsaAudioDevice;