Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | output/alsa: multiply writei() result with out_frame_size | Max Kellermann | 2012-04-23 | 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. | ||||
* | pcm_export: add _frame_size() | Max Kellermann | 2012-04-23 | 1 | -3/+1 |
| | | | | Move code from the ALSA output plugin. | ||||
* | output/alsa: fix out_frame_size formula, multiply with channels | Max Kellermann | 2012-04-23 | 1 | -1/+3 |
| | | | | | The hard-coded "3 bytes" was wrong because it ignored the number of channels. | ||||
* | Merge branch 'v0.16.x' | Max Kellermann | 2012-04-05 | 4 | -59/+55 |
|\ | | | | | | | | | | | Conflicts: src/output/osx_plugin.c src/text_input_stream.c | ||||
| * | encoder/vorbis: generate end-of-stream packet when playback ends | Max Kellermann | 2012-04-05 | 2 | -2/+2 |
| | | | | | | | | | | Add the encoder_plugin method end(). This is important for the recorder plugin. | ||||
| * | output/jack: check for connection failure before starting playback | Max Kellermann | 2012-04-04 | 1 | -0/+3 |
| | | |||||
| * | output/jack: workaround for libjack1 crash bug | Max Kellermann | 2012-04-04 | 1 | -0/+13 |
| | | |||||
| * | output/osx: use the fifo_buffer library instead of rolling own | Max Kellermann | 2012-03-28 | 1 | -56/+37 |
| | | | | | | | | | | | | | | | | The existing buffer implementation has a major flaw: it is unable to re-fill the buffer until it has been consumed completely, leading to many occasions where the render callback needs to generate silence, just because the play() implementation was unable to append more data. The fifo_buffer library handles that well. | ||||
* | | audio_format: remove SAMPLE_FORMAT_DSD_OVER_USB | Max Kellermann | 2012-03-27 | 2 | -2/+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-USB | Max Kellermann | 2012-03-27 | 1 | -4/+15 |
| | | |||||
* | | 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. |