aboutsummaryrefslogtreecommitdiffstats
path: root/src/output/alsa_output_plugin.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* output/alsa: multiply writei() result with out_frame_sizeMax Kellermann2012-04-231-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.
* pcm_export: add _frame_size()Max Kellermann2012-04-231-3/+1
| | | | Move code from the ALSA output plugin.
* output/alsa: fix out_frame_size formula, multiply with channelsMax Kellermann2012-04-231-1/+3
| | | | | The hard-coded "3 bytes" was wrong because it ignored the number of channels.
* audio_format: remove SAMPLE_FORMAT_DSD_OVER_USBMax Kellermann2012-03-271-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.
* output/alsa: support 32 bit DSD-over-USBMax Kellermann2012-03-271-4/+15
|
* pcm_export: implement 24 to 32 bit conversionMax Kellermann2012-03-271-1/+1
| | | | For 32 bit DSD-over-USB support.
* output/alsa: use pcm_export for the DSD-over-USB conversionMax Kellermann2012-03-271-11/+10
|
* pcm_export: support DSD to DSD-over-USB conversionMax Kellermann2012-03-271-3/+5
| | | | Prepare for removing SAMPLE_FORMAT_DSD_OVER_USB.
* output/alsa: move pcm_export_open() to callerMax Kellermann2012-03-271-11/+16
| | | | Give the caller more control, prepare for DSD-over-USB improvements.
* output/alsa: more debug outputMax Kellermann2012-03-271-0/+8
|
* output/alsa: add option to enable DSD over USBMax Kellermann2012-03-221-1/+54
|
* output/alsa: split the frame_size attributeMax Kellermann2012-03-221-6/+18
| | | | Make it in_frame_size and out_frame_size, to account for packing.
* audio_format: remove the packed S24 formatMax Kellermann2012-03-221-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.
* output/alsa: use pcm_export to pack 24 bit samplesMax Kellermann2012-03-221-15/+48
|
* pcm_export: add option "pack"Max Kellermann2012-03-221-1/+1
| | | | | Converts padded 24 bit samples to packed 24 bit samples. Will replace the packed S24 sample format, which is not used internally.
* output/alsa: simplify setup_format()Max Kellermann2012-03-221-7/+4
|
* output/alsa: don't pass audio_format to _try_format()Max Kellermann2012-03-221-16/+13
| | | | Let the caller configure the audio_format object.
* output/alsa: simplify alsa_output_try_format_both()Max Kellermann2012-03-221-45/+18
| | | | Merge three functions into one and call get_bitformat() only once.
* output/{alsa,oss}: move endian code to new library pcm_exportMax Kellermann2012-03-211-31/+10
|
* audio_format: remove the reverse_endian attributeMax Kellermann2012-03-211-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).
* output/alsa: always receive host byte order samplesMax Kellermann2012-03-211-3/+61
| | | | Don't use audio_format.reverse_endian.
* output/alsa: merge alsa_data_free() into destructorMax Kellermann2012-03-211-8/+3
|
* audio_format: remove the format SAMPLE_FORMAT_DSD_LSBFIRSTMax Kellermann2012-03-211-1/+0
| | | | | This format is unused since the DSDIFF decoder plugin now reverses the bit order.
* audio_format: basic support for DSD-over-USBMax Kellermann2012-03-191-0/+1
|
* audio_format: add DSD sample formatMax Kellermann2012-03-011-0/+2
| | | | | Basic support for Direct Stream Digital. No conversion yet, and no decoder/output plugin support.
* audio_format: basic support for floating point samplesMax Kellermann2011-10-201-0/+3
| | | | | Support for conversion from float to 16, 24 and 32 bit integer samples.
* Merge branch 'v0.16.x'Max Kellermann2011-10-081-3/+6
|
* output_plugin: the plugin allocates the audio_output objectMax Kellermann2011-09-191-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.
* output: rename plugin variablesMax Kellermann2011-09-171-1/+1
| | | | Consistent naming.
* output: per-plugin headerMax Kellermann2011-09-171-0/+1
| | | | | Move the "extern" declarations from output_list.c, for more type safety.
* output: rename plugin source filesMax Kellermann2011-09-171-0/+683