Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2015-11-05 | player/Thread: call DecoderCommand::SEEK only on existing decoder | Max Kellermann | 1 | -17/+22 | |
If the decoder was just started, it already seeks to the desired position. | |||||
2015-11-05 | player/Thread: move code to WaitDecoderStartup() | Max Kellermann | 1 | -7/+21 | |
2015-11-05 | player/Thread: move player_command_finished() to PlayerControl | Max Kellermann | 2 | -12/+10 | |
2015-11-05 | player/Thread: copy pc.seek_time in ActivateDecoder() | Max Kellermann | 1 | -2/+1 | |
If this gets called while seeking, do the right thing. This moves the elapsed_time setter from method Run(), which is now redundant. | |||||
2015-11-05 | player/Control: initialize seek_time in EnqueueSongLocked() | Max Kellermann | 2 | -6/+3 | |
Allows removing a few special cases in the player thread. | |||||
2015-10-28 | player/Thread: remove decoder error check from ActivateDecoder() | Max Kellermann | 1 | -37/+8 | |
It is futile to check for decoder errors before the decoder has finished startup. At this time, it's unlikely that the decoder has already failed. | |||||
2015-10-28 | player/Thread: rename WaitForDecoder() to ActivateDecoder() | Max Kellermann | 1 | -10/+15 | |
.. and fix its API documentation. | |||||
2015-10-27 | player/Thread: move code to ForwardDecoderError() | Max Kellermann | 1 | -6/+22 | |
2015-10-27 | player/Thread: clear pc.next_song earlier in WaitForDecoder() | Max Kellermann | 1 | -4/+3 | |
2015-10-27 | player/Control: use CANCEL to clear next_song in Seek() | Max Kellermann | 1 | -1/+5 | |
Assigning nullptr to next_song may disrupt the player thread and render undefined behavior. | |||||
2015-10-27 | player/Thread: merge the cross_fading flag into enum CrossFadeState | Max Kellermann | 1 | -22/+25 | |
2015-10-27 | player/Thread: move ResetCrossFade() calls to where pipes are set | Max Kellermann | 1 | -3/+8 | |
Move ResetCrossFade() to where cross-fading would actually break, to make the cross-fading state more reliable. | |||||
2015-10-27 | player/Thread: add method ResetCrossFade() | Max Kellermann | 1 | -2/+10 | |
2015-10-27 | player/Thread: more CrossFadeState documentation | Max Kellermann | 1 | -1/+16 | |
2015-10-27 | player/Thread: automatic CrossFadeState enum values | Max Kellermann | 1 | -4/+4 | |
2015-10-27 | player/Thread: move enum CrossFadeState into the Player class | Max Kellermann | 1 | -7/+5 | |
2015-10-27 | command/queue: add range parameter to plchanges and plchangesposid | Max Kellermann | 6 | -17/+52 | |
2015-10-27 | pcm/Order: new library to convert from FLAC to ALSA channel order | Max Kellermann | 6 | -2/+201 | |
This new library is integrated in the PcmExport class and (if enabled) converts MPD's channel order (= FLAC channel order) to ALSA channel order. This fixes: http://bugs.musicpd.org/view.php?id=3147 and http://bugs.musicpd.org/view.php?id=3255 | |||||
2015-10-27 | AudioFormat: define that channel order follows the FLAC convention | Max Kellermann | 1 | -2/+13 | |
Basic definition to solve http://bugs.musicpd.org/view.php?id=3147 and http://bugs.musicpd.org/view.php?id=3255 | |||||
2015-10-26 | gme: don't loop forever, fall back to GME's default play length | Max Kellermann | 1 | -3/+3 | |
Fixes http://bugs.musicpd.org/view.php?id=4432 | |||||
2015-10-26 | decoder/gme: free the gme_info_t as early as possible | Max Kellermann | 1 | -6/+7 | |
2015-10-26 | decoder/gme: log the emulator type | Max Kellermann | 1 | -0/+3 | |
2015-10-26 | decoder/gme: add option "accuracy" | Max Kellermann | 1 | -1/+24 | |
2015-10-26 | decoder/gme: call decoder_seek_error() on seek error | Max Kellermann | 1 | -2/+4 | |
2015-10-26 | output/Command: flush the mixer cache when enabling/disabling output | Max Kellermann | 1 | -0/+8 | |
Fixes mixer lag (http://bugs.musicpd.org/view.php?id=4425). | |||||
2015-10-26 | playlist/flac: re-add the plugin | Max Kellermann | 3 | -0/+164 | |
This reverts commit d7d9dbd2c2798b6ff39acb07a3bed38b6f99e283 by reimplementing it with the current MPD API. 3 years ago, I was wrong about the "embcue" plugin being able to replace this one, because "embcue" reads a tag named "CUESHEET", while this plugin reads the "CUESHEET" FLAC metablock. There's an important difference between those two! | |||||
2015-10-26 | decoder/ffmpeg: fix crash due to wrong avio_alloc_context() call | Max Kellermann | 1 | -4/+13 | |
Allocate the buffer dynamically using av_malloc(), and free AVIOContext.buffer in the destructor, as mandated by the libavformat documentation. Fixes http://bugs.musicpd.org/view.php?id=4446 | |||||
2015-10-22 | LocateUri: new library to classify URIs in a standard way | Max Kellermann | 9 | -186/+472 | |
2015-10-22 | SongLoader: move code to LoadFromDatabase() | Max Kellermann | 2 | -10/+20 | |
Avoids the recursion in LoadFile(). | |||||
2015-10-21 | Filter out this extra data and leading zeroes in "track" and "disc" tags. | Andreas Mair | 1 | -1/+14 | |
2015-10-20 | PlaylistPrint: fix -Wunused #ifndef ENABLE_DATABASE | Max Kellermann | 2 | -0/+2 | |
2015-10-20 | DetachedSong: check AllocatedPath::FromUTF8() result | Max Kellermann | 1 | -0/+2 | |
2015-10-20 | DetachedSong: move code from Update() to LoadFile() | Max Kellermann | 4 | -24/+34 | |
Avoid duplicate AllocatedPath::FromUTF8() invocations in two callers. | |||||
2015-10-20 | command/DatabaseCommands: pass URI to handle_lsinfo2() | Max Kellermann | 3 | -6/+3 | |
2015-10-20 | command/FileCommands: fix access to absolute paths in "readcomments" | Max Kellermann | 1 | -6/+3 | |
2015-10-20 | input/InputStream: remove obsolete method OverrideMimeType() | Max Kellermann | 1 | -7/+0 | |
2015-10-19 | output/httpd: use boost::intrusive::list instead of std::forward_list | Max Kellermann | 3 | -25/+18 | |
2015-10-19 | util/DeleteDisposer: new utility class | Max Kellermann | 6 | -24/+54 | |
2015-10-19 | decoder/mad: reduce memory usage while scanning tags | Max Kellermann | 1 | -3/+11 | |
Allocate the frame pointers only when actually decoding the file. | |||||
2015-10-19 | fs/Traits: use StringAfterPrefix() in Relative() | Max Kellermann | 1 | -3/+3 | |
2015-10-16 | util/StringUtil: add StringAfterPrefix() | Max Kellermann | 4 | -0/+49 | |
2015-10-16 | util/WStringUtil: fix indent | Max Kellermann | 1 | -5/+5 | |
2015-10-16 | decoder/mpcdec: use SampleTraits<SampleFormat::S24_P32> | Max Kellermann | 1 | -11/+13 | |
Eliminates some duplicate code, and as a side effect, this works around clang 3.8 compiler warning because a negative value was shifted. | |||||
2015-10-16 | decoder/mpcdec: use Clamp() | Max Kellermann | 1 | -6/+2 | |
2015-10-16 | unix/Daemon, playlist/...: remove unused Domain variables | Max Kellermann | 7 | -21/+0 | |
2015-10-16 | encoder/flac: fix crash with 32 bit playback | Max Kellermann | 1 | -2/+2 | |
Copy to encoder->audio_format *after* adjusting the sample format to S24_P32. Fixes http://bugs.musicpd.org/view.php?id=4433 | |||||
2015-10-16 | tag/ApeLoader: fix buffer overflow after unterminated key | Max Kellermann | 1 | -6/+6 | |
2015-10-16 | util/ConstBuffer: add method MoveFront() | Max Kellermann | 1 | -0/+14 | |
2015-10-16 | util/StringView: add methods StripLeft(), StripRight() | Max Kellermann | 2 | -0/+55 | |
2015-10-02 | lib/expat/Parser: delete the copy constructor/operator | Max Kellermann | 1 | -0/+3 | |