aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* curl: reverse GLIB_CHECK_VERSION()Max Kellermann2009-03-061-1/+1
| | | | | The GLIB_CHECK_VERSION() macro was used improperly, which broke build on GLib < 2.14. Add a "!" for negation.
* socket_util: check if IN6_IS_ADDR_V4MAPPED is definedMax Kellermann2009-03-061-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.
* pipe: added music_buffer, rewrite music_pipeMax Kellermann2009-03-0614-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.
* music_pipe: added music_pipe_push()Max Kellermann2009-03-066-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.
* playlist_control: fix requeue after seekMax Kellermann2009-03-061-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.
* flac: explicitly check for STOP commandMax Kellermann2009-03-051-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.
* flac: check command after flac_process_single() failureMax Kellermann2009-03-051-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.
* music_chunk: added music_chunk_write(), music_chunk_expand()Max Kellermann2009-03-053-16/+83
| | | | | Moved some code from music_pipe_write() and music_pipe_expand(). Only music_chunk.c should access the music_chunk internals.
* music_pipe: moved struct music_chunk to chunk.hMax Kellermann2009-03-037-44/+101
|
* alsa: log period and buffer sizeMax Kellermann2009-03-031-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
* ls: Print output of supported uri to fp rather than stdout.Avuton Olrich2009-03-031-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.
* ffmpeg: fix version comparision for av_get_bits_per_sample_format() ↵Viliam Mateicka2009-03-031-1/+1
| | | | | | implemetation function was implemented in the version we are comparing to so there must be higher or equal
* ffmpeg: support for new metadata apiViliam Mateicka2009-03-031-0/+39
|
* cmdline: Print available protocols when --version is run.Avuton Olrich2009-03-033-0/+31
|
* alsa: fall back to 32 bit samples if 16 is not supportedMax Kellermann2009-03-031-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.
* Add sticker list command.Eric Wollesen2009-03-035-4/+138
| | | | | [mk: merged memory leak patch; fixed indentation (tabs); fixed documentation typo]
* input_lastfm: new input plugin for last.fm radioMax Kellermann2009-03-024-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.
* input: pass config_param to input_plugin.init()Max Kellermann2009-03-028-7/+50
| | | | | Allow input plugins to configure with an "input" block in mpd.conf. Also allow the user to disable a plugin completely.
* input_plugin: added methods init(), finish()Max Kellermann2009-03-024-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.
* input: moved plugins to ./src/input/Max Kellermann2009-03-029-8/+8
| | | | Create a sub directory for input plugins.
* input_stream: moved struct input_plugin to input_plugin.hMax Kellermann2009-03-0211-20/+49
| | | | Start to separate private from public input_stream API.
* ffmpeg: use ffmpeg's sampleformat for output formatViliam Mateicka2009-03-021-1/+6
|
* fixing unused parameter warningViliam Mateicka2009-03-021-1/+1
|
* fixing unsigned to signed comparisionViliam Mateicka2009-03-022-2/+2
| | | | [mk: cast off_t to uint32_t; same fix for aiff.c]
* mixer: adding code to optionally disable all hw mixersViliam Mateicka2009-03-023-3/+33
|
* tag_id3: parse ID3 tags in AIFF filesMax Kellermann2009-03-024-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.
* tag_id3: parse ID3 tags in RIFF/WAV filesMax Kellermann2009-03-023-0/+176
| | | | | Added a small RIFF parser library. Look for an "id3" chunk, and let libid3tag parse it.
* alsa: fall back to 32 bit samples if 24 is not supportedMax Kellermann2009-03-021-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.
* pcm_convert: added 32 bit supportMax Kellermann2009-03-021-0/+42
| | | | | All PCM sub libraries have 32 bit support now. Add support to the glue function pcm_convert().
* pcm_format: added conversion from 32 bitMax Kellermann2009-03-021-0/+37
| | | | | Support converting 32 bit samples to any other supported sample format.
* pcm_format: added pcm_convert_to_32()Max Kellermann2009-03-022-0/+90
| | | | Added code to convert all other sample formats to 32 bit.
* pcm_dither: added pcm_dither_32_to_16()Max Kellermann2009-03-022-0/+20
| | | | | For 32 bit dithering, reuse the 24 bit dithering code, but apply a 8 bit right shift first.
* pcm_dither: renamed struct pcm_dither_24 to struct pcm_ditherMax Kellermann2009-03-025-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.
* pcm_resample: use 24 bit resampling code for 32 bit samplesMax Kellermann2009-03-023-4/+31
| | | | | Resampling 32 bit samples is the same as resampling 24 bit samples - both are stored in the int32_t type.
* pcm_channels: added implementation for 32 bit samplesMax Kellermann2009-03-022-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.
* audio_format: allow 32 bit samplesMax Kellermann2009-03-021-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.
* audio_format: allow up to 8 channelsMax Kellermann2009-03-021-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.
* directory: directory_load() returns GErrorMax Kellermann2009-03-023-19/+53
| | | | Do error reporting with GLib's GError library in this library, too.
* database: db_load() returns GErrorMax Kellermann2009-03-023-17/+48
| | | | Do error reporting with GLib's GError library.
* database: no CamelCaseMax Kellermann2009-03-021-16/+15
| | | | Renamed a bunch of variables.
* pcm_volume: return boolMax Kellermann2009-03-023-11/+21
| | | | Don't abort MPD when a sample format is not supported by pcm_volume().
* pcm_volume: no CamelCaseMax Kellermann2009-03-011-5/+5
|
* audio_parser: added API documentationMax Kellermann2009-03-011-2/+12
|
* crossfade: fix doxygen tagMax Kellermann2009-03-011-1/+1
|
* flac: parse stream tagsMax Kellermann2009-03-012-2/+19
| | | | | Parse the vorbis comments in libflac's metadata_callback and pass them as tag struct to the decoder API.
* listen: return GError on "unix path too long"Max Kellermann2009-03-011-2/+5
| | | | | When the unix domain socket path is too long, don't abort with g_error().
* listen: removed unused macro BINDERROR()Max Kellermann2009-03-011-6/+0
|
* output_init: removed getBlockParam()Max Kellermann2009-03-011-18/+20
| | | | Use config_get_block_string() and manual GError handling instead.
* output_init: return GError on errorMax Kellermann2009-03-013-32/+28
| | | | Do error handling with GError instead of aborting with g_error().
* output_init: moved code to audio_output_detect()Max Kellermann2009-03-011-16/+26
|