aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2011-10-20pcm_volume: "length" is a "size_t", not "int"Max Kellermann2-2/+2
2011-10-20pcm_resample: add function pcm_resample_float()Max Kellermann4-0/+95
A version of the resampler that doesn't need int->float->int conversion.
2011-10-20pcm_format: move "case" code to separate functionsMax Kellermann1-95/+166
Reduce the mess with local variables inside switch{}.
2011-10-20pcm_*: add "restrict" keywordsMax Kellermann2-18/+29
Allow more compiler optimizations.
2011-10-20crossfade: include cleanupMax Kellermann1-1/+0
2011-10-19pcm_format: pass an "end" pointer instead of a sample countMax Kellermann1-58/+28
2011-10-19pcm_channels: pass an "end" pointer instead of a sample countMax Kellermann1-39/+40
2011-10-19pcm_{channels,resample}: pass channel count as integer, not uint8_tMax Kellermann7-27/+27
Reduces number of implicit integer conversions.
2011-10-19pcm_{channels,format}: add alignment assertionsMax Kellermann2-0/+12
2011-10-19pcm_utils: add function pcm_end_pointer()Max Kellermann2-1/+13
2011-10-10pcm_byteswap: use "end" pointer instead of buffer sizeMax Kellermann1-6/+12
2011-10-10pcm_dither: pass an "end" pointer instead of a sample countMax Kellermann3-19/+14
This is easier and more efficient to loop on, because only two variables get modified (src and dest).
2011-10-10pcm_pack: pass an "end" pointer instead of a sample countMax Kellermann4-10/+11
2011-10-10pcm_byteswap: use GLib byte swapping macrosMax Kellermann1-15/+2
GLib's macros are implemented with inline assembly, and probably a lot faster than our naive bit shifting implementation.
2011-10-10pcm_{mix,volume}: pass only sample_format to pcm_mix()Max Kellermann7-18/+19
The other audio_format attributes are not used.
2011-10-10pcm_buffer: un-inline pcm_buffer_get()Max Kellermann2-14/+38
This function is too complex for being inlined everywhere.
2011-10-10input/cdio_paranoia: pass byte order swapping to the PCM "decoder"Max Kellermann1-32/+11
Send another "magic" MIME type when the byte order must be reversed. This also fixes byte order issues when big-endian was involved (input data or host byte order) - that was completely broken.
2011-10-10decoder/pcm: support reverse byte orderMax Kellermann1-3/+21
2011-10-10decoder_api: convert data to host byte orderMax Kellermann1-0/+3
2011-10-10pcm_convert: support reverse endian inputMax Kellermann1-0/+14
2011-10-10pcm_byteswap: add function with sample_format overloadMax Kellermann2-0/+43
2011-10-10audio_format: convert reverse_endian to a "bool"Max Kellermann2-4/+4
2011-10-10audio_format: un-inline audio_format_mask_apply()Max Kellermann2-17/+21
This function is not critical for performance, and the inline expansion looks too expensive.
2011-10-10audio_format: add function attributesMax Kellermann2-0/+10
For better optimization.
2011-10-10audio: rename audio.[ch] to audio_config.[ch]Max Kellermann4-5/+5
2011-10-09Makefile.am: generate static library from pluginsMax Kellermann1-0/+30
Compile the plugins only once with the same C flags.
2011-10-09don't define WINVER in *.c filesMax Kellermann10-10/+0
In a C file, that is too late, because _mingw.h defaults to 0x0502, and ours would be illegal redefintion.
2011-10-09decoder/{pcm,dsdiff}: add missing stdio.h includeMax Kellermann3-0/+3
2011-10-08decoder/wavpack: don't call WavpackGetMode() twiceMax Kellermann1-1/+1
Use local variable "is_float".
2011-10-08pcm_convert: fix typo in error messageMax Kellermann1-1/+1
2011-10-08audio_format: move code to sample_format_size()Max Kellermann1-6/+13
Cast to enum sample_format. Without the cast, it's just a plain integer, and gcc cannot know that a "case" statement is missing.
2011-10-08pcm_resample_lsr: move common code to lsr_process()Max Kellermann1-32/+17
2011-10-08output/roar: move code to _use_audio_format()Max Kellermann1-27/+38
2011-10-08db_print: print absolute URI of playlist entriesMax Kellermann3-5/+21
The protocol mandates that playlist URIs are absolute (i.e. full URI relative to the music directory, not relative to the parent directory). This adds the parameter "directory" to the "playlist" visitor method.
2011-10-08output/openal: auto-fallback to mono if channel count is unsupportedMax Kellermann1-9/+9
.. instead of failing playback completely.
2011-10-08output/alsa: remove "default" case from switchMax Kellermann1-3/+6
Allow gcc to warn when a new format isn't supported.
2011-10-08pcm_resample: add internal function _lsr_init()Max Kellermann4-8/+26
Let the libsamplerate code initialize itself.
2011-10-08pcm_resample: one-time global initializationMax Kellermann5-42/+84
Load the samplerate_converter on MPD startup. Fail if the converter name is invalid.
2011-10-07decoder/dsdiff: add option "lsbitfirst"Max Kellermann1-1/+11
Defaults to "no", which fixes the noise problems.
2011-10-07decoder/dsdiff: add documentationMax Kellermann1-0/+7
2011-10-06playlist_song: allow references to songs outside the musicdirMax Kellermann1-0/+6
When we have an absolute path that's not inside the music directory, allow loading it anyway, if we're in "secure" mode (i.e. the client is connected via UNIX socket).
2011-10-06playlist_song: fix absolute path support in playlistsJesús Bravo Álvarez1-3/+2
Right now, a playlist with absolute pathnames can only add songs that are in the same the directory of the playlist or under it. If uri is an absolute pathname and base_uri is set, playlist_check_translate_song() will check that base_uri is a prefix of uri, excluding every other song in the music directory outside base_uri. I think in this case base_uri should be completely ignored (and made NULL) and uri should just be checked against music root directory.
2011-10-06player_thread: add flag "output_open", fixes assertion failureMax Kellermann1-5/+17
Previously, the condition "defined(play_audio_format)" was used to see if an output device has been opened, but if the device had failed on startup, an assertion failure could occur. This patch adds a separate flag.
2011-10-06player_thread: move code to player_open_output()Max Kellermann1-22/+37
Common function that manages "player" attributes after audio_output_all_open() has returned.
2011-10-06output_control: remove unused prototype _close_locked()Max Kellermann1-3/+0
2011-10-06player_control: auto-start playback when seeking is requestedMax Kellermann1-3/+0
Now that the player thread can handle SEEK commands while not (yet) playing, we can remove the "pc.state" check from pc_seek().
2011-10-06player_thread: handle SEEK while not playingMax Kellermann1-2/+10
2011-10-06decoder_api: call _prepare_initial_seek() in decoder_tag()Max Kellermann1-1/+1
This checks both conditions: pending and running. Fixes yet another assertion failure!
2011-10-06decoder_api: move code to _prepare_initial_seek()Max Kellermann1-7/+31
.. and add a few code comments.
2011-10-05decoder_control: add attributes start_ms, end_msMax Kellermann5-6/+31
Don't read song.start_ms and song.end_ms, let the player thread manage this logic instead.