diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-01-16 15:33:17 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-01-16 15:33:17 +0000 |
| commit | 435f1da1de18bafe57e43e47fd8a6fc69fd8bab7 (patch) | |
| tree | e332293971b3b3883685b79c62bcd50bf2f49c12 /src/plugins/Output/oss/outputoss.cpp | |
| parent | 2fa169a585994ceb40db55405f46783d06820947 (diff) | |
| download | qmmp-435f1da1de18bafe57e43e47fd8a6fc69fd8bab7.tar.gz qmmp-435f1da1de18bafe57e43e47fd8a6fc69fd8bab7.tar.bz2 qmmp-435f1da1de18bafe57e43e47fd8a6fc69fd8bab7.zip | |
updated audio engine
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1503 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Output/oss/outputoss.cpp')
| -rw-r--r-- | src/plugins/Output/oss/outputoss.cpp | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/plugins/Output/oss/outputoss.cpp b/src/plugins/Output/oss/outputoss.cpp index 9402d99bd..84d3d652e 100644 --- a/src/plugins/Output/oss/outputoss.cpp +++ b/src/plugins/Output/oss/outputoss.cpp @@ -65,7 +65,7 @@ OutputOSS* OutputOSS::instance() OutputOSS::OutputOSS(QObject * parent) : Output(parent), m_inited(FALSE), - m_frequency(-1), m_channels(-1), m_precision(-1), + m_frequency(-1), m_channels(-1), do_select(TRUE), m_audio_fd(-1) { @@ -89,12 +89,11 @@ OutputOSS::~OutputOSS() } } -void OutputOSS::configure(quint32 freq, int chan, int prec) +void OutputOSS::configure(quint32 freq, int chan, Qmmp::AudioFormat format) { // we need to configure - if (freq != m_frequency || chan != m_channels || prec != m_precision) + if (freq != m_frequency || chan != m_channels) { - qDebug("OutputOSS: frequency=%d, channels=%d, bits=%d", freq, chan, prec); // we have already configured, but are changing settings... // reset the device resetDSP(); @@ -111,15 +110,14 @@ void OutputOSS::configure(quint32 freq, int chan, int prec) #endif m_frequency = freq; m_channels = chan; - m_precision = prec; //m_bps = freq * chan * (prec / 8); int p; - switch (prec) + switch (format) { default: - case 16: + case Qmmp::PCM_S16LE: #if defined(AFMT_S16_NE) p = AFMT_S16_NE; #else @@ -127,7 +125,7 @@ void OutputOSS::configure(quint32 freq, int chan, int prec) #endif break; - case 8: + case Qmmp::PCM_S8: p = AFMT_S8; break; @@ -135,8 +133,8 @@ void OutputOSS::configure(quint32 freq, int chan, int prec) if (ioctl(m_audio_fd, SNDCTL_DSP_SETFMT, &p) == -1) qWarning("OutputOSS: can't set audio format"); - if(ioctl(m_audio_fd, SNDCTL_DSP_SAMPLESIZE, &prec) == -1) - qDebug("OutputOSS: can't set audio format"); + /*if(ioctl(m_audio_fd, SNDCTL_DSP_SAMPLESIZE, &prec) == -1) + qDebug("OutputOSS: can't set audio format");*/ int stereo = (chan > 1) ? 1 : 0; ioctl(m_audio_fd, SNDCTL_DSP_STEREO, &stereo); /*if (ioctl(m_audio_fd, SNDCTL_DSP_SPEED, &m_channels) == -1) @@ -146,7 +144,7 @@ void OutputOSS::configure(quint32 freq, int chan, int prec) if (ioctl(m_audio_fd, SNDCTL_DSP_SPEED, &freq) == -1) qWarning("OutputOSS: can't set audio format"); } - Output::configure(freq, chan, prec); + Output::configure(freq, chan, format); } void OutputOSS::reset() @@ -226,7 +224,6 @@ void OutputOSS::uninitialize() m_inited = FALSE; m_frequency = -1; m_channels = -1; - m_precision = -1; resetDSP(); if (m_audio_fd > 0) { |
