aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm/PcmConvert.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-11-30pcm/PcmResampler: convert to abstract interfaceMax Kellermann1-24/+38
The PcmResampler interface is implemented by the two classes FallbackPcmResampler and LibsampleratePcmResampler. This prepares for adding more resampler libraries.
2013-11-30pcm/PcmConvert: move code to new class GluePcmResamplerMax Kellermann1-122/+12
2013-11-30pcm/PcmConvert: move code to new class PcmChannelsConverterMax Kellermann1-63/+22
2013-11-30pcm/PcmConvert: move code to new class PcmFormatConverterMax Kellermann1-59/+49
2013-11-30pcm/PcmConvert: add AudioFormat parametersMax Kellermann1-42/+41
Don't use src_format. In the middle of Convert(), the current AudioFormat has already been modified, it's now something in between src_format and dest_format. This simplifies keeping track of what remains to be done.
2013-11-29pcm/PcmConvert: use struct ConstBuffer internallyMax Kellermann1-46/+31
2013-11-29pcm/PcmDsd: use struct ConstBufferMax Kellermann1-11/+12
2013-11-29PcmConvert: add pcm_convert_global_init()Max Kellermann1-0/+6
Wrapper for pcm_resample_global_init(), just in case other PCM libraries need initialization, too.
2013-11-28PcmConvert: fix src_format corruption when converting from DSDMax Kellermann1-6/+5
Method PcmConvert::Convert() modifies the src_format variable. This used to be a parameter, however commit d2679f59c made it an attribute instead. The modification to src_format persisted, and the next call would return garbage.
2013-11-13PcmConvert: add methods Open(), Close()Max Kellermann1-24/+44
Replaces Reset() and eliminates the AudioFormat parameters from the Convert() method.
2013-10-30*: update copyright year to 2013Max Kellermann1-1/+1
2013-10-28*: use nullptr instead of NULLMax Kellermann1-26/+26
2013-10-16pcm_pack: convert to C++Max Kellermann1-1/+0
2013-10-15Client, ...: remove unnecessary glib.h includeMax Kellermann1-2/+0
2013-10-02Log: new logging library APIMax Kellermann1-3/+0
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-09-04util/Error: new error passing libraryMax Kellermann1-50/+54
Replaces GLib's GError.
2013-08-03audio_format: convert to C++Max Kellermann1-71/+71
2013-07-30pcm_buffer: convert to C++Max Kellermann1-12/+8
2013-07-30pcm_resample: convert to C++Max Kellermann1-26/+18
2013-07-30PcmConvert: don't memset() in the constructorMax Kellermann1-4/+2
This destroys data inside PcmDsd and other attributes. It was once necessary, but is not anymore.
2013-07-29pcm_dsd: convert to C++Max Kellermann1-7/+4
2013-04-09pcm_*: move to src/pcm/Max Kellermann1-0/+0
2013-01-31PcmDither: convert struct to a classMax Kellermann1-2/+1
2013-01-31pcm_*: convert to C++Max Kellermann1-6/+2
2013-01-31pcm_convert: convert to C++Max Kellermann1-86/+84
2013-01-29require GLib 2.24Max Kellermann1-1/+0
2012-10-02pcm_channels: support floating point samplesMax Kellermann1-62/+17
2012-03-27audio_format: remove SAMPLE_FORMAT_DSD_OVER_USBMax Kellermann1-36/+0
DSD-over-USB should not be a MPD core format, because it is not a "natural" format; it is just a temnporary over-the-wire format. This format has been implemented in pcm_export, and does not need to be supported by pcm_convert.
2012-03-22pcm_dsd: implement DSD to 24 bit USB conversionMax Kellermann1-0/+35
Implements the dCS suggested standard: http://www.dcsltd.co.uk/page/assets/DSDoverUSB.pdf
2012-03-22audio_format: remove the packed S24 formatMax Kellermann1-48/+0
For simplicity, the MPD core should not have to deal with packing. It is rarely used, and those plugins that need it should use the pcm_export library instead.
2012-03-21audio_format: remove the reverse_endian attributeMax Kellermann1-40/+1
Eliminate support for reverse endian samples from the MPD core. This moves a lot of complexity to the plugins that really need it (only ALSA and CDIO currently).
2012-03-21audio_format: remove the format SAMPLE_FORMAT_DSD_LSBFIRSTMax Kellermann1-6/+2
This format is unused since the DSDIFF decoder plugin now reverses the bit order.
2012-03-19audio_format: basic support for DSD-over-USBMax Kellermann1-0/+1
2012-03-01pcm_convert: support the DSD formatMax Kellermann1-0/+27
2012-03-01audio_format: add DSD sample formatMax Kellermann1-0/+2
Basic support for Direct Stream Digital. No conversion yet, and no decoder/output plugin support.
2012-03-01pcm_convert: add method _reset()Max Kellermann1-0/+6
Resets the libsamplerate state. Not being used yet.
2011-10-20pcm_format: implement conversion to floatMax Kellermann1-1/+68
2011-10-20pcm_convert: add function pcm_convert_channels()Max Kellermann1-0/+50
For future internal use.
2011-10-10pcm_pack: pass an "end" pointer instead of a sample countMax Kellermann1-1/+2
2011-10-10pcm_convert: support reverse endian inputMax Kellermann1-0/+14
2011-10-08pcm_convert: fix typo in error messageMax Kellermann1-1/+1
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-01-16audio_format: support packed 24 bit samplesMax Kellermann1-0/+48
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-02audio_format: changed "bits" to "enum sample_format"Max Kellermann1-18/+18
This patch prepares support for floating point samples (and probably other formats). It changes the meaning of the "bits" attribute from a bit count to a symbolic value.
2009-11-12include config.h in all sourcesMax Kellermann1-0/+1
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
2009-07-23pcm_convert: use GError for error handlingMax Kellermann1-32/+77
Don't abort the whole MPD process when the conversion fails. This has been a denial-of-service attack vector for years.
2009-07-22pcm_byteswap: converted NULL checks to assertionsMax Kellermann1-6/+3
It is illegal to pass a NULL buffer to pcm_byteswap_X(). The result of this is that pcm_byteswap_X() never returns NULL.
2009-07-22pcm_convert: added pcm_convert_state.byteswap_bufferMax Kellermann1-3/+5
Currently, byteswapping is performed on the format_buffer. This can go wrong when this buffer is used twice during one run. Add a separate buffer for swapping the byte order.
2009-07-19Add reverse_endian field to struct audio_format and handle conversionDavid Woodhouse1-0/+19