aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/Output/oss/outputoss.cpp27
-rw-r--r--src/plugins/Output/oss/outputoss.h1
2 files changed, 2 insertions, 26 deletions
diff --git a/src/plugins/Output/oss/outputoss.cpp b/src/plugins/Output/oss/outputoss.cpp
index f6b5e1e8d..da3825ca1 100644
--- a/src/plugins/Output/oss/outputoss.cpp
+++ b/src/plugins/Output/oss/outputoss.cpp
@@ -44,11 +44,10 @@ extern "C"
#include <qmmp/visual.h>
#include "outputoss.h"
-OutputOSS::OutputOSS(QObject * parent) : Output(parent), do_select(true), m_audio_fd(-1)
+OutputOSS::OutputOSS(QObject * parent) : Output(parent), m_audio_fd(-1)
{
QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
m_audio_device = settings.value("OSS/device","/dev/dsp").toString();
- do_select = false;
}
OutputOSS::~OutputOSS()
@@ -101,8 +100,6 @@ bool OutputOSS::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
return false;
}
- //ioctl(m_audio_fd, SNDCTL_DSP_SYNC, 0);
-
if (ioctl(m_audio_fd, SNDCTL_DSP_SETFMT, &p) == -1)
qWarning("OutputOSS: ioctl SNDCTL_DSP_SETFMT failed: %s",strerror(errno));
@@ -130,32 +127,12 @@ bool OutputOSS::initialize(quint32 freq, int chan, Qmmp::AudioFormat format)
qint64 OutputOSS::latency()
{
- //ulong used = 0;
-
- /*if (ioctl(m_audio_fd, SNDCTL_DSP_GETODELAY, &used) == -1)
- used = 0;*/
return 0;
}
qint64 OutputOSS::writeAudio(unsigned char *data, qint64 maxSize)
{
- fd_set afd;
- struct timeval tv;
- qint64 m = -1, l;
- FD_ZERO(&afd);
- FD_SET(m_audio_fd, &afd);
- // nice long poll timeout
- tv.tv_sec = 5l;
- tv.tv_usec = 0l;
- if ((!do_select || (select(m_audio_fd + 1, 0, &afd, 0, &tv) > 0 &&
- FD_ISSET(m_audio_fd, &afd))))
- {
- l = qMin(int(2048), int(maxSize));
- if (l > 0)
- {
- m = write(m_audio_fd, data, l);
- }
- }
+ qint64 m = write(m_audio_fd, data, maxSize);
post();
return m;
}
diff --git a/src/plugins/Output/oss/outputoss.h b/src/plugins/Output/oss/outputoss.h
index a04e6f474..484e77085 100644
--- a/src/plugins/Output/oss/outputoss.h
+++ b/src/plugins/Output/oss/outputoss.h
@@ -48,7 +48,6 @@ private:
void sync();
QString m_audio_device;
- bool do_select;
int m_audio_fd;
long bl, br;
};