Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | decoder/gme: free the gme_info_t as early as possible | Max Kellermann | 2015-10-26 | 1 | -6/+7 |
| | |||||
* | decoder/gme: call decoder_seek_error() on seek error | Max Kellermann | 2015-10-26 | 1 | -2/+4 |
| | |||||
* | output/Command: flush the mixer cache when enabling/disabling output | Max Kellermann | 2015-10-26 | 2 | -0/+10 |
| | | | | Fixes mixer lag (http://bugs.musicpd.org/view.php?id=4425). | ||||
* | decoder/ffmpeg: fix crash due to wrong avio_alloc_context() call | Max Kellermann | 2015-10-26 | 2 | -4/+15 |
| | | | | | | | | 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 | ||||
* | decoder/mpcdec: use SampleTraits<SampleFormat::S24_P32> | Max Kellermann | 2015-10-16 | 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. | ||||
* | decoder/mpcdec: use Clamp() | Max Kellermann | 2015-10-16 | 1 | -6/+2 |
| | |||||
* | unix/Daemon, playlist/...: remove unused Domain variables | Max Kellermann | 2015-10-16 | 7 | -21/+0 |
| | |||||
* | encoder/flac: fix crash with 32 bit playback | Max Kellermann | 2015-10-16 | 2 | -2/+4 |
| | | | | | | | Copy to encoder->audio_format *after* adjusting the sample format to S24_P32. Fixes http://bugs.musicpd.org/view.php?id=4433 | ||||
* | tag/ApeLoader: fix buffer overflow after unterminated key | Max Kellermann | 2015-10-16 | 2 | -6/+8 |
| | |||||
* | configure.ac: prepare for 0.19.11 | Max Kellermann | 2015-10-16 | 2 | -2/+4 |
| | |||||
* | release v0.19.10 | Max Kellermann | 2015-06-21 | 1 | -1/+1 |
| | |||||
* | PlayerThread: start the decoder on PlayerCommand::QUEUE | Max Kellermann | 2015-06-21 | 2 | -0/+7 |
| | | | | Fixes missing SongBorder() call, which causes "single" mode breakage. | ||||
* | DecoderAPI: discard unused song tag early | Max Kellermann | 2015-06-21 | 1 | -2/+5 |
| | | | | | If there's a stream tag, don't let the song tag override it in the next update_stream_tag() call. | ||||
* | DecoderThread: set Decoder::song_tag only for local files | Max Kellermann | 2015-06-21 | 2 | -1/+6 |
| | | | | | | | 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. | ||||
* | DecoderAPI: "move" the Tag object | Max Kellermann | 2015-06-20 | 1 | -1/+1 |
| | | | | Reduce runtime overhead. | ||||
* | OutputControl: fix fail_timer check right after booting | Romain Rollet | 2015-06-20 | 2 | -1/+4 |
| | | | | | | 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. | ||||
* | system/PeriodClock: make IsDefined() "constexpr" | Max Kellermann | 2015-06-20 | 1 | -1/+1 |
| | |||||
* | decoder/ffmpeg: skip unwanted samples after seeking | Max Kellermann | 2015-06-20 | 2 | -5/+50 |
| | | | | | When seeking to the beginning of a packet, skip the samples that come before the desired time stamp. | ||||
* | decoder/ffmpeg: use AVSEEK_FLAG_BACKWARD for seeking | Max Kellermann | 2015-06-20 | 1 | -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. | ||||
* | decoder/ffmpeg: move code to StreamRelativePts() | Max Kellermann | 2015-06-19 | 1 | -6/+20 |
| | |||||
* | input/curl: trigger the condition variable in RequestDone() | Max Kellermann | 2015-06-19 | 2 | -0/+3 |
| | | | | Fixes deadlock on small responses. | ||||
* | storage/nfs: fix deadlock when connecting | Thomas Guillem | 2015-05-29 | 2 | -2/+4 |
| | | | | | | 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. | ||||
* | input/smbclient: fix DFF playback | jai | 2015-05-29 | 2 | -0/+3 |
| | |||||
* | OpusEncoderPlugin: initialise granulepos so we end up with sane values | Michal Nazarewicz | 2015-03-25 | 2 | -1/+3 |
| | | | | | | | 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. | ||||
* | configure.ac: prepare for 0.19.10 | Max Kellermann | 2015-03-25 | 2 | -2/+4 |
| | |||||
* | release v0.19.9 | Max Kellermann | 2015-02-06 | 1 | -1/+1 |
| | |||||
* | Merge tag 'v0.18.23' into v0.19.x | Max Kellermann | 2015-02-06 | 1 | -3/+5 |
|\ | |||||
| * | release v0.18.23 | Max Kellermann | 2015-02-06 | 1 | -1/+1 |
| | | |||||
| * | NEWS: fix v0.18.22 release date | Max Kellermann | 2015-02-01 | 1 | -1/+1 |
| | | |||||
| * | Avoid integer overflow in MonotonicClock{S,MS,US} | PHO | 2015-01-29 | 2 | -4/+5 |
| | | | | | | | | | | This is Darwin specific: the previous implementation was causing an integer overflow when base.numer is very large. On PPC Darwin, the timebase info is 1000000000/33330116 and this is too large for integer arithmetic. | ||||
* | | fs/io/FileOutputStream: don't auto-delete file on WIN32 | Max Kellermann | 2015-02-06 | 2 | -0/+3 |
| | | | | | | | | | | | | | | | | | | The file handle is never reset to INVALID_HANDLE_VALUE, and thus the destructor will assume the operation shall be cancelled and will delete the temporary file. This was a major breakage for saving the database file and the state file. | ||||
* | | TagBuilder: allow adding duplicate tag types in Complement() | Max Kellermann | 2015-02-06 | 2 | -1/+11 |
| | | | | | | | | | | | | | | | | | | | | Build a table of pre-existing tag types before adding new items. The old way would check HasType() each time, which would return true after the first instance of that tag type had been added, preventing duplicate tag types to be merged. This broke duplicate tag types loaded from the state file, because this code path uses TagBuilder::Complement(). | ||||
* | | Makefile.am: move org_musicpd_Bridge.h to BUILT_SOURCES | Max Kellermann | 2015-01-31 | 2 | -3/+2 |
| | | |||||
* | | Makefile.am: generate icon before compiling JNI classes | Max Kellermann | 2015-01-31 | 1 | -1/+1 |
| | | | | | | | | | | Apparently, Android's build.xml requires the icon to be available, even when only running the Java compiler. | ||||
* | | db/update/Walk: use std::unique_ptr instead of std::auto_ptr | Max Kellermann | 2015-01-29 | 1 | -1/+1 |
| | | | | | | | | | | std::auto_ptr is deprecated, and std::unique_ptr is much better anyway. | ||||
* | | Avoid integer overflow in MonotonicClock{S,MS,US} | PHO | 2015-01-29 | 2 | -6/+7 |
| | | | | | | | | | | This is Darwin specific: the previous implementation was causing an integer overflow when base.numer is very large. On PPC Darwin, the timebase info is 1000000000/33330116 and this is too large for integer arithmetic. | ||||
* | | decoder/DsdLib: use new[] to allocate the ID3 buffer | Max Kellermann | 2015-01-29 | 1 | -3/+5 |
| | | | | | | | | | | Don't abort the process if there's not enough memory. This buffer is not important and can be large. | ||||
* | | decoder/DsdLib: free ID3 buffer right after id3_tag_parse() | Max Kellermann | 2015-01-29 | 1 | -5/+2 |
| | | | | | | | | Merge two free() calls. | ||||
* | | decoder/DsdLib: raise ID3 tag limit to 1 MB | Max Kellermann | 2015-01-29 | 2 | -1/+3 |
| | | | | | | | | | | A bug report was submitted with a 600 kB ID3 tag that could not be read by MPD. | ||||
* | | Merge branch 'v0.18.x' into v0.19.x | Max Kellermann | 2015-01-26 | 16 | -839/+10 |
|\| | |||||
| * | {playlist,input}/despotify: remove defunct plugin | Max Kellermann | 2015-01-26 | 15 | -810/+3 |
| | | |||||
| * | util/list: disable gcc5 warning | Max Kellermann | 2015-01-23 | 1 | -0/+4 |
| | | | | | | | | | | This file has been removed in newer MPD versions, so don't care about it now. | ||||
| * | ClientProcess: cast enum to int before passing to printf() | Max Kellermann | 2015-01-23 | 2 | -3/+4 |
| | | | | | | | | Fixes gcc5 warning. | ||||
| * | configure.ac: prepare for 0.18.23 | Max Kellermann | 2015-01-23 | 2 | -2/+4 |
| | | |||||
* | | Test the existence of strndup(3) before using it. | PHO | 2015-01-26 | 3 | -5/+8 |
| | | | | | | | | This can eliminate the ad-hoc "#ifdef WIN32" and can also support other platforms lacking it as well (including Darwin 9). | ||||
* | | test/read_mixer: add missing stdlib.h include | Max Kellermann | 2015-01-26 | 1 | -0/+1 |
| | | |||||
* | | android/build.py: use os.path.abspath() to build mpd_path | Max Kellermann | 2015-01-22 | 1 | -1/+1 |
| | | | | | | | | | | Fixes a bug that occurs when runing "build.py" from inside the "android" directory. | ||||
* | | thread/Name: include stdio.h if HAVE_PRCTL | Max Kellermann | 2015-01-21 | 2 | -1/+5 |
| | | | | | | | | | | Caused a build failure with uClibc because snprintf() was not available. | ||||
* | | doc/protocol: "playlistsearch" is case insensitive | Max Kellermann | 2015-01-16 | 1 | -1/+1 |
| | | |||||
* | | configure.ac: prepare for 0.19.9 | Max Kellermann | 2015-01-16 | 3 | -4/+6 |
| | |