summaryrefslogtreecommitdiffstats
path: root/src/plugins/pulseaudio/qaudiooutput_pulse.h
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@digia.com>2014-06-12 18:48:15 +0200
committerYoann Lopes <yoann.lopes@digia.com>2014-07-10 15:59:37 +0200
commit85f4b8177ca10e7e16ccc3065370589630400f2b (patch)
treef27f1bd6282b0d3038d8f991c6772399235b90de /src/plugins/pulseaudio/qaudiooutput_pulse.h
parent8da61153c9b4e505b6f8a0e7a6c630690516d845 (diff)
PulseAudio: make plugin more robust.
Handle more thoroughly error cases, such as when the PulseAudio daemon does not respond or terminates while QAudioInput/QAudioOutput is active, in which cases it used to crash or hang. We now correctly emit the error signal and change the state when errors occur. Task-number: QTBUG-29742 Change-Id: I173d35aece60d96e578785e1522cf78b24dcb8b8 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Diffstat (limited to 'src/plugins/pulseaudio/qaudiooutput_pulse.h')
-rw-r--r--src/plugins/pulseaudio/qaudiooutput_pulse.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/pulseaudio/qaudiooutput_pulse.h b/src/plugins/pulseaudio/qaudiooutput_pulse.h
index 5954b8975..fea151ba2 100644
--- a/src/plugins/pulseaudio/qaudiooutput_pulse.h
+++ b/src/plugins/pulseaudio/qaudiooutput_pulse.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the Qt Toolkit.
@@ -105,12 +105,16 @@ public:
void streamUnderflowCallback();
private:
+ void setState(QAudio::State state);
+ void setError(QAudio::Error error);
+
bool open();
void close();
qint64 write(const char *data, qint64 len);
private Q_SLOTS:
void userFeed();
+ void onPulseContextFailed();
private:
QByteArray m_device;