aboutsummaryrefslogtreecommitdiffstats
path: root/src/output (follow)
Commit message (Collapse)AuthorAgeFilesLines
* pcm_export: implement 24 to 32 bit conversionMax Kellermann2012-03-272-2/+2
| | | | 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-272-6/+12
| | | | 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-224-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 samplesMax Kellermann2012-03-221-15/+48
|
* output/oss: use pcm_export to pack 24 bit samplesMax Kellermann2012-03-221-10/+15
|
* pcm_export: add option "pack"Max Kellermann2012-03-222-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 formatMax Kellermann2012-03-221-5/+13
| | | | | Improving oss_reopen() by using the very same value that was used initially.
* 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/oss: move code to oss_probe_sample_format()Max Kellermann2012-03-211-34/+59
|
* output/{alsa,oss}: move endian code to new library pcm_exportMax Kellermann2012-03-212-61/+23
|
* 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/oss: always receive host byte order samplesMax Kellermann2012-03-211-7/+68
| | | | Don't use audio_format.reverse_endian.
* 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
|
* Fix the build on OSXRich Healey2012-03-211-0/+1
|
* audio_format: remove the format SAMPLE_FORMAT_DSD_LSBFIRSTMax Kellermann2012-03-212-2/+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-192-0/+2
|
* use g_strerror() instead of strerror()Max Kellermann2012-03-064-19/+19
| | | | Make sure we get a UTF-8 encoded string.
* raop_output: fix raop_session inbalanceKurt Van Dijck2012-03-011-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 formatMax Kellermann2012-03-012-0/+4
| | | | | Basic support for Direct Stream Digital. No conversion yet, and no decoder/output plugin support.
* Merge branch 'v0.16.x'Max Kellermann2012-02-131-5/+1
|\ | | | | | | | | | | | | | | Conflicts: NEWS configure.ac src/decoder/ffmpeg_decoder_plugin.c test/read_tags.c
| * output/winmm: remove pointless NULL checkMax Kellermann2012-02-131-5/+1
| | | | | | | | pcm_buffer_get() cannot ever return NULL.
* | output/osx: fix memory leak after AudioUnitSetProperty() failureMax Kellermann2012-01-041-0/+1
| |
* | output/osx: implement 32 bit playbackMax Kellermann2011-12-241-2/+6
| |
* | output/osx: allocate the device in enable()Max Kellermann2011-12-241-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 Kellermann2011-12-241-6/+3
|\|
| * output/osx: clear render buffer when there's not enough dataMax Kellermann2011-12-241-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 callbackMax Kellermann2011-12-241-4/+0
| | | | | | | | | | Blocking inside the render callback is forbidden, and this sleep call didn't make any sense.
* | output/openal: improve synchronizationMax Kellermann2011-12-131-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 functionsMax Kellermann2011-12-131-9/+25
| |
* | output/openal: use alGetSourcei(AL_BUFFER) to force-unqueue buffersMax Kellermann2011-12-131-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" unsignedMax Kellermann2011-12-131-1/+1
| |
* | output/openal: remove bogus format check from _open()Max Kellermann2011-12-131-8/+0
| | | | | | | | The expression "!format" does not make sense, and cannot occur.
* | output/fifo: implement output_plugin method delay()Max Kellermann2011-12-131-3/+11
| |
* | output/null: implement output_plugin method delay()Max Kellermann2011-12-131-3/+11
| |
* | output/null: don't initialize the "timer" attribute in _init()Max Kellermann2011-12-131-6/+1
| | | | | | | | Unnecessary overhead.
* | Merge branch 'v0.16.x'Max Kellermann2011-12-131-10/+4
|\| | | | | | | | | | | Conflicts: NEWS configure.ac
| * output/openal: force 16 bit playback, as 8 bit doesn't workMax Kellermann2011-12-131-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 Krjuchkov2011-12-131-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 samplesMax Kellermann2011-10-202-0/+4
| | | | | | | | | | Support for conversion from float to 16, 24 and 32 bit integer samples.
* | output/roar: move code to _use_audio_format()Max Kellermann2011-10-081-27/+38
| |
* | Merge branch 'v0.16.x'Max Kellermann2011-10-082-12/+15
|\|
| * output/openal: auto-fallback to mono if channel count is unsupportedMax Kellermann2011-10-081-9/+9
| | | | | | | | .. instead of failing playback completely.