aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* fs/GzipOutputStream: new class wrapping zlibMax Kellermann2014-08-062-0/+177
|
* *Save, *State: use the OutputStream API instead of FILE*Max Kellermann2014-07-3021-133/+147
|
* fs/OutputStream: new infrastructure for writing to filesMax Kellermann2014-07-306-0/+499
|
* util/Error: add method FormatLastError()Max Kellermann2014-07-302-0/+32
|
* util/Error: add SetLastError() overload with "DWORD code" parameterMax Kellermann2014-07-302-2/+8
|
* util/Error: add "printf" attributesMax Kellermann2014-07-301-0/+5
|
* TagId3: fix printf string parameterMax Kellermann2014-07-301-1/+1
|
* util/DynamicFifoBuffer: fix typo in API documentationMax Kellermann2014-07-301-1/+1
|
* StateFile: use nullptr instead of NULLMax Kellermann2014-07-301-1/+1
|
* encoder/opus: use nullptr instead of NULLMax Kellermann2014-07-301-1/+1
|
* system/Resolver: use nullptr instead of NULLMax Kellermann2014-07-301-5/+5
|
* pcm: use nullptr instead of NULLMax Kellermann2014-07-302-3/+3
|
* playlist/extm3u: use nullptr instead of NULLMax Kellermann2014-07-301-4/+4
|
* Main: don't require mpd.conf on AndroidMax Kellermann2014-07-301-1/+3
| | | | | Don't fail to start if mpd.conf does not exist; just use default values.
* db/proxy: implement Update()Max Kellermann2014-07-291-0/+19
|
* db/Interface: add virtual method Update()Max Kellermann2014-07-292-0/+36
| | | | For database plugins that don't use the UpdateService.
* OtherCommands: split handle_update()Max Kellermann2014-07-291-16/+22
|
* util/Cast: add "const" overloadMax Kellermann2014-07-141-0/+13
|
* util/Cast: add missing includeMax Kellermann2014-07-141-0/+2
|
* util/Cast: fix indentMax Kellermann2014-07-141-3/+3
|
* util/Cast: reimplement as template without macroMax Kellermann2014-07-143-16/+33
|
* util/Cast: add const overloadsMax Kellermann2014-07-141-0/+16
|
* util/Cast: suppress "unused function" warning by using "inline"Max Kellermann2014-07-141-2/+2
|
* util/Cast: fix indentMax Kellermann2014-07-141-4/+4
|
* decoder/dsdiff: move artist/title/id3 offsets out of DsdiffMetaDataMax Kellermann2014-07-121-22/+14
| | | | They are only used inside dsdiff_read_metadata_extra().
* Merge branch 'v0.18.x'Max Kellermann2014-07-121-12/+9
|\
| * decoder/dsdiff: simplify dsdlib_skip() callMax Kellermann2014-07-121-4/+3
| |
| * decoder/dsdiff: simplify loop condition, merge branchesMax Kellermann2014-07-121-7/+2
| |
| * decoder/dsdiff: ignore garbage null byte at end of fileMax Kellermann2014-07-121-1/+1
| | | | | | | | | | Failure to read another chunk header is not fatal. Continue to read metadata.
| * decoder/dsdiff: fix metadata parser bug (uninitialized variables)Max Kellermann2014-07-121-1/+4
| |
* | PlaylistSong: always merge tags and LastModifiedMax Kellermann2014-07-121-12/+2
| |
* | QueueSave: use the long format to save partial songsMax Kellermann2014-07-121-1/+6
| | | | | | | | | | Previously, only streams were saved with range and tags, but this is necessary for all "partial" songs (e.g. CUE tracks).
* | QueueCommands: new command "rangeid"Max Kellermann2014-07-125-0/+123
| | | | | | | | Manipulates the playback range of a queued song.
* | PlaylistSong, CueParser: don't override Tag::timeMax Kellermann2014-07-122-11/+0
| | | | | | | | | | Now that Song::GetDuration() is used (which considers start_ms and end_ms), we don't need to override the Tag's duration value.
* | SongPrint: use DetachedSong::GetDuration()Max Kellermann2014-07-121-1/+5
| | | | | | | | Fixes the bogus duration of the last track in a CUE sheet.
* | TagPrint: split tag_print()Max Kellermann2014-07-122-3/+12
| | | | | | | | | | Add one method that prints only the tag values, but not the song duration.
* | Tag: add class const_iterator and methods begin(), end()Max Kellermann2014-07-1212-45/+88
| | | | | | | | Enables using range-based "for".
* | DecoderBuffer: implement _skip() using decoder_skip()Max Kellermann2014-07-121-17/+8
| |
* | DecoderBuffer: add method _need()Max Kellermann2014-07-123-31/+42
| | | | | | | | Move code from the FAAD decoder plugin.
* | DecoderBuffer: remove unused method _is_full()Max Kellermann2014-07-122-10/+0
| |
* | decoder/faad: eliminate the adts_find_frame() loopMax Kellermann2014-07-121-5/+2
| | | | | | | | | | This loop is completely unnecessary. We just need to find the first ADTS frame and feed it into NeAACDecInit().
* | decoder/faad: split faad_stream_decode()Max Kellermann2014-07-121-10/+16
| | | | | | | | Eliminate duplicate cleanup code.
* | DecoderBuffer: remove unused method _is_empty()Max Kellermann2014-07-122-10/+0
| |
* | Merge branch 'v0.18.x'Max Kellermann2014-07-123-54/+99
|\|
| * decoder/faad: estimate song duration for remote filesMax Kellermann2014-07-121-0/+22
| | | | | | | | | | | | | | | | Previously, MPD tried to slurp the whole song file, count the number of frames and calculate the song duration from that. That however is extremely expensive for remote files, and will delay playback for a long time. Workaround: check only the first 128 frames and try to extrapolate from here. Fixes Mantis ticket 0004035.
| * DecoderBuffer: add method _available()Max Kellermann2014-07-122-0/+13
| |
| * DecoderBuffer: add method _get_stream()Max Kellermann2014-07-122-0/+10
| |
| * decoder/faad: bail out early if sample rate is invalidMax Kellermann2014-07-121-0/+2
| |
| * decoder/faad: use adts_check_frame() in faad_song_duration()Max Kellermann2014-07-121-2/+1
| | | | | | | | Eliminate more duplicate code.
| * decoder/faad: test "seekable" after ADTS frame checkMax Kellermann2014-07-121-1/+5
| | | | | | | | | | Don't bother to check for ADIF just because the stream is not seekable.