src/multimedia/audio/qaudiooutput_alsa_p.cpp
branchRCL_3
changeset 14 c0432d11811c
parent 8 3f74d0d4af4c
--- a/src/multimedia/audio/qaudiooutput_alsa_p.cpp	Wed Apr 21 12:15:23 2010 +0300
+++ b/src/multimedia/audio/qaudiooutput_alsa_p.cpp	Wed Apr 21 20:15:53 2010 +0300
@@ -84,8 +84,7 @@
     resuming = false;
     opened = false;
 
-    QStringList list1 = QString(QLatin1String(device)).split(QLatin1String(":"));
-    m_device = QByteArray(list1.at(0).toLocal8Bit().constData());
+    m_device = device;
 
     timer = new QTimer(this);
     connect(timer,SIGNAL(timeout()),SLOT(userFeed()));
@@ -282,11 +281,11 @@
     int count=0;
     unsigned int freakuency=settings.frequency();
 
-    QString dev = QLatin1String(m_device.constData());
+    QString dev = QString(QLatin1String(m_device.constData()));
     QList<QByteArray> devices = QAudioDeviceInfoInternal::availableDevices(QAudio::AudioOutput);
     if(dev.compare(QLatin1String("default")) == 0) {
 #if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
-        dev = QLatin1String(devices.first().constData());
+        dev = QLatin1String(devices.first());
 #else
         dev = QLatin1String("hw:0,0");
 #endif
@@ -485,7 +484,6 @@
 
 void QAudioOutputPrivate::close()
 {
-    deviceState = QAudio::StoppedState;
     timer->stop();
 
     if ( handle ) {
@@ -701,6 +699,7 @@
 
         } else if(l < 0) {
             close();
+            deviceState = QAudio::StoppedState;
             errorState = QAudio::IOError;
             emit stateChanged(deviceState);
         }