aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* pipe: added music_buffer, rewrite music_pipeMax Kellermann2009-03-0615-401/+417
| | | | | | | | 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-067-128/+197
| | | | | | | 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-038-44/+103
|
* 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
|
* test: init input streams cause decoders are using itViliam Mateicka2009-03-031-0/+2
|
* cmdline: Print available protocols when --version is run.Avuton Olrich2009-03-034-0/+32
|
* 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.
* updated valgrind.suppressionsMax Kellermann2009-03-031-0/+59
|
* Add sticker list command.Eric Wollesen2009-03-036-4/+153
| | | | | [mk: merged memory leak patch; fixed indentation (tabs); fixed documentation typo]
* updated valgrind.suppressionsMax Kellermann2009-03-021-7/+39
|
* input_lastfm: new input plugin for last.fm radioMax Kellermann2009-03-027-0/+280
| | | | | | | 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.
* test/run_decoder: initialize decoder.initializedMax Kellermann2009-03-021-0/+2
| | | | Keep valgrind happy.
* test/run_decoder: initialize the input pluginsMax Kellermann2009-03-021-0/+2
|
* 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-0210-16/+16
| | | | Create a sub directory for input plugins.
* input_stream: moved struct input_plugin to input_plugin.hMax Kellermann2009-03-0212-20/+50
| | | | 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-025-8/+153
| | | | | | 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-025-3/+182
| | | | | 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-022-1/+2
| | | | | | 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-025-13/+25
| | | | 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-013-2/+20
| | | | | 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
|