aboutsummaryrefslogtreecommitdiffstats
path: root/src/output/AlsaOutputPlugin.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-09-04util/Error: new error passing libraryMax Kellermann1-42/+36
Replaces GLib's GError.
2013-08-04*: use gcc.h macros instead of GLibMax Kellermann1-1/+1
2013-08-04OutputPlugin: pass config_param referenceMax Kellermann1-15/+13
2013-08-03audio_format: convert to C++Max Kellermann1-46/+46
2013-08-03gcc.h: add macro gcc_unreachable()Max Kellermann1-1/+1
2013-07-30output_api: convert to C++Max Kellermann1-1/+1
2013-04-09pcm_export: convert to C++Max Kellermann1-13/+11
2013-04-09pcm_*: move to src/pcm/Max Kellermann1-1/+1
2013-02-22mixer_plugin: convert to C++Max Kellermann1-1/+1
2013-02-04output/alsa: workaround for noise after manual song changeMax Kellermann1-0/+20
Workaround for driver bug observed on the Raspberry Pi, see code comment for details.
2013-02-04output/alsa: pre-allocate the silence bufferMax Kellermann1-14/+15
2013-02-04output/alsa: move code to alsa_write_silence()Max Kellermann1-14/+23
2013-02-04output/alsa: default "device" is an empty stringMax Kellermann1-1/+1
Fixes nullptr dereference in std::string::operator=(). Also fixes a memory leak by using config_get_block_string() instead of config_dup_block_string().
2013-01-29output/{alsa,oss}: convert to C++Max Kellermann1-72/+78
2012-04-23output/alsa: multiply writei() result with out_frame_sizeMax Kellermann1-1/+3
.. and not in_frame_size, because this relates to the frame size being sent to ALSA. pcm_export_source_size() will then turn it back into the in_frame_size scale.
2012-04-23pcm_export: add _frame_size()Max Kellermann1-3/+1
Move code from the ALSA output plugin.
2012-04-23output/alsa: fix out_frame_size formula, multiply with channelsMax Kellermann1-1/+3
The hard-coded "3 bytes" was wrong because it ignored the number of channels.
2012-03-27audio_format: remove SAMPLE_FORMAT_DSD_OVER_USBMax Kellermann1-1/+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-27output/alsa: support 32 bit DSD-over-USBMax Kellermann1-4/+15
2012-03-27pcm_export: implement 24 to 32 bit conversionMax Kellermann1-1/+1
For 32 bit DSD-over-USB support.
2012-03-27output/alsa: use pcm_export for the DSD-over-USB conversionMax Kellermann1-11/+10
2012-03-27pcm_export: support DSD to DSD-over-USB conversionMax Kellermann1-3/+5
Prepare for removing SAMPLE_FORMAT_DSD_OVER_USB.
2012-03-27output/alsa: move pcm_export_open() to callerMax Kellermann1-11/+16
Give the caller more control, prepare for DSD-over-USB improvements.
2012-03-27output/alsa: more debug outputMax Kellermann1-0/+8
2012-03-22output/alsa: add option to enable DSD over USBMax Kellermann1-1/+54
2012-03-22output/alsa: split the frame_size attributeMax Kellermann1-6/+18
Make it in_frame_size and out_frame_size, to account for packing.
2012-03-22audio_format: remove the packed S24 formatMax Kellermann1-1/+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-22output/alsa: use pcm_export to pack 24 bit samplesMax Kellermann1-15/+48
2012-03-22pcm_export: add option "pack"Max Kellermann1-1/+1
Converts padded 24 bit samples to packed 24 bit samples. Will replace the packed S24 sample format, which is not used internally.
2012-03-22output/alsa: simplify setup_format()Max Kellermann1-7/+4
2012-03-22output/alsa: don't pass audio_format to _try_format()Max Kellermann1-16/+13
Let the caller configure the audio_format object.
2012-03-22output/alsa: simplify alsa_output_try_format_both()Max Kellermann1-45/+18
Merge three functions into one and call get_bitformat() only once.
2012-03-21output/{alsa,oss}: move endian code to new library pcm_exportMax Kellermann1-31/+10
2012-03-21audio_format: remove the reverse_endian attributeMax Kellermann1-3/+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-21output/alsa: always receive host byte order samplesMax Kellermann1-3/+61
Don't use audio_format.reverse_endian.
2012-03-21output/alsa: merge alsa_data_free() into destructorMax Kellermann1-8/+3
2012-03-21audio_format: remove the format SAMPLE_FORMAT_DSD_LSBFIRSTMax Kellermann1-1/+0
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-01audio_format: add DSD sample formatMax Kellermann1-0/+2
Basic support for Direct Stream Digital. No conversion yet, and no decoder/output plugin support.
2011-10-20audio_format: basic support for floating point samplesMax Kellermann1-0/+3
Support for conversion from float to 16, 24 and 32 bit integer samples.
2011-09-19output_plugin: the plugin allocates the audio_output objectMax Kellermann1-17/+24
Pass audio_output objects around instead of void pointers. This will give some more control to the plugin, and prepares for non-blocking audio outputs.
2011-09-17output: rename plugin variablesMax Kellermann1-1/+1
Consistent naming.
2011-09-17output: per-plugin headerMax Kellermann1-0/+1
Move the "extern" declarations from output_list.c, for more type safety.
2011-09-17output: rename plugin source filesMax Kellermann1-0/+0
2011-07-20output/alsa: fix SIGFPE when alsa announces a period size of 0Max Kellermann1-0/+8
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-11-05output/alsa: dump buffer and period limitsMax Kellermann1-0/+20
2010-01-17output/alsa: support packed 24 bit samplesMax Kellermann1-0/+13
2010-01-16output/alsa: probe all sample formats in a loopMax Kellermann1-36/+34
More code simplification. Probe all formats, no matter which input format.
2010-01-16output/alsa: merged code into alsa_output_try_format()Max Kellermann1-51/+71
Remove the debug log messages, because they are duplicate (see ao_open() in output_thread.c).