Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
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 | 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-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-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-09-30 | util/StringView: new utility class | Max Kellermann | 1 | -1/+2 | |
2015-08-12 | client/Response: new Client wrapper class for writing responses | Max Kellermann | 2 | -9/+9 | |
2015-08-05 | decoder/mpcdec: read the bit rate | Max Kellermann | 1 | -4/+2 | |
This was lost in commit 8ead8f7ea, because this was never implemented for the new API. | |||||
2015-08-05 | decoder/mpcdec: use SampleTraits<SampleFormat::S24_P32> | Max Kellermann | 1 | -11/+13 | |
2015-08-05 | decoder/mpcdec: use Clamp() | Max Kellermann | 1 | -6/+2 | |
2015-08-05 | decoder/mpcdec: make buffer more local | Max Kellermann | 1 | -2/+1 | |
Allow the compiler to invalidate buffer contents. | |||||
2015-06-22 | pcm/Interleave: add optimization for 32 bit samples | Max Kellermann | 1 | -7/+3 | |
Move code from the "vorbis" decoder. | |||||
2015-06-22 | decoder/ffmpeg: move code to pcm/Interleave.cxx | Max Kellermann | 1 | -19/+6 | |
2015-06-22 | decoder/ffmpeg: check for commands earlier | Max Kellermann | 1 | -22/+22 | |
Improve initial seek by not reading/decoding the first frame before checking for the seek command. | |||||
2015-06-22 | decoder/vorbis: check STOP before entering the loop | Max Kellermann | 1 | -2/+2 | |
2015-06-21 | DecoderAPI: discard unused song tag early | Max Kellermann | 1 | -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-21 | DecoderThread: set Decoder::song_tag only for local files | Max Kellermann | 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. | |||||
2015-06-20 | DecoderAPI: "move" the Tag object | Max Kellermann | 1 | -1/+1 | |
Reduce runtime overhead. | |||||
2015-06-20 | decoder/ffmpeg: skip unwanted samples after seeking | Max Kellermann | 1 | -5/+48 | |
When seeking to the beginning of a packet, skip the samples that come before the desired time stamp. | |||||
2015-06-20 | decoder/ffmpeg: use AVSEEK_FLAG_BACKWARD for seeking | Max Kellermann | 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. | |||||
2015-06-19 | decoder/ffmpeg: move code to StreamRelativePts() | Max Kellermann | 1 | -6/+20 | |
2015-03-17 | *: doxygen fixups | Max Kellermann | 2 | -10/+3 | |
2015-03-05 | fs/NarrowPath: new utility class | Max Kellermann | 1 | -2/+3 | |
2015-03-03 | *: change C-style prototypes, drop "(void)" | Max Kellermann | 2 | -3/+5 | |
2015-01-31 | DecoderThread: make variables more local | Max Kellermann | 1 | -6/+3 | |
2015-01-31 | decoder/sndfile, ...: update API documentation | Max Kellermann | 5 | -7/+7 | |
2015-01-30 | decoder/DsdLib: fix integer overflow in ID3 size calculation | Max Kellermann | 1 | -2/+4 | |
2015-01-30 | decoder/DsdLib: check size before seeking | Max Kellermann | 1 | -4/+3 | |
2015-01-30 | decoder/DsdLib: don't use InputStream::GetOffset() after seeking | Max Kellermann | 1 | -3/+2 | |
We already know the offset. | |||||
2015-01-30 | decoder/DsdLib: pass offset_type t dsdlib_tag_id3() | Max Kellermann | 2 | -4/+2 | |
2015-01-29 | decoder/DsdLib: use new[] to allocate the ID3 buffer | Max Kellermann | 1 | -3/+5 | |
Don't abort the process if there's not enough memory. This buffer is not important and can be large. | |||||
2015-01-29 | decoder/DsdLib: free ID3 buffer right after id3_tag_parse() | Max Kellermann | 1 | -5/+2 | |
Merge two free() calls. | |||||
2015-01-29 | decoder/DsdLib: raise ID3 tag limit to 1 MB | Max Kellermann | 1 | -1/+1 | |
A bug report was submitted with a 600 kB ID3 tag that could not be read by MPD. | |||||
2015-01-21 | config/Param: split block-specific attributes to new struct ConfigBlock | Max Kellermann | 18 | -38/+38 | |
The old struct config_param remains only for top-level string options. | |||||
2015-01-21 | config/Option: convert to strictly-typed enum | Max Kellermann | 2 | -2/+3 | |
2015-01-21 | ConfigData: move struct config_param to Param.hxx | Max Kellermann | 2 | -2/+2 | |
2015-01-01 | Copyright year 2015 | Max Kellermann | 99 | -99/+99 | |
2014-12-23 | decoder/ffmpeg: support interleaved floating point | Max Kellermann | 1 | -0/+1 | |
2014-12-23 | decoder/ffmpeg: fix indent | Max Kellermann | 1 | -2/+2 | |
2014-12-23 | decoder/DsdLib: add missing stdlib.h include | Max Kellermann | 1 | -0/+1 | |
2014-12-23 | DSF ID3 tags hitting 4k size limit | Jan Brittenson | 1 | -6/+12 | |
Here's a change to dynamically allocate the DSD ID3 tag buffer. Pretty much anything with cover art is going to exceed the existing, static 4k limit... Here's a change to dynamically allocate the buffer and sanity check it at some upper limit. I rather arbitrarily pulled 256k out of thin air just to keep a corrupt file from causing it to trying to allocate a buffer larger than available memory. | |||||
2014-12-22 | decoder/ffmpeg: simplify mpd_ffmpeg_open_input() | Max Kellermann | 1 | -17/+12 | |
2014-12-22 | decoder/ffmpeg: move functions into the AvioStream struct | Max Kellermann | 2 | -20/+37 | |
2014-12-22 | configure.ac: use MPD_ENABLE_AUTO_PKG_LIB for libgme | Max Kellermann | 1 | -1/+1 | |
2014-12-21 | decoder/ffmpeg: move code to lib/ffmpeg/Init.cxx | Max Kellermann | 1 | -4/+2 | |
2014-12-20 | decoder/ffmpeg: move code to lib/ffmpeg/LogCallback.cxx | Max Kellermann | 1 | -34/+2 | |