Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 | 1 | -7/+67 |
|\ | |||||
| * | 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 |
| | | |||||
* | | fs/NarrowPath: new utility class | Max Kellermann | 2015-03-05 | 1 | -2/+3 |
| | | |||||
* | | decoder/sndfile, ...: update API documentation | Max Kellermann | 2015-01-31 | 3 | -4/+4 |
| | | |||||
* | | 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 | 15 | -29/+29 |
| | | | | | | | | The old struct config_param remains only for top-level string options. | ||||
* | | config/Option: convert to strictly-typed enum | Max Kellermann | 2015-01-21 | 1 | -1/+1 |
| | | |||||
* | | Copyright year 2015 | Max Kellermann | 2015-01-01 | 80 | -80/+80 |
| | | |||||
* | | Merge branch 'v0.19.x' | Max Kellermann | 2014-12-26 | 1 | -0/+1 |
|\| | |||||
| * | decoder/ffmpeg: support interleaved floating point | Max Kellermann | 2014-12-23 | 1 | -0/+1 |
| | | |||||
* | | Merge branch 'v0.19.x' | Max Kellermann | 2014-12-23 | 1 | -6/+13 |
|\| | |||||
| * | decoder/DsdLib: add missing stdlib.h include | Max Kellermann | 2014-12-23 | 1 | -0/+1 |
| | | |||||
| * | DSF ID3 tags hitting 4k size limit | Jan Brittenson | 2014-12-23 | 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. | ||||
* | | decoder/ffmpeg: fix indent | Max Kellermann | 2014-12-23 | 1 | -2/+2 |
| | | |||||
* | | decoder/ffmpeg: simplify mpd_ffmpeg_open_input() | Max Kellermann | 2014-12-22 | 1 | -17/+12 |
| | | |||||
* | | decoder/ffmpeg: move functions into the AvioStream struct | Max Kellermann | 2014-12-22 | 2 | -20/+37 |
| | | |||||
* | | decoder/ffmpeg: move code to lib/ffmpeg/Init.cxx | Max Kellermann | 2014-12-21 | 1 | -4/+2 |
| | | |||||
* | | decoder/ffmpeg: move code to lib/ffmpeg/LogCallback.cxx | Max Kellermann | 2014-12-20 | 1 | -34/+2 |
| | | |||||
* | | decoder/ffmpeg: remove obsolete comment | Max Kellermann | 2014-12-19 | 1 | -1/+0 |
| | | |||||
* | | decoder/ffmpeg: convert enums to constexpr | Max Kellermann | 2014-12-19 | 1 | -4/+2 |
| | | |||||
* | | decoder/ffmpeg: move struct AvioStream to FfmpegIo.hxx | Max Kellermann | 2014-12-19 | 3 | -74/+139 |
| | | |||||
* | | decoder/ffmpeg: remove unnecessary nullptr check for av_free() | Max Kellermann | 2014-12-19 | 1 | -2/+1 |
| | | |||||
* | | decoder/ffmpeg: use AVStream::duration | Max Kellermann | 2014-12-19 | 1 | -10/+6 |
| | | | | | | | | | | Use the duration of the stream we're actually decoding - not the "global" attribute AVFormatContext::duration which may differ. | ||||
* | | decoder/ffmpeg: skip _scan_stream() if no audio stream was found | Max Kellermann | 2014-12-19 | 1 | -5/+9 |
| | | |||||
* | | decoder/ffmpeg: remove redundant audio stream check | Max Kellermann | 2014-12-19 | 1 | -3/+3 |
| | | |||||
* | | decoder/ffmpeg: use more references | Max Kellermann | 2014-12-19 | 1 | -16/+16 |
| | | |||||
* | | decoder/ffmpeg: merge avformat_close_input() calls | Max Kellermann | 2014-12-19 | 1 | -57/+63 |
| | | |||||
* | | decoder/ffmpeg: move code to lib/ffmpeg/Time.hxx | Max Kellermann | 2014-12-19 | 1 | -48/+6 |
| | | |||||
* | | decoder/ffmpeg: use av_free() instead of av_freep() | Max Kellermann | 2014-12-19 | 1 | -1/+1 |
| | | |||||
* | | decoder/ffmpeg: add API documentation | Max Kellermann | 2014-12-19 | 1 | -1/+5 |
| | | |||||
* | | decoder/ffmpeg: copy_interleave_frame() returns ConstBuffer | Max Kellermann | 2014-12-18 | 1 | -12/+12 |
| | | |||||
* | | decoder/ffmpeg: copy_interleave_frame() returns Error | Max Kellermann | 2014-12-18 | 1 | -14/+22 |
| | | |||||
* | | decoder/ffmpeg: pass AVPacket copy to ffmpeg_send_packet() | Max Kellermann | 2014-12-18 | 1 | -7/+5 |
| | | |||||
* | | decoder/ffmpeg: simplify ffmpeg_send_packet() | Max Kellermann | 2014-12-18 | 1 | -15/+15 |
| | | |||||
* | | decoder/ffmpeg: pass references instead of pointers | Max Kellermann | 2014-12-18 | 1 | -33/+33 |
| | | |||||
* | | decoder/ffmpeg: move code to class FfmpegBuffer | Max Kellermann | 2014-12-18 | 1 | -17/+10 |
| | | |||||
* | | decoder/ffmpeg: fix crash on out-of-memory | Max Kellermann | 2014-12-18 | 1 | -3/+7 |
| | | | | | | | | Fixes regression by commit 7c8038e | ||||
* | | decoder/ffmpeg: log detailed error message | Max Kellermann | 2014-12-18 | 1 | -2/+2 |
| | | |||||
* | | decoder/ffmpeg: remove obsolete comment | Max Kellermann | 2014-12-18 | 1 | -1/+0 |
| | |