aboutsummaryrefslogtreecommitdiffstats
path: root/src/output/AlsaOutputPlugin.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-08-31output/alsa: fix endless loop at end of file in dsd_usb modeMax Kellermann1-0/+9
2014-08-31output/{alsa,oss}: add assertionsMax Kellermann1-0/+2
2014-03-02output/alsa: remove the obsolete Raspberry Pi workaroundMax Kellermann1-36/+0
Has been superseded by the previous commit.
2014-03-02output/alsa: call snd_pcm_prepare() after snd_pcm_drop()Max Kellermann1-0/+25
Don't wait for an optimistic write to fail. This is an improved workaround for the infamous Raspberry Pi bug (see commit af991765). It works much better and comes without the negative side effects. The old workaround is now obsolete.
2013-11-04output/alsa: avoid endless loop in Raspberry Pi workaroundMax Kellermann1-1/+17
See code comment.
2013-10-28*: use nullptr instead of NULLMax Kellermann1-7/+7
2013-10-02Log: new logging library APIMax Kellermann1-25/+33
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
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.