diff options
-rw-r--r-- | Makefile.am | 8 | ||||
-rw-r--r-- | src/pcm/PcmConvert.cxx | 4 | ||||
-rw-r--r-- | src/pcm/PcmConvert.hxx | 8 |
3 files changed, 17 insertions, 3 deletions
diff --git a/Makefile.am b/Makefile.am index f07cca401..65e500c5e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -464,8 +464,6 @@ libpcm_a_SOURCES = \ src/pcm/PcmBuffer.cxx src/pcm/PcmBuffer.hxx \ src/pcm/PcmExport.cxx src/pcm/PcmExport.hxx \ src/pcm/PcmConvert.cxx src/pcm/PcmConvert.hxx \ - src/pcm/dsd2pcm/dsd2pcm.c src/pcm/dsd2pcm/dsd2pcm.h \ - src/pcm/PcmDsd.cxx src/pcm/PcmDsd.hxx \ src/pcm/PcmDop.cxx src/pcm/PcmDop.hxx \ src/pcm/Volume.cxx src/pcm/Volume.hxx \ src/pcm/PcmMix.cxx src/pcm/PcmMix.hxx \ @@ -493,6 +491,12 @@ PCM_LIBS = \ $(SOXR_LIBS) \ $(SAMPLERATE_LIBS) +if ENABLE_DSD +libpcm_a_SOURCES += \ + src/pcm/PcmDsd.cxx src/pcm/PcmDsd.hxx \ + src/pcm/dsd2pcm/dsd2pcm.c src/pcm/dsd2pcm/dsd2pcm.h +endif + if HAVE_LIBSAMPLERATE libpcm_a_SOURCES += \ src/pcm/LibsamplerateResampler.cxx src/pcm/LibsamplerateResampler.hxx diff --git a/src/pcm/PcmConvert.cxx b/src/pcm/PcmConvert.cxx index bbc5fc638..2b7cfe7f0 100644 --- a/src/pcm/PcmConvert.cxx +++ b/src/pcm/PcmConvert.cxx @@ -109,7 +109,9 @@ PcmConvert::Close() if (enable_resampler) resampler.Close(); +#ifdef ENABLE_DSD dsd.Reset(); +#endif #ifndef NDEBUG src_format.Clear(); @@ -120,6 +122,7 @@ PcmConvert::Close() ConstBuffer<void> PcmConvert::Convert(ConstBuffer<void> buffer, Error &error) { +#ifdef ENABLE_DSD if (src_format.format == SampleFormat::DSD) { auto s = ConstBuffer<uint8_t>::FromVoid(buffer); auto d = dsd.ToFloat(src_format.channels, s); @@ -131,6 +134,7 @@ PcmConvert::Convert(ConstBuffer<void> buffer, Error &error) buffer = d.ToVoid(); } +#endif if (enable_resampler) { buffer = resampler.Resample(buffer, error); diff --git a/src/pcm/PcmConvert.hxx b/src/pcm/PcmConvert.hxx index 9d63e07c9..26ab02923 100644 --- a/src/pcm/PcmConvert.hxx +++ b/src/pcm/PcmConvert.hxx @@ -20,13 +20,17 @@ #ifndef PCM_CONVERT_HXX #define PCM_CONVERT_HXX -#include "PcmDsd.hxx" +#include "check.h" #include "PcmBuffer.hxx" #include "FormatConverter.hxx" #include "ChannelsConverter.hxx" #include "GlueResampler.hxx" #include "AudioFormat.hxx" +#ifdef ENABLE_DSD +#include "PcmDsd.hxx" +#endif + #include <stddef.h> template<typename T> struct ConstBuffer; @@ -39,7 +43,9 @@ class Domain; * conversions. */ class PcmConvert { +#ifdef ENABLE_DSD PcmDsd dsd; +#endif GluePcmResampler resampler; PcmFormatConverter format_converter; |