From d0175f9a6b22c72642d43819ce873d03be3f455f Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Thu, 5 Mar 2009 14:25:03 +0000 Subject: added item skip limit git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@820 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Output/oss/outputoss.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'src/plugins/Output/oss/outputoss.cpp') diff --git a/src/plugins/Output/oss/outputoss.cpp b/src/plugins/Output/oss/outputoss.cpp index 51e36e90f..49a4c5793 100644 --- a/src/plugins/Output/oss/outputoss.cpp +++ b/src/plugins/Output/oss/outputoss.cpp @@ -129,6 +129,7 @@ void OutputOSS::configure(long freq, int chan, int prec, int rate) // we need to configure if (freq != m_frequency || chan != m_channels || prec != m_precision) { + qDebug("OutputOSS: frequency=%d, channels=%d, bits=%d", freq, chan, prec); // we have already configured, but are changing settings... // reset the device resetDSP(); @@ -157,11 +158,18 @@ void OutputOSS::configure(long freq, int chan, int prec, int rate) } - ioctl(m_audio_fd, SNDCTL_DSP_SETFMT, &p); - ioctl(m_audio_fd, SNDCTL_DSP_SAMPLESIZE, &prec); - int stereo = (chan > 1) ? 1 : 0; - ioctl(m_audio_fd, SNDCTL_DSP_STEREO, &stereo); - ioctl(m_audio_fd, SNDCTL_DSP_SPEED, &freq); + 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");*/ + /*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) + qWarning("OutputOSS: can't set number of channels"); + if (chan != m_channels) + qWarning("OutputOSS: can't set number of channels, using %d instead", m_channels); + if (ioctl(m_audio_fd, SNDCTL_DSP_SPEED, &freq) == -1) + qWarning("OutputOSS: can't set audio format"); } m_rate = rate; -- cgit v1.2.3-13-gbd6f