aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Output/pulseaudio
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-01-16 15:33:17 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-01-16 15:33:17 +0000
commit435f1da1de18bafe57e43e47fd8a6fc69fd8bab7 (patch)
treee332293971b3b3883685b79c62bcd50bf2f49c12 /src/plugins/Output/pulseaudio
parent2fa169a585994ceb40db55405f46783d06820947 (diff)
downloadqmmp-435f1da1de18bafe57e43e47fd8a6fc69fd8bab7.tar.gz
qmmp-435f1da1de18bafe57e43e47fd8a6fc69fd8bab7.tar.bz2
qmmp-435f1da1de18bafe57e43e47fd8a6fc69fd8bab7.zip
updated audio engine
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1503 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Output/pulseaudio')
-rw-r--r--src/plugins/Output/pulseaudio/CMakeLists.txt2
-rw-r--r--src/plugins/Output/pulseaudio/outputpulseaudio.cpp20
-rw-r--r--src/plugins/Output/pulseaudio/outputpulseaudio.h4
3 files changed, 15 insertions, 11 deletions
diff --git a/src/plugins/Output/pulseaudio/CMakeLists.txt b/src/plugins/Output/pulseaudio/CMakeLists.txt
index c3072e4d5..c1501e08d 100644
--- a/src/plugins/Output/pulseaudio/CMakeLists.txt
+++ b/src/plugins/Output/pulseaudio/CMakeLists.txt
@@ -26,7 +26,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../)
link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmp)
# pulseaudio
-pkg_check_modules(PULSE libpulse-simple)
+pkg_check_modules(PULSE libpulse-simple>=0.9.15)
include_directories(${PULSE_INCLUDE_DIRS})
link_directories(${PULSE_LIBRARY_DIRS})
diff --git a/src/plugins/Output/pulseaudio/outputpulseaudio.cpp b/src/plugins/Output/pulseaudio/outputpulseaudio.cpp
index e122e0c64..1765444fd 100644
--- a/src/plugins/Output/pulseaudio/outputpulseaudio.cpp
+++ b/src/plugins/Output/pulseaudio/outputpulseaudio.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2008 by Ilya Kotov *
+ * Copyright (C) 2006-2010 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -46,19 +46,24 @@ OutputPulseAudio::~OutputPulseAudio()
uninitialize();
}
-void OutputPulseAudio::configure(quint32 freq, int chan, int prec)
+void OutputPulseAudio::configure(quint32 freq, int chan, Qmmp::AudioFormat format)
{
pa_sample_spec ss;
- switch (prec)
+ switch (format)
{
- case 8:
+ case Qmmp::PCM_S8:
ss.format = PA_SAMPLE_U8;
break;
- case 32:
+ case Qmmp::PCM_S16LE:
+ ss.format = PA_SAMPLE_S16LE;
+ break;
+ case Qmmp::PCM_S24LE:
+ ss.format = PA_SAMPLE_S24_32LE;
+ break;
+ case Qmmp::PCM_S32LE:
ss.format = PA_SAMPLE_S32LE;
break;
- case 16:
default:
ss.format = PA_SAMPLE_S16LE;
}
@@ -81,8 +86,7 @@ void OutputPulseAudio::configure(quint32 freq, int chan, int prec)
qWarning("OutputPulseAudio: pa_simple_new() failed: %s", pa_strerror(error));
return;
}
- qDebug("OutputPulseAudio: frequency=%d, channels=%d, bits=%d", uint(freq), chan, prec);
- Output::configure(freq, chan, prec);
+ Output::configure(freq, chan, format);
}
bool OutputPulseAudio::initialize()
diff --git a/src/plugins/Output/pulseaudio/outputpulseaudio.h b/src/plugins/Output/pulseaudio/outputpulseaudio.h
index 5cc0bd93f..1a85e557a 100644
--- a/src/plugins/Output/pulseaudio/outputpulseaudio.h
+++ b/src/plugins/Output/pulseaudio/outputpulseaudio.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2008 by Ilya Kotov *
+ * Copyright (C) 2006-2010 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -40,7 +40,7 @@ public:
~OutputPulseAudio();
bool initialize();
- void configure(quint32, int, int);
+ void configure(quint32, int, Qmmp::AudioFormat format);
qint64 latency();
private: