Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2012-04-23 | output/alsa: multiply writei() result with out_frame_size | Max Kellermann | 1 | -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-23 | pcm_export: add _frame_size() | Max Kellermann | 1 | -3/+1 | |
Move code from the ALSA output plugin. | |||||
2012-04-23 | output/alsa: fix out_frame_size formula, multiply with channels | Max Kellermann | 1 | -1/+3 | |
The hard-coded "3 bytes" was wrong because it ignored the number of channels. | |||||
2012-03-27 | audio_format: remove SAMPLE_FORMAT_DSD_OVER_USB | Max Kellermann | 1 | -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-27 | output/alsa: support 32 bit DSD-over-USB | Max Kellermann | 1 | -4/+15 | |
2012-03-27 | pcm_export: implement 24 to 32 bit conversion | Max Kellermann | 1 | -1/+1 | |
For 32 bit DSD-over-USB support. | |||||
2012-03-27 | output/alsa: use pcm_export for the DSD-over-USB conversion | Max Kellermann | 1 | -11/+10 | |
2012-03-27 | pcm_export: support DSD to DSD-over-USB conversion | Max Kellermann | 1 | -3/+5 | |
Prepare for removing SAMPLE_FORMAT_DSD_OVER_USB. | |||||
2012-03-27 | output/alsa: move pcm_export_open() to caller | Max Kellermann | 1 | -11/+16 | |
Give the caller more control, prepare for DSD-over-USB improvements. | |||||
2012-03-27 | output/alsa: more debug output | Max Kellermann | 1 | -0/+8 | |
2012-03-22 | output/alsa: add option to enable DSD over USB | Max Kellermann | 1 | -1/+54 | |
2012-03-22 | output/alsa: split the frame_size attribute | Max Kellermann | 1 | -6/+18 | |
Make it in_frame_size and out_frame_size, to account for packing. | |||||
2012-03-22 | audio_format: remove the packed S24 format | Max Kellermann | 1 | -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-22 | output/alsa: use pcm_export to pack 24 bit samples | Max Kellermann | 1 | -15/+48 | |
2012-03-22 | pcm_export: add option "pack" | Max Kellermann | 1 | -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-22 | output/alsa: simplify setup_format() | Max Kellermann | 1 | -7/+4 | |
2012-03-22 | output/alsa: don't pass audio_format to _try_format() | Max Kellermann | 1 | -16/+13 | |
Let the caller configure the audio_format object. | |||||
2012-03-22 | output/alsa: simplify alsa_output_try_format_both() | Max Kellermann | 1 | -45/+18 | |
Merge three functions into one and call get_bitformat() only once. | |||||
2012-03-21 | output/{alsa,oss}: move endian code to new library pcm_export | Max Kellermann | 1 | -31/+10 | |
2012-03-21 | audio_format: remove the reverse_endian attribute | Max Kellermann | 1 | -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-21 | output/alsa: always receive host byte order samples | Max Kellermann | 1 | -3/+61 | |
Don't use audio_format.reverse_endian. | |||||
2012-03-21 | output/alsa: merge alsa_data_free() into destructor | Max Kellermann | 1 | -8/+3 | |
2012-03-21 | audio_format: remove the format SAMPLE_FORMAT_DSD_LSBFIRST | Max Kellermann | 1 | -1/+0 | |
This format is unused since the DSDIFF decoder plugin now reverses the bit order. | |||||
2012-03-19 | audio_format: basic support for DSD-over-USB | Max Kellermann | 1 | -0/+1 | |
2012-03-01 | audio_format: add DSD sample format | Max Kellermann | 1 | -0/+2 | |
Basic support for Direct Stream Digital. No conversion yet, and no decoder/output plugin support. | |||||
2011-10-20 | audio_format: basic support for floating point samples | Max Kellermann | 1 | -0/+3 | |
Support for conversion from float to 16, 24 and 32 bit integer samples. | |||||
2011-09-19 | output_plugin: the plugin allocates the audio_output object | Max Kellermann | 1 | -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-17 | output: rename plugin variables | Max Kellermann | 1 | -1/+1 | |
Consistent naming. | |||||
2011-09-17 | output: per-plugin header | Max Kellermann | 1 | -0/+1 | |
Move the "extern" declarations from output_list.c, for more type safety. | |||||
2011-09-17 | output: rename plugin source files | Max Kellermann | 1 | -0/+0 | |
2011-07-20 | output/alsa: fix SIGFPE when alsa announces a period size of 0 | Max Kellermann | 1 | -0/+8 | |
2011-01-29 | copyright year 2011 | Max Kellermann | 1 | -1/+1 | |
2010-11-05 | output/alsa: dump buffer and period limits | Max Kellermann | 1 | -0/+20 | |
2010-01-17 | output/alsa: support packed 24 bit samples | Max Kellermann | 1 | -0/+13 | |
2010-01-16 | output/alsa: probe all sample formats in a loop | Max Kellermann | 1 | -36/+34 | |
More code simplification. Probe all formats, no matter which input format. | |||||
2010-01-16 | output/alsa: merged code into alsa_output_try_format() | Max Kellermann | 1 | -51/+71 | |
Remove the debug log messages, because they are duplicate (see ao_open() in output_thread.c). | |||||
2010-01-16 | output/alsa: pass sample_format to get_bitformat() | Max Kellermann | 1 | -3/+3 | |
2010-01-16 | output/alsa: moved code to alsa_output_setup_format() | Max Kellermann | 1 | -72/+80 | |
2009-12-31 | Update copyright notices. | Avuton Olrich | 1 | -1/+1 | |
2009-12-02 | audio_format: changed "bits" to "enum sample_format" | Max Kellermann | 1 | -29/+44 | |
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-12 | include config.h in all sources | Max Kellermann | 1 | -1/+2 | |
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-11-09 | output/alsa: fill period buffer with silence before draining | Max Kellermann | 1 | -3/+47 | |
ALSA passes full period buffers to the hardware. If an application doesn't finish writing a period, libasound will nonetheless send the partial buffer (with undefined trailing data). This causes noise at the end of playback. This patch attempts to track the current position within the period buffer, and generates silence at the end, before calling snd_pcm_drain(). | |||||
2009-11-02 | alsa_plugin.c: workaround snd_pcm_drain bug | Jeffrey Middleton | 1 | -1/+2 | |
Reintroduce a fix from commit 52a0653 (Warren Dukes): "don't call snd_pcm_drain unless we're already in the RUNNING state". This prevents ALSA with dmix from sometimes hanging when snd_pcm_drain is called, e.g. when moving from one song to the next (as in mantis issue 2634). | |||||
2009-10-29 | output_plugin: added method "drain" | Max Kellermann | 1 | -3/+9 | |
drain() is the opposite of cancel(): it waits until all data in the buffer has finished playing. Instead of implicitly draining in the close() method like the ALSA plugin has been doing it forever, let the output thread decide whether to drain or to cancel. | |||||
2009-10-29 | output/alsa: don't recover on CANCEL | Max Kellermann | 1 | -1/+1 | |
The recovery is for nothing if we get CLOSE afterwards. Let's not recover in the cancel() method, and let the next play() call sort it out. | |||||
2009-10-20 | mixer/{oss,alsa}: renamed the mixer source files | Max Kellermann | 1 | -1/+2 | |
2009-07-19 | Support wrong-endian ALSA output | David Woodhouse | 1 | -2/+50 | |
2009-04-21 | alsa_output: don't use atexit() to clean up the ALSA library | Max Kellermann | 1 | -7/+3 | |
Call snd_config_update_free_global() manually in our finish() method, don't use atexit(). | |||||
2009-03-26 | output_plugin: replaced output_plugin.get_mixer() with mixer_plugin | Max Kellermann | 1 | -19/+1 | |
The mixer core library is now responsible for creating and managing the mixer object. This removes duplicated code from the output plugins. | |||||
2009-03-14 | mixer_api: moved mixer_plugin imports to mixer_list.h | Max Kellermann | 1 | -1/+1 | |
This patch allows the output plugins to import only mixer_list.h, instead of the full mixer_api.h (which would expose internal structures). |