aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-03-03cmdline: Print available protocols when --version is run.Avuton Olrich3-0/+31
2009-03-03alsa: fall back to 32 bit samples if 16 is not supportedMax Kellermann1-1/+2
There are a few high-end devices (e.g. ICE1724) which cannot even play 16 bit audio. Try the 32 bit fallback, which we already implemented for 24 bit.
2009-03-03Add sticker list command.Eric Wollesen5-4/+138
[mk: merged memory leak patch; fixed indentation (tabs); fixed documentation typo]
2009-03-02input_lastfm: new input plugin for last.fm radioMax Kellermann4-0/+260
The lastfm input plugin enables MPD to play lastfm:// URLs. This plugin is not complete yet: it plays only the first song in the last.fm playlist, and the playlist parser isn't even implemented properly.
2009-03-02input: pass config_param to input_plugin.init()Max Kellermann8-7/+50
Allow input plugins to configure with an "input" block in mpd.conf. Also allow the user to disable a plugin completely.
2009-03-02input_plugin: added methods init(), finish()Max Kellermann4-13/+35
Instead of hard-coding the plugin global initialization in input_stream_global_init(), make it walk the plugin list and initialize all plugins.
2009-03-02input: moved plugins to ./src/input/Max Kellermann9-8/+8
Create a sub directory for input plugins.
2009-03-02input_stream: moved struct input_plugin to input_plugin.hMax Kellermann11-20/+49
Start to separate private from public input_stream API.
2009-03-02ffmpeg: use ffmpeg's sampleformat for output formatViliam Mateicka1-1/+6
2009-03-02fixing unused parameter warningViliam Mateicka1-1/+1
2009-03-02fixing unsigned to signed comparisionViliam Mateicka2-2/+2
[mk: cast off_t to uint32_t; same fix for aiff.c]
2009-03-02mixer: adding code to optionally disable all hw mixersViliam Mateicka3-3/+33
2009-03-02tag_id3: parse ID3 tags in AIFF filesMax Kellermann4-5/+149
Added a small AIFF parser library, code copied from the RIFF parser (big-endian integers). Look for an "ID3" chunk, and let libid3tag parse it.
2009-03-02tag_id3: parse ID3 tags in RIFF/WAV filesMax Kellermann3-0/+176
Added a small RIFF parser library. Look for an "id3" chunk, and let libid3tag parse it.
2009-03-02alsa: fall back to 32 bit samples if 24 is not supportedMax Kellermann1-0/+8
Some sound chips/drivers (e.g. Intel HDA) don't support 24 bit samples, they want to get 32 bit instead. Now that MPD's PCM library supports 32 bit, add a 32 bit fallback when 24 bit is not supported.
2009-03-02pcm_convert: added 32 bit supportMax Kellermann1-0/+42
All PCM sub libraries have 32 bit support now. Add support to the glue function pcm_convert().
2009-03-02pcm_format: added conversion from 32 bitMax Kellermann1-0/+37
Support converting 32 bit samples to any other supported sample format.
2009-03-02pcm_format: added pcm_convert_to_32()Max Kellermann2-0/+90
Added code to convert all other sample formats to 32 bit.
2009-03-02pcm_dither: added pcm_dither_32_to_16()Max Kellermann2-0/+20
For 32 bit dithering, reuse the 24 bit dithering code, but apply a 8 bit right shift first.
2009-03-02pcm_dither: renamed struct pcm_dither_24 to struct pcm_ditherMax Kellermann5-12/+11
There is nothing 24 bit specific in the pcm_dither_24 struct. Since we want to reuse the struct for 32 bit dithering, let's drop the "_24" suffix from the struct name.
2009-03-02pcm_resample: use 24 bit resampling code for 32 bit samplesMax Kellermann3-4/+31
Resampling 32 bit samples is the same as resampling 24 bit samples - both are stored in the int32_t type.
2009-03-02pcm_channels: added implementation for 32 bit samplesMax Kellermann2-0/+86
Some 24 bit code can be reused. The 32 bit variant has to use 64 bit integers, because 32 bit integers could overflow. This may be a performance hit on 32 bit CPUs.
2009-03-02audio_format: allow 32 bit samplesMax Kellermann1-1/+1
This is the first patch in a series to enable 32 bit audio samples in MPD. 32 bit samples are more tricky than 24 bit samples, because the integer may overflow when you operate on a sample.
2009-03-02audio_format: allow up to 8 channelsMax Kellermann1-1/+1
audio_valid_sample_format() verifies the number of channels. Let's just say up to 8 channels is allowed (which is possible with some consumer sound chips). I don't know if there are bigger cards, and since I cannot test it, I'll limit it to 8 for now.
2009-03-02directory: directory_load() returns GErrorMax Kellermann3-19/+53
Do error reporting with GLib's GError library in this library, too.
2009-03-02database: db_load() returns GErrorMax Kellermann3-17/+48
Do error reporting with GLib's GError library.
2009-03-02database: no CamelCaseMax Kellermann1-16/+15
Renamed a bunch of variables.
2009-03-02pcm_volume: return boolMax Kellermann3-11/+21
Don't abort MPD when a sample format is not supported by pcm_volume().
2009-03-01pcm_volume: no CamelCaseMax Kellermann1-5/+5
2009-03-01audio_parser: added API documentationMax Kellermann1-2/+12
2009-03-01crossfade: fix doxygen tagMax Kellermann1-1/+1
2009-03-01flac: parse stream tagsMax Kellermann2-2/+19
Parse the vorbis comments in libflac's metadata_callback and pass them as tag struct to the decoder API.
2009-03-01listen: return GError on "unix path too long"Max Kellermann1-2/+5
When the unix domain socket path is too long, don't abort with g_error().
2009-03-01listen: removed unused macro BINDERROR()Max Kellermann1-6/+0
2009-03-01output_init: removed getBlockParam()Max Kellermann1-18/+20
Use config_get_block_string() and manual GError handling instead.
2009-03-01output_init: return GError on errorMax Kellermann3-32/+28
Do error handling with GError instead of aborting with g_error().
2009-03-01output_init: moved code to audio_output_detect()Max Kellermann1-16/+26
2009-03-01audiofile: added 24 bit supportMax Kellermann1-1/+8
Don't hard code the "bits" parameter to 16. Try to use the input's sample format, if possible.
2009-03-01output: removed duplicate debug messages from pluginsMax Kellermann4-16/+0
The MPD core logs the audio format of all audio outputs. Remove the duplicate message from the plugins.
2009-03-01output_thread: log audio format in a debug messageMax Kellermann1-0/+16
To aid debugging, print the audio format of the output plugin in a debug message, and print information about PCM conversion.
2009-03-01decoder_api: log audio format in a debug messageMax Kellermann1-0/+14
To aid debugging, print the audio format of the decoder plugin in a debug message, and print information about PCM conversion.
2009-03-01listen: fix windows specific codeMax Kellermann1-5/+8
During the listen_add_host() API transition, the windows code wasn't tested, and several removed arguments are still in use there.
2009-03-01socket_util: include ws2tcpip.h for getnameinfo()Max Kellermann1-0/+4
Windows doesn't have the standard headers sys/socket.h and netdb.h.
2009-03-01daemon: disable daemonize_detach() on WIN32Max Kellermann1-1/+3
2009-03-01tag: convert ignore_tag_items to a bool arrayMax Kellermann3-8/+8
2009-03-01tag: added API documentationMax Kellermann1-0/+65
2009-03-01tag: no CamelCaseMax Kellermann4-15/+15
Renamed functions and variables.
2009-03-01use GLIB_CHECK_VERSION()Max Kellermann3-4/+4
Use GLIB_CHECK_VERSION() instead of manually checking GLIB_MAJOR_VERSION, ...
2009-02-28volume: throttle access to hardware mixersMax Kellermann1-1/+24
On some hardware, reading the mixer value from hardware is an expensive operation, and MPD has to do it for every client. Throttle access to the hardware, cache the result for one second.
2009-02-28output: use GTimer instead of time_t for reopen after failureMax Kellermann6-16/+35
time() is not a monotonic timer, and MPD might get confused by clock skews. clock_gettime() provides a monotonic clock, but is not portable to non-POSIX systems (i.e. Windows). This patch uses GLib's GTimer API, which aims to be portable.