Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | decoder/Control: Seek() returns Error information | Max Kellermann | 2015-11-11 | 2 | -4/+15 |
| | |||||
* | decoder/Control: State::ERROR is illegal | Max Kellermann | 2015-11-11 | 1 | -1/+2 |
| | | | | | The state ERROR can only be entered during decoder initialization, and Seek() may only be called after initialization has been finished. | ||||
* | decoder/Control: use switch/case in Seek() | Max Kellermann | 2015-11-11 | 1 | -2/+13 |
| | |||||
* | util/StringUtil: move comparison functions to StringCompare.cxx | Max Kellermann | 2015-11-06 | 1 | -1/+1 |
| | |||||
* | Merge tag 'v0.19.11' | Max Kellermann | 2015-10-27 | 3 | -14/+27 |
|\ | |||||
| * | gme: don't loop forever, fall back to GME's default play length | Max Kellermann | 2015-10-26 | 1 | -3/+3 |
| | | | | | | | | Fixes http://bugs.musicpd.org/view.php?id=4432 | ||||
| * | 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 |
| | | |||||
| * | decoder/ffmpeg: fix crash due to wrong avio_alloc_context() call | Max Kellermann | 2015-10-26 | 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 | ||||
| * | 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 |
| | | |||||
* | | decoder/gme: log the emulator type | Max Kellermann | 2015-10-26 | 1 | -0/+3 |
| | | |||||
* | | decoder/gme: add option "accuracy" | Max Kellermann | 2015-10-26 | 1 | -1/+24 |
| | | |||||
* | | decoder/mad: reduce memory usage while scanning tags | Max Kellermann | 2015-10-19 | 1 | -3/+11 |
| | | | | | | | | Allocate the frame pointers only when actually decoding the file. | ||||
* | | util/StringView: new utility class | Max Kellermann | 2015-09-30 | 1 | -1/+2 |
| | | |||||
* | | client/Response: new Client wrapper class for writing responses | Max Kellermann | 2015-08-12 | 2 | -9/+9 |
| | | |||||
* | | decoder/mpcdec: read the bit rate | Max Kellermann | 2015-08-05 | 1 | -4/+2 |
| | | | | | | | | | | This was lost in commit 8ead8f7ea, because this was never implemented for the new API. | ||||
* | | decoder/mpcdec: use SampleTraits<SampleFormat::S24_P32> | Max Kellermann | 2015-08-05 | 1 | -11/+13 |
| | | |||||
* | | decoder/mpcdec: use Clamp() | Max Kellermann | 2015-08-05 | 1 | -6/+2 |
| | | |||||
* | | decoder/mpcdec: make buffer more local | Max Kellermann | 2015-08-05 | 1 | -2/+1 |
| | | | | | | | | Allow the compiler to invalidate buffer contents. | ||||
* | | pcm/Interleave: add optimization for 32 bit samples | Max Kellermann | 2015-06-22 | 1 | -7/+3 |
| | | | | | | | | Move code from the "vorbis" decoder. | ||||
* | | decoder/ffmpeg: move code to pcm/Interleave.cxx | Max Kellermann | 2015-06-22 | 1 | -19/+6 |
| | | |||||
* | | decoder/ffmpeg: check for commands earlier | Max Kellermann | 2015-06-22 | 1 | -22/+22 |
| | | | | | | | | | | Improve initial seek by not reading/decoding the first frame before checking for the seek command. | ||||
* | | decoder/vorbis: check STOP before entering the loop | Max Kellermann | 2015-06-22 | 1 | -2/+2 |
| | | |||||
* | | Merge tag 'v0.19.10' | Max Kellermann | 2015-06-21 | 3 | -11/+78 |
|\| | |||||
| * | 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 | 1 | -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. | ||||
| * | DecoderAPI: "move" the Tag object | Max Kellermann | 2015-06-20 | 1 | -1/+1 |
| | | | | | | | | Reduce runtime overhead. | ||||
| * | decoder/ffmpeg: skip unwanted samples after seeking | Max Kellermann | 2015-06-20 | 1 | -5/+48 |
| | | | | | | | | | | 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 |
| | | |||||
* | | *: doxygen fixups | Max Kellermann | 2015-03-17 | 2 | -10/+3 |
| | | |||||
* | | fs/NarrowPath: new utility class | Max Kellermann | 2015-03-05 | 1 | -2/+3 |
| | | |||||
* | | *: change C-style prototypes, drop "(void)" | Max Kellermann | 2015-03-03 | 2 | -3/+5 |
| | | |||||
* | | DecoderThread: make variables more local | Max Kellermann | 2015-01-31 | 1 | -6/+3 |
| | | |||||
* | | decoder/sndfile, ...: update API documentation | Max Kellermann | 2015-01-31 | 5 | -7/+7 |
| | | |||||
* | | decoder/DsdLib: fix integer overflow in ID3 size calculation | Max Kellermann | 2015-01-30 | 1 | -2/+4 |
| | | |||||
* | | decoder/DsdLib: check size before seeking | Max Kellermann | 2015-01-30 | 1 | -4/+3 |
| | | |||||
* | | decoder/DsdLib: don't use InputStream::GetOffset() after seeking | Max Kellermann | 2015-01-30 | 1 | -3/+2 |
| | | | | | | | | We already know the offset. | ||||
* | | decoder/DsdLib: pass offset_type t dsdlib_tag_id3() | Max Kellermann | 2015-01-30 | 2 | -4/+2 |
| | | |||||
* | | Merge branch 'v0.19.x' | Max Kellermann | 2015-01-29 | 1 | -8/+7 |
|\| | |||||
| * | 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 | 1 | -1/+1 |
| | | | | | | | | | | A bug report was submitted with a 600 kB ID3 tag that could not be read by MPD. | ||||
* | | config/Param: split block-specific attributes to new struct ConfigBlock | Max Kellermann | 2015-01-21 | 18 | -38/+38 |
| | | | | | | | | The old struct config_param remains only for top-level string options. | ||||
* | | config/Option: convert to strictly-typed enum | Max Kellermann | 2015-01-21 | 2 | -2/+3 |
| | | |||||
* | | ConfigData: move struct config_param to Param.hxx | Max Kellermann | 2015-01-21 | 2 | -2/+2 |
| | | |||||
* | | Copyright year 2015 | Max Kellermann | 2015-01-01 | 99 | -99/+99 |
| | | |||||
* | | Merge branch 'v0.19.x' | Max Kellermann | 2014-12-26 | 2 | -0/+7 |
|\| | |||||
| * | Merge branch 'v0.18.x' into v0.19.x | Max Kellermann | 2014-12-26 | 1 | -0/+6 |
| |\ |