aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-03-06curl: reverse GLIB_CHECK_VERSION()Max Kellermann1-1/+1
The GLIB_CHECK_VERSION() macro was used improperly, which broke build on GLib < 2.14. Add a "!" for negation.
2009-03-06socket_util: check if IN6_IS_ADDR_V4MAPPED is definedMax Kellermann1-2/+2
On some systems, the macro IN6_IS_ADDR_V4MAPPED() is not available. Don't try to convert IPv6 to their IPV4 equivalents in this case.
2009-03-06pipe: added music_buffer, rewrite music_pipeMax Kellermann14-401/+415
Turn the music_pipe into a simple music_chunk queue. The music_chunk allocation code is moved to music_buffer, and is now managed with a linked list instead of a ring buffer. Two separate music_pipe objects are used by the decoder for the "current" and the "next" song, which greatly simplifies the cross-fading code.
2009-03-06music_pipe: added music_pipe_push()Max Kellermann6-128/+196
Added music_pipe_allocate(), music_pipe_push() and music_pipe_cancel(). Those functions allow the caller (decoder thread in this case) to do its own chunk management. The functions music_pipe_flush() and music_pipe_tag() can now be removed.
2009-03-06playlist_control: fix requeue after seekMax Kellermann1-3/+3
The queue update after a seek was wrong: the queued song is cleared by a successful seek. This caused queue/cross-fading problems after a seek.
2009-03-05flac: explicitly check for STOP commandMax Kellermann1-1/+2
After the decoder command was obtained, don't wait until libflac detects EOF (as a side effect), quit the decoder immediately. This check was missing completely.
2009-03-05flac: check command after flac_process_single() failureMax Kellermann1-3/+6
When the MPD core sends the decoder a command while flac_process_single() is executed, this function fails. Abort the decoder only if not seeking. This fixes a seeking bug.
2009-03-05music_chunk: added music_chunk_write(), music_chunk_expand()Max Kellermann3-16/+83
Moved some code from music_pipe_write() and music_pipe_expand(). Only music_chunk.c should access the music_chunk internals.
2009-03-03music_pipe: moved struct music_chunk to chunk.hMax Kellermann7-44/+101
2009-03-03alsa: log period and buffer sizeMax Kellermann1-0/+3
Log the real period and buffer size. This might be useful when debugging xruns. Note that the same information is available in /proc/asound/card*/pcm*p/sub*/hw_params
2009-03-03ls: Print output of supported uri to fp rather than stdout.Avuton Olrich1-1/+1
Since there are no other callers than stdout, this wouldn't be a problem, but since there maybe in the future go ahead and fix it.
2009-03-03ffmpeg: fix version comparision for av_get_bits_per_sample_format() ↵Viliam Mateicka1-1/+1
implemetation function was implemented in the version we are comparing to so there must be higher or equal
2009-03-03ffmpeg: support for new metadata apiViliam Mateicka1-0/+39
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