aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-06-25util/AllocatedString: add methods Duplicate(), Clone()Max Kellermann2-0/+59
2015-06-25util/AllocatedString: add method empty()Max Kellermann1-0/+4
2015-06-25SongFilter: add assertion to StringMatch()Max Kellermann1-0/+2
2015-06-25SongFilter: return "const char *" instead of std::stringMax Kellermann5-15/+18
2015-06-25lib/icu/Collate: fall back to strxfrm()Max Kellermann1-2/+16
2015-06-25lib/icu/Collate: fix indentMax Kellermann1-3/+3
2015-06-23lib/icu/Collate: fall back to strcoll() instead of strcasecmp()Max Kellermann2-1/+2
2015-06-23lib/icu/Collate: use CompareStringEx() on WindowsMax Kellermann1-0/+26
2015-06-23fs/NarrowPath: use the WideCharToMultiByte() wrapperMax Kellermann1-14/+16
2015-06-23lib/icu/Win32: wrappers for WideCharToMultiByte(), MultiByteToWideChar()Max Kellermann3-28/+106
2015-06-23util/AllocatedString: remove bogus code from operator=Max Kellermann1-1/+0
2015-06-23util/AllocatedString: new utility classMax Kellermann1-0/+100
2015-06-23fs/Path: include cleanupMax Kellermann1-1/+0
2015-06-23fs/Path: use base class StringPointerMax Kellermann2-12/+10
2015-06-23util/StringPointer: new utility classMax Kellermann1-0/+64
2015-06-23fs/Path: use method c_str() internallyMax Kellermann1-5/+5
2015-06-22fs/Config: remove charset auto-detection via GLibMax Kellermann1-14/+0
The default is always UTF-8.
2015-06-22LogBackend: remove character set supportMax Kellermann3-57/+0
Always write UTF-8 to the log file.
2015-06-22fs/Charset: hard-code Windows to ACPMax Kellermann3-15/+5
Don't define HAVE_FS_CHARSET, and make GetFSCharset() return "ACP" instead of "UTF-8". Ignore the configuration setting, which had no effect anyway.
2015-06-22fs/Glob: use PathMatchSpec() on WindowsMax Kellermann1-2/+8
2015-06-22fs/Glob: use fnmatch() if availableMax Kellermann1-1/+21
2015-06-22fs/Glob: make constructor "explicit"Max Kellermann1-1/+1
2015-06-22db/update/ExcludeList: remove obsolete TODO commentsMax Kellermann2-5/+3
2015-06-22db/update/ExcludeList: move class Pattern to fs/Glob.hxxMax Kellermann3-31/+69
2015-06-22pcm/Interleave: add stereo optimizationMax Kellermann1-0/+19
2015-06-22pcm/Interleave: instantiate a 16 bit optimizationMax Kellermann1-0/+15
2015-06-22pcm/Interleave: convert PcmInterleave32() to templateMax Kellermann1-4/+13
2015-06-22pcm/Interleave: add optimization for 32 bit samplesMax Kellermann3-12/+51
Move code from the "vorbis" decoder.
2015-06-22pcm/Interleave: add "restrict" keywordsMax Kellermann2-3/+6
2015-06-22decoder/ffmpeg: move code to pcm/Interleave.cxxMax Kellermann3-19/+86
2015-06-22decoder/ffmpeg: check for commands earlierMax Kellermann1-22/+22
Improve initial seek by not reading/decoding the first frame before checking for the seek command.
2015-06-22decoder/vorbis: check STOP before entering the loopMax Kellermann1-2/+2
2015-06-22OutputThread: move code to CloseOutput()Max Kellermann2-6/+19
2015-06-22lib/ffmpeg/Buffer: add "malloc" attributeMax Kellermann1-0/+1
2015-06-22InputStream: add ReadFull methodThomas Guillem2-1/+49
Convenient method that behave differently than Read, and that will be used by tag scanners. This method will return in case of error, if the whole data is read or is EOF is reached.
2015-06-21PlayerThread: start the decoder on PlayerCommand::QUEUEMax Kellermann1-0/+6
Fixes missing SongBorder() call, which causes "single" mode breakage.
2015-06-21DecoderAPI: discard unused song tag earlyMax Kellermann1-2/+5
If there's a stream tag, don't let the song tag override it in the next update_stream_tag() call.
2015-06-21DecoderThread: set Decoder::song_tag only for local filesMax Kellermann1-1/+5
If the song tag comes from a stream, and MPD playback restarts, MPD would believe the tag should override the newly received tag. This makes the previous tag appear stuck. This change passes the song tag only if it's authoritative - i.e. if it's a song file.
2015-06-20DecoderAPI: "move" the Tag objectMax Kellermann1-1/+1
Reduce runtime overhead.
2015-06-20OutputControl: fix fail_timer check right after bootingRomain Rollet1-1/+2
Right after booting, the monotonic clock starts with a very small value, and AudioOutput::LockUpdate() may believe that the fail_timer has not recovered yet.
2015-06-20system/PeriodClock: make IsDefined() "constexpr"Max Kellermann1-1/+1
2015-06-20pcm/soxr: fix recipe parserMax Kellermann1-1/+1
2015-06-20decoder/ffmpeg: skip unwanted samples after seekingMax Kellermann1-5/+48
When seeking to the beginning of a packet, skip the samples that come before the desired time stamp.
2015-06-20decoder/ffmpeg: use AVSEEK_FLAG_BACKWARD for seekingMax Kellermann1-1/+5
Ask FFmpeg to seek to the next packet boundary *before* the seek position, so we don't miss audio data. Now we get too much, but we'll solve that in the next commit.
2015-06-19decoder/ffmpeg: move code to StreamRelativePts()Max Kellermann1-6/+20
2015-06-19input/curl: trigger the condition variable in RequestDone()Max Kellermann1-0/+2
Fixes deadlock on small responses.
2015-05-29storage/nfs: fix deadlock when connectingThomas Guillem1-2/+2
The Connect method can be called between Schedule and lock. In that case, when locked, the state is already set to CONNECTING of READY and the condition won't be signaled anymore.
2015-05-29input/smbclient: fix DFF playbackjai1-0/+1
2015-03-25OpusEncoderPlugin: initialise granulepos so we end up with sane valuesMichal Nazarewicz1-1/+1
Not initialising granulepos leads to it having arbitrary values in the encoded stream including possibly negative values which are not valid and confuse opusdec. Explicitly initialise opus_encoder::granulepos to avoid that problem.
2015-03-25db/update/ExcludeList: use the NarrowPath classMax Kellermann1-1/+2