diff options
Diffstat (limited to 'src/multimedia/audio')
-rw-r--r-- | src/multimedia/audio/audio.pri | 18 | ||||
-rw-r--r-- | src/multimedia/audio/qaudio.h | 2 | ||||
-rw-r--r-- | src/multimedia/audio/qaudiobuffer.h | 2 | ||||
-rw-r--r-- | src/multimedia/audio/qaudiobuffer_p.h | 2 | ||||
-rw-r--r-- | src/multimedia/audio/qaudiodevicefactory_p.h | 2 | ||||
-rw-r--r-- | src/multimedia/audio/qaudiodeviceinfo.h | 2 | ||||
-rw-r--r-- | src/multimedia/audio/qaudioformat.h | 2 | ||||
-rw-r--r-- | src/multimedia/audio/qaudioinput.h | 2 | ||||
-rw-r--r-- | src/multimedia/audio/qaudiooutput.h | 2 | ||||
-rw-r--r-- | src/multimedia/audio/qaudiosystem.h | 2 | ||||
-rw-r--r-- | src/multimedia/audio/qaudiosystemplugin.h | 2 | ||||
-rw-r--r-- | src/multimedia/audio/qaudiosystempluginext_p.h | 2 | ||||
-rw-r--r-- | src/multimedia/audio/qsound.h | 2 | ||||
-rw-r--r-- | src/multimedia/audio/qsoundeffect.h | 2 | ||||
-rw-r--r-- | src/multimedia/audio/qsoundeffect_pulse_p.cpp | 74 | ||||
-rw-r--r-- | src/multimedia/audio/qsoundeffect_pulse_p.h | 1 |
16 files changed, 18 insertions, 101 deletions
diff --git a/src/multimedia/audio/audio.pri b/src/multimedia/audio/audio.pri index 4706fd23e..d6d74a316 100644 --- a/src/multimedia/audio/audio.pri +++ b/src/multimedia/audio/audio.pri @@ -40,20 +40,12 @@ SOURCES += \ audio/qaudiodecoder.cpp \ audio/qaudiohelpers.cpp -unix:!mac { - config_pulseaudio { - CONFIG += link_pkgconfig - PKGCONFIG_PRIVATE += libpulse +qtConfig(pulseaudio) { + QMAKE_USE += pulseaudio - DEFINES += QT_MULTIMEDIA_PULSEAUDIO - PRIVATE_HEADERS += audio/qsoundeffect_pulse_p.h - SOURCES += audio/qsoundeffect_pulse_p.cpp - !maemo*:DEFINES += QTM_PULSEAUDIO_DEFAULTBUFFER - } else { - DEFINES += QT_MULTIMEDIA_QAUDIO - PRIVATE_HEADERS += audio/qsoundeffect_qaudio_p.h - SOURCES += audio/qsoundeffect_qaudio_p.cpp - } + DEFINES += QT_MULTIMEDIA_PULSEAUDIO + PRIVATE_HEADERS += audio/qsoundeffect_pulse_p.h + SOURCES += audio/qsoundeffect_pulse_p.cpp } else { DEFINES += QT_MULTIMEDIA_QAUDIO PRIVATE_HEADERS += audio/qsoundeffect_qaudio_p.h diff --git a/src/multimedia/audio/qaudio.h b/src/multimedia/audio/qaudio.h index 457a3b621..1c38e9f35 100644 --- a/src/multimedia/audio/qaudio.h +++ b/src/multimedia/audio/qaudio.h @@ -41,7 +41,7 @@ #ifndef QAUDIO_H #define QAUDIO_H -#include <QtMultimedia/qtmultimediadefs.h> +#include <QtMultimedia/qtmultimediaglobal.h> #include <QtMultimedia/qmultimedia.h> #include <QtCore/qmetatype.h> diff --git a/src/multimedia/audio/qaudiobuffer.h b/src/multimedia/audio/qaudiobuffer.h index c45b56ed3..bed387462 100644 --- a/src/multimedia/audio/qaudiobuffer.h +++ b/src/multimedia/audio/qaudiobuffer.h @@ -42,7 +42,7 @@ #include <QtCore/qshareddata.h> -#include <QtMultimedia/qtmultimediadefs.h> +#include <QtMultimedia/qtmultimediaglobal.h> #include <QtMultimedia/qmultimedia.h> #include <QtMultimedia/qaudio.h> diff --git a/src/multimedia/audio/qaudiobuffer_p.h b/src/multimedia/audio/qaudiobuffer_p.h index 06233ca7c..e770989f2 100644 --- a/src/multimedia/audio/qaudiobuffer_p.h +++ b/src/multimedia/audio/qaudiobuffer_p.h @@ -51,7 +51,7 @@ // We mean it. // -#include <qtmultimediadefs.h> +#include <qtmultimediaglobal.h> #include <qmultimedia.h> #include "qaudioformat.h" diff --git a/src/multimedia/audio/qaudiodevicefactory_p.h b/src/multimedia/audio/qaudiodevicefactory_p.h index 7ad5e4e78..238be46a7 100644 --- a/src/multimedia/audio/qaudiodevicefactory_p.h +++ b/src/multimedia/audio/qaudiodevicefactory_p.h @@ -54,7 +54,7 @@ #include <QtCore/qbytearray.h> #include <QtCore/qlist.h> -#include <qtmultimediadefs.h> +#include <qtmultimediaglobal.h> #include <qmultimedia.h> #include "qaudiodeviceinfo.h" diff --git a/src/multimedia/audio/qaudiodeviceinfo.h b/src/multimedia/audio/qaudiodeviceinfo.h index 709e6830a..390458b39 100644 --- a/src/multimedia/audio/qaudiodeviceinfo.h +++ b/src/multimedia/audio/qaudiodeviceinfo.h @@ -47,7 +47,7 @@ #include <QtCore/qstringlist.h> #include <QtCore/qlist.h> -#include <QtMultimedia/qtmultimediadefs.h> +#include <QtMultimedia/qtmultimediaglobal.h> #include <QtMultimedia/qmultimedia.h> #include <QtMultimedia/qaudio.h> diff --git a/src/multimedia/audio/qaudioformat.h b/src/multimedia/audio/qaudioformat.h index 2ae6d6aef..97779ea2c 100644 --- a/src/multimedia/audio/qaudioformat.h +++ b/src/multimedia/audio/qaudioformat.h @@ -44,7 +44,7 @@ #include <QtCore/qobject.h> #include <QtCore/qshareddata.h> -#include <QtMultimedia/qtmultimediadefs.h> +#include <QtMultimedia/qtmultimediaglobal.h> #include <QtMultimedia/qmultimedia.h> QT_BEGIN_NAMESPACE diff --git a/src/multimedia/audio/qaudioinput.h b/src/multimedia/audio/qaudioinput.h index d1a58424e..5794276d2 100644 --- a/src/multimedia/audio/qaudioinput.h +++ b/src/multimedia/audio/qaudioinput.h @@ -43,7 +43,7 @@ #include <QtCore/qiodevice.h> -#include <QtMultimedia/qtmultimediadefs.h> +#include <QtMultimedia/qtmultimediaglobal.h> #include <QtMultimedia/qmultimedia.h> #include <QtMultimedia/qaudio.h> diff --git a/src/multimedia/audio/qaudiooutput.h b/src/multimedia/audio/qaudiooutput.h index fab562ae1..9f817271d 100644 --- a/src/multimedia/audio/qaudiooutput.h +++ b/src/multimedia/audio/qaudiooutput.h @@ -43,7 +43,7 @@ #include <QtCore/qiodevice.h> -#include <QtMultimedia/qtmultimediadefs.h> +#include <QtMultimedia/qtmultimediaglobal.h> #include <QtMultimedia/qmultimedia.h> #include <QtMultimedia/qaudio.h> diff --git a/src/multimedia/audio/qaudiosystem.h b/src/multimedia/audio/qaudiosystem.h index 1a927589d..dabf8df0b 100644 --- a/src/multimedia/audio/qaudiosystem.h +++ b/src/multimedia/audio/qaudiosystem.h @@ -40,7 +40,7 @@ #ifndef QAUDIOSYSTEM_H #define QAUDIOSYSTEM_H -#include <QtMultimedia/qtmultimediadefs.h> +#include <QtMultimedia/qtmultimediaglobal.h> #include <QtMultimedia/qmultimedia.h> #include <QtMultimedia/qaudio.h> diff --git a/src/multimedia/audio/qaudiosystemplugin.h b/src/multimedia/audio/qaudiosystemplugin.h index b26b2a3b9..3368c9b98 100644 --- a/src/multimedia/audio/qaudiosystemplugin.h +++ b/src/multimedia/audio/qaudiosystemplugin.h @@ -44,7 +44,7 @@ #include <QtCore/qstring.h> #include <QtCore/qplugin.h> -#include <QtMultimedia/qtmultimediadefs.h> +#include <QtMultimedia/qtmultimediaglobal.h> #include <QtMultimedia/qmultimedia.h> #include <QtMultimedia/qaudioformat.h> diff --git a/src/multimedia/audio/qaudiosystempluginext_p.h b/src/multimedia/audio/qaudiosystempluginext_p.h index 380bc5afa..6493b7f77 100644 --- a/src/multimedia/audio/qaudiosystempluginext_p.h +++ b/src/multimedia/audio/qaudiosystempluginext_p.h @@ -40,7 +40,7 @@ #ifndef QAUDIOSYSTEMPLUGINEXT_P_H #define QAUDIOSYSTEMPLUGINEXT_P_H -#include <QtMultimedia/qtmultimediadefs.h> +#include <QtMultimedia/qtmultimediaglobal.h> #include <QtMultimedia/qaudio.h> #include <QtCore/qplugin.h> diff --git a/src/multimedia/audio/qsound.h b/src/multimedia/audio/qsound.h index f8d47676f..304019ced 100644 --- a/src/multimedia/audio/qsound.h +++ b/src/multimedia/audio/qsound.h @@ -40,7 +40,7 @@ #ifndef QSOUND_H #define QSOUND_H -#include <QtMultimedia/qtmultimediadefs.h> +#include <QtMultimedia/qtmultimediaglobal.h> #include <QtCore/qobject.h> QT_BEGIN_NAMESPACE diff --git a/src/multimedia/audio/qsoundeffect.h b/src/multimedia/audio/qsoundeffect.h index f59c4d91d..7420d7b81 100644 --- a/src/multimedia/audio/qsoundeffect.h +++ b/src/multimedia/audio/qsoundeffect.h @@ -40,7 +40,7 @@ #ifndef QSOUNDEFFECT_H #define QSOUNDEFFECT_H -#include <QtMultimedia/qtmultimediadefs.h> +#include <QtMultimedia/qtmultimediaglobal.h> #include <QtCore/qobject.h> #include <QtCore/qurl.h> #include <QtCore/qstringlist.h> diff --git a/src/multimedia/audio/qsoundeffect_pulse_p.cpp b/src/multimedia/audio/qsoundeffect_pulse_p.cpp index fcf4fee35..2e2dfc2db 100644 --- a/src/multimedia/audio/qsoundeffect_pulse_p.cpp +++ b/src/multimedia/audio/qsoundeffect_pulse_p.cpp @@ -62,9 +62,6 @@ #include <unistd.h> //#define QT_PA_DEBUG -#ifndef QTM_PULSEAUDIO_DEFAULTBUFFER -#define QT_PA_STREAM_BUFFER_SIZE_MAX (1024 * 64) //64KB is a trade-off for balancing control latency and uploading overhead -#endif QT_BEGIN_NAMESPACE @@ -679,7 +676,6 @@ void QSoundEffectPrivate::sampleReady() #ifdef QT_PA_DEBUG qDebug() << this << "reuse existing pulsestream"; #endif -#ifdef QTM_PULSEAUDIO_DEFAULTBUFFER const pa_buffer_attr *bufferAttr = pa_stream_get_buffer_attr(m_pulseStream); if (bufferAttr->prebuf > uint32_t(m_sample->data().size())) { pa_buffer_attr newBufferAttr; @@ -693,33 +689,6 @@ void QSoundEffectPrivate::sampleReady() } else { streamReady(); } -#else - const pa_buffer_attr *bufferAttr = pa_stream_get_buffer_attr(m_pulseStream); - if (bufferAttr->tlength < m_sample->data().size() && bufferAttr->tlength < QT_PA_STREAM_BUFFER_SIZE_MAX) { - pa_buffer_attr newBufferAttr; - newBufferAttr.maxlength = -1; - newBufferAttr.tlength = qMin(m_sample->data().size(), QT_PA_STREAM_BUFFER_SIZE_MAX); - newBufferAttr.minreq = bufferAttr->tlength / 2; - newBufferAttr.prebuf = -1; - newBufferAttr.fragsize = -1; - pa_operation *op = pa_stream_set_buffer_attr(m_pulseStream, &newBufferAttr, stream_reset_buffer_callback, m_ref->getRef()); - if (op) - pa_operation_unref(op); - else - qWarning("QSoundEffect(pulseaudio): failed to adjust pre-buffer attribute"); - } else if (bufferAttr->prebuf > uint32_t(m_sample->data().size())) { - pa_buffer_attr newBufferAttr; - newBufferAttr = *bufferAttr; - newBufferAttr.prebuf = m_sample->data().size(); - pa_operation *op = pa_stream_set_buffer_attr(m_pulseStream, &newBufferAttr, stream_adjust_prebuffer_callback, m_ref->getRef()); - if (op) - pa_operation_unref(op); - else - qWarning("QSoundEffect(pulseaudio): failed to adjust pre-buffer attribute"); - } else { - streamReady(); - } -#endif } else { if (!pulseDaemon()->context() || pa_context_get_state(pulseDaemon()->context()) != PA_CONTEXT_READY) { connect(pulseDaemon(), SIGNAL(contextReady()), SLOT(contextReady())); @@ -963,17 +932,7 @@ void QSoundEffectPrivate::createPulseStream() } m_pulseStream = stream; -#ifndef QTM_PULSEAUDIO_DEFAULTBUFFER - pa_buffer_attr bufferAttr; - bufferAttr.tlength = qMin(m_sample->data().size(), QT_PA_STREAM_BUFFER_SIZE_MAX); - bufferAttr.maxlength = -1; - bufferAttr.minreq = bufferAttr.tlength / 2; - bufferAttr.prebuf = -1; - bufferAttr.fragsize = -1; - if (pa_stream_connect_playback(m_pulseStream, 0, &bufferAttr, -#else if (pa_stream_connect_playback(m_pulseStream, 0, 0, -#endif PA_STREAM_START_CORKED, 0, 0) < 0) { qWarning("QSoundEffect(pulseaudio): Failed to connect stream, error = %s", pa_strerror(pa_context_errno(pulseDaemon()->context()))); @@ -1048,39 +1007,6 @@ void QSoundEffectPrivate::stream_state_callback(pa_stream *s, void *userdata) } } -void QSoundEffectPrivate::stream_reset_buffer_callback(pa_stream *s, int success, void *userdata) -{ -#ifdef QT_PA_DEBUG - qDebug() << "stream_reset_buffer_callback"; -#endif - Q_UNUSED(s); - QSoundEffectRef *ref = reinterpret_cast<QSoundEffectRef*>(userdata); - QSoundEffectPrivate *self = ref->soundEffect(); - ref->release(); - if (!self) - return; - - if (!success) - qWarning("QSoundEffect(pulseaudio): failed to reset buffer attribute"); -#ifdef QT_PA_DEBUG - qDebug() << self << "stream_reset_buffer_callback"; -#endif - const pa_buffer_attr *bufferAttr = pa_stream_get_buffer_attr(self->m_pulseStream); - self->m_pulseBufferSize = bufferAttr->tlength; - if (bufferAttr->prebuf > uint32_t(self->m_sample->data().size())) { - pa_buffer_attr newBufferAttr; - newBufferAttr = *bufferAttr; - newBufferAttr.prebuf = self->m_sample->data().size(); - pa_operation *op = pa_stream_set_buffer_attr(self->m_pulseStream, &newBufferAttr, stream_adjust_prebuffer_callback, userdata); - if (op) - pa_operation_unref(op); - else - qWarning("QSoundEffect(pulseaudio): failed to adjust pre-buffer attribute"); - } else { - QMetaObject::invokeMethod(self, "streamReady", Qt::QueuedConnection); - } -} - void QSoundEffectPrivate::stream_adjust_prebuffer_callback(pa_stream *s, int success, void *userdata) { #ifdef QT_PA_DEBUG diff --git a/src/multimedia/audio/qsoundeffect_pulse_p.h b/src/multimedia/audio/qsoundeffect_pulse_p.h index 020aa031a..7be88c55a 100644 --- a/src/multimedia/audio/qsoundeffect_pulse_p.h +++ b/src/multimedia/audio/qsoundeffect_pulse_p.h @@ -148,7 +148,6 @@ private: static void stream_flush_reload_callback(pa_stream *s, int success, void *userdata); static void stream_write_done_callback(void *p); static void stream_adjust_prebuffer_callback(pa_stream *s, int success, void *userdata); - static void stream_reset_buffer_callback(pa_stream *s, int success, void *userdata); pa_stream *m_pulseStream; int m_sinkInputId; |