Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | pcm_export: implement 24 to 32 bit conversion | Max Kellermann | 2012-03-27 | 2 | -2/+2 | |
| | | | | | | | | For 32 bit DSD-over-USB support. | |||||
* | | output/alsa: use pcm_export for the DSD-over-USB conversion | Max Kellermann | 2012-03-27 | 1 | -11/+10 | |
| | | ||||||
* | | pcm_export: support DSD to DSD-over-USB conversion | Max Kellermann | 2012-03-27 | 2 | -6/+12 | |
| | | | | | | | | Prepare for removing SAMPLE_FORMAT_DSD_OVER_USB. | |||||
* | | output/alsa: move pcm_export_open() to caller | Max Kellermann | 2012-03-27 | 1 | -11/+16 | |
| | | | | | | | | Give the caller more control, prepare for DSD-over-USB improvements. | |||||
* | | output/alsa: more debug output | Max Kellermann | 2012-03-27 | 1 | -0/+8 | |
| | | ||||||
* | | output/alsa: add option to enable DSD over USB | Max Kellermann | 2012-03-22 | 1 | -1/+54 | |
| | | ||||||
* | | output/alsa: split the frame_size attribute | Max Kellermann | 2012-03-22 | 1 | -6/+18 | |
| | | | | | | | | Make it in_frame_size and out_frame_size, to account for packing. | |||||
* | | audio_format: remove the packed S24 format | Max Kellermann | 2012-03-22 | 4 | -7/+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 samples | Max Kellermann | 2012-03-22 | 1 | -15/+48 | |
| | | ||||||
* | | output/oss: use pcm_export to pack 24 bit samples | Max Kellermann | 2012-03-22 | 1 | -10/+15 | |
| | | ||||||
* | | pcm_export: add option "pack" | Max Kellermann | 2012-03-22 | 2 | -1/+2 | |
| | | | | | | | | | | Converts padded 24 bit samples to packed 24 bit samples. Will replace the packed S24 sample format, which is not used internally. | |||||
* | | output/oss: remember the real OSS format | Max Kellermann | 2012-03-22 | 1 | -5/+13 | |
| | | | | | | | | | | Improving oss_reopen() by using the very same value that was used initially. | |||||
* | | output/alsa: simplify setup_format() | Max Kellermann | 2012-03-22 | 1 | -7/+4 | |
| | | ||||||
* | | output/alsa: don't pass audio_format to _try_format() | Max Kellermann | 2012-03-22 | 1 | -16/+13 | |
| | | | | | | | | Let the caller configure the audio_format object. | |||||
* | | output/alsa: simplify alsa_output_try_format_both() | Max Kellermann | 2012-03-22 | 1 | -45/+18 | |
| | | | | | | | | Merge three functions into one and call get_bitformat() only once. | |||||
* | | output/oss: move code to oss_probe_sample_format() | Max Kellermann | 2012-03-21 | 1 | -34/+59 | |
| | | ||||||
* | | output/{alsa,oss}: move endian code to new library pcm_export | Max Kellermann | 2012-03-21 | 2 | -61/+23 | |
| | | ||||||
* | | audio_format: remove the reverse_endian attribute | Max Kellermann | 2012-03-21 | 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). | |||||
* | | output/oss: always receive host byte order samples | Max Kellermann | 2012-03-21 | 1 | -7/+68 | |
| | | | | | | | | Don't use audio_format.reverse_endian. | |||||
* | | output/alsa: always receive host byte order samples | Max Kellermann | 2012-03-21 | 1 | -3/+61 | |
| | | | | | | | | Don't use audio_format.reverse_endian. | |||||
* | | output/alsa: merge alsa_data_free() into destructor | Max Kellermann | 2012-03-21 | 1 | -8/+3 | |
| | | ||||||
* | | Fix the build on OSX | Rich Healey | 2012-03-21 | 1 | -0/+1 | |
| | | ||||||
* | | audio_format: remove the format SAMPLE_FORMAT_DSD_LSBFIRST | Max Kellermann | 2012-03-21 | 2 | -2/+0 | |
| | | | | | | | | | | This format is unused since the DSDIFF decoder plugin now reverses the bit order. | |||||
* | | audio_format: basic support for DSD-over-USB | Max Kellermann | 2012-03-19 | 2 | -0/+2 | |
| | | ||||||
* | | use g_strerror() instead of strerror() | Max Kellermann | 2012-03-06 | 4 | -19/+19 | |
| | | | | | | | | Make sure we get a UTF-8 encoded string. | |||||
* | | raop_output: fix raop_session inbalance | Kurt Van Dijck | 2012-03-01 | 1 | -2/+8 | |
| | | | | | | | | | | | | | | | | raop_session_free must be called from raop_output_finish, not from raop_output_remove. In raop_output_remove, do close the ntp_server & control port. Signed-off-by: Kurt Van Dijck <kurt.van.dijck@skynet.be> | |||||
* | | audio_format: add DSD sample format | Max Kellermann | 2012-03-01 | 2 | -0/+4 | |
| | | | | | | | | | | Basic support for Direct Stream Digital. No conversion yet, and no decoder/output plugin support. | |||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2012-02-13 | 1 | -5/+1 | |
|\| | | | | | | | | | | | | | | | Conflicts: NEWS configure.ac src/decoder/ffmpeg_decoder_plugin.c test/read_tags.c | |||||
| * | output/winmm: remove pointless NULL check | Max Kellermann | 2012-02-13 | 1 | -5/+1 | |
| | | | | | | | | pcm_buffer_get() cannot ever return NULL. | |||||
* | | output/osx: fix memory leak after AudioUnitSetProperty() failure | Max Kellermann | 2012-01-04 | 1 | -0/+1 | |
| | | ||||||
* | | output/osx: implement 32 bit playback | Max Kellermann | 2011-12-24 | 1 | -2/+6 | |
| | | ||||||
* | | output/osx: allocate the device in enable() | Max Kellermann | 2011-12-24 | 1 | -102/+116 | |
| | | | | | | | | | | Keep the device open as long as the output is enabled, but initialize it only when playback starts. | |||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2011-12-24 | 1 | -6/+3 | |
|\| | ||||||
| * | output/osx: clear render buffer when there's not enough data | Max Kellermann | 2011-12-24 | 1 | -2/+3 | |
| | | | | | | | | | | | | When we don't have enough data, generate some silence, hoping the input buffer will fill soon. Reducing the render buffer size is not legal. | |||||
| * | output/osx: remove sleep call from render callback | Max Kellermann | 2011-12-24 | 1 | -4/+0 | |
| | | | | | | | | | | Blocking inside the render callback is forbidden, and this sleep call didn't make any sense. | |||||
* | | output/openal: improve synchronization | Max Kellermann | 2011-12-13 | 1 | -13/+16 | |
| | | | | | | | | | | | | | | | | | | This plugin's use of the "Timer" library was wrong; it added the same amount of virtual data in every iteration in _play(), but did not actually play something. This created an artificial, but useless, delay. This patch implements the method _cancel(), and implements hard-coded sleep values. This is only slightly better, but does not attempt to look sane. | |||||
* | | output/openal: move code to inline functions | Max Kellermann | 2011-12-13 | 1 | -9/+25 | |
| | | ||||||
* | | output/openal: use alGetSourcei(AL_BUFFER) to force-unqueue buffers | Max Kellermann | 2011-12-13 | 1 | -14/+4 | |
| | | | | | | | | | | | | | | | | The implementation of cancel() did not work well: you cannot use alSourceUnqueueBuffers() to unqueue queued buffers, and our function openal_unqueue_buffers() left the OpenAL library in a rather undefined state; nothing was supposed to be queued, but the "filled" variable was not reset. | |||||
* | | output/openal: make attribute "filled" unsigned | Max Kellermann | 2011-12-13 | 1 | -1/+1 | |
| | | ||||||
* | | output/openal: remove bogus format check from _open() | Max Kellermann | 2011-12-13 | 1 | -8/+0 | |
| | | | | | | | | The expression "!format" does not make sense, and cannot occur. | |||||
* | | output/fifo: implement output_plugin method delay() | Max Kellermann | 2011-12-13 | 1 | -3/+11 | |
| | | ||||||
* | | output/null: implement output_plugin method delay() | Max Kellermann | 2011-12-13 | 1 | -3/+11 | |
| | | ||||||
* | | output/null: don't initialize the "timer" attribute in _init() | Max Kellermann | 2011-12-13 | 1 | -6/+1 | |
| | | | | | | | | Unnecessary overhead. | |||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2011-12-13 | 1 | -10/+4 | |
|\| | | | | | | | | | | | Conflicts: NEWS configure.ac | |||||
| * | output/openal: force 16 bit playback, as 8 bit doesn't work | Max Kellermann | 2011-12-13 | 1 | -10/+4 | |
| | | | | | | | | | | | | The OpenAL specification says that AL_FORMAT_MONO8 and AL_FORMAT_STEREO8 expect unsigned 8 bit samples, but MPD uses unsigned samples. | |||||
* | | winmm_output_plugin: fail if wrong device specified instead of using fallback. | Denis Krjuchkov | 2011-12-13 | 1 | -12/+29 | |
| | | | | | | | | | | Silently choosing default is misleading and can cause hours of investigation. It's better to fail immediately telling user what is wrong with config. | |||||
* | | audio_format: basic support for floating point samples | Max Kellermann | 2011-10-20 | 2 | -0/+4 | |
| | | | | | | | | | | Support for conversion from float to 16, 24 and 32 bit integer samples. | |||||
* | | output/roar: move code to _use_audio_format() | Max Kellermann | 2011-10-08 | 1 | -27/+38 | |
| | | ||||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2011-10-08 | 2 | -12/+15 | |
|\| | ||||||
| * | output/openal: auto-fallback to mono if channel count is unsupported | Max Kellermann | 2011-10-08 | 1 | -9/+9 | |
| | | | | | | | | .. instead of failing playback completely. |