From be420a9ec95d103429e383ea1e9020832ca3b000 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Tue, 19 Feb 2013 18:24:32 +0000 Subject: fixed build git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3267 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Output/oss4/outputoss4.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/plugins/Output/oss4/outputoss4.cpp') diff --git a/src/plugins/Output/oss4/outputoss4.cpp b/src/plugins/Output/oss4/outputoss4.cpp index 4c1775665..c4093a283 100644 --- a/src/plugins/Output/oss4/outputoss4.cpp +++ b/src/plugins/Output/oss4/outputoss4.cpp @@ -173,6 +173,8 @@ VolumeOSS4::VolumeOSS4() VolumeOSS4::~VolumeOSS4() { + VolumeSettings vol = volume(); + m_volume = (vol.right << 8) | vol.left; OutputOSS4::m_vc = 0; QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.setValue("OSS4/volume", m_volume); @@ -195,10 +197,14 @@ VolumeSettings VolumeOSS4::volume() const int v = 0; if (ioctl(OutputOSS4::instance()->fd(), SNDCTL_DSP_GETPLAYVOL, &v) < 0) v = 0; - m_volume = v; + vol.left = v & 0x00FF; + vol.right = (v & 0xFF00) >> 8; + } + else + { + vol.left = m_volume & 0x00FF; + vol.right = (m_volume & 0xFF00) >> 8; } - vol.left = m_volume & 0x00FF; - vol.right = (m_volume & 0xFF00) >> 8; return vol; } -- cgit v1.2.3-13-gbd6f