diff --git a/src/pcm/Volume.cxx b/src/pcm/Volume.cxx index 64394a202..b12d8fd41 100644 --- a/src/pcm/Volume.cxx +++ b/src/pcm/Volume.cxx @@ -103,7 +103,6 @@ PcmVolume::Open(SampleFormat _format, Error &error) switch (_format) { case SampleFormat::UNDEFINED: - case SampleFormat::DSD: error.Format(pcm_domain, "Software volume for %s is not implemented", sample_format_to_string(_format)); @@ -115,6 +114,10 @@ PcmVolume::Open(SampleFormat _format, Error &error) case SampleFormat::S32: case SampleFormat::FLOAT: break; + + case SampleFormat::DSD: + // TODO: implement this; currently, it's a no-op + break; } format = _format; @@ -139,7 +142,6 @@ PcmVolume::Apply(ConstBuffer src) switch (format) { case SampleFormat::UNDEFINED: - case SampleFormat::DSD: assert(false); gcc_unreachable(); @@ -177,6 +179,10 @@ PcmVolume::Apply(ConstBuffer src) src.size / sizeof(float), pcm_volume_to_float(volume)); break; + + case SampleFormat::DSD: + // TODO: implement this; currently, it's a no-op + return src; } return { data, src.size };