Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | decoder/faad: eliminate the adts_find_frame() loop | Max Kellermann | 2014-07-12 | 1 | -5/+2 |
| | | | | | This loop is completely unnecessary. We just need to find the first ADTS frame and feed it into NeAACDecInit(). | ||||
* | decoder/faad: split faad_stream_decode() | Max Kellermann | 2014-07-12 | 1 | -10/+16 |
| | | | | Eliminate duplicate cleanup code. | ||||
* | DecoderBuffer: remove unused method _is_empty() | Max Kellermann | 2014-07-12 | 2 | -10/+0 |
| | |||||
* | Merge branch 'v0.18.x' | Max Kellermann | 2014-07-12 | 3 | -54/+99 |
|\ | |||||
| * | decoder/faad: estimate song duration for remote files | Max Kellermann | 2014-07-12 | 1 | -0/+22 |
| | | | | | | | | | | | | | | | | Previously, MPD tried to slurp the whole song file, count the number of frames and calculate the song duration from that. That however is extremely expensive for remote files, and will delay playback for a long time. Workaround: check only the first 128 frames and try to extrapolate from here. Fixes Mantis ticket 0004035. | ||||
| * | decoder/faad: bail out early if sample rate is invalid | Max Kellermann | 2014-07-12 | 1 | -0/+2 |
| | | |||||
| * | decoder/faad: use adts_check_frame() in faad_song_duration() | Max Kellermann | 2014-07-12 | 1 | -2/+1 |
| | | | | | | | | Eliminate more duplicate code. | ||||
| * | decoder/faad: test "seekable" after ADTS frame check | Max Kellermann | 2014-07-12 | 1 | -1/+5 |
| | | | | | | | | | | Don't bother to check for ADIF just because the stream is not seekable. | ||||
| * | decoder/faad: move code to faad_decoder_new() | Max Kellermann | 2014-07-12 | 1 | -14/+17 |
| | | | | | | | | Merge some duplicate code. | ||||
| * | decoder/faad: remove unnecessary read | Max Kellermann | 2014-07-12 | 1 | -2/+0 |
| | | | | | | | | Eliminate some overhead when the caller doesn't need the buffer. | ||||
| * | DecoderBuffer: add method _clear() | Max Kellermann | 2014-07-12 | 1 | -8/+3 |
| | | |||||
| * | decoder/faad: check sample_rate, not frames_per_second | Max Kellermann | 2014-07-11 | 1 | -2/+4 |
| | | | | | | | | Checking the integer is faster, easier and more reliable. | ||||
| * | decoder/faad: make variables more local | Max Kellermann | 2014-07-11 | 1 | -71/+49 |
| | | |||||
| * | decoder/faad: use MAX_CHANNELS | Max Kellermann | 2014-07-11 | 1 | -4/+2 |
| | | | | | | | | .. instead of declaring a new constant. | ||||
* | | decoder/sndfile: implement scan_stream() instead of scan_file() | Max Kellermann | 2014-07-11 | 1 | -5/+6 |
| | | |||||
* | | decoder/sndfile: make variables more local | Max Kellermann | 2014-07-11 | 1 | -10/+7 |
| | | |||||
* | | decoder/sndfile: support more tag types | Max Kellermann | 2014-07-11 | 1 | -0/+4 |
| | | |||||
* | | decoder/sndfile: add str_type to TagType table | Max Kellermann | 2014-07-11 | 1 | -3/+11 |
| | | |||||
* | | decoder/sndfile: move code to sndfile_handle_tag() | Max Kellermann | 2014-07-11 | 1 | -15/+12 |
| | | |||||
* | | decoder/sndfile: log libsndfile version on startup | Max Kellermann | 2014-07-11 | 1 | -1/+8 |
| | | |||||
* | | Merge branch 'v0.18.x' | Max Kellermann | 2014-07-11 | 2 | -30/+31 |
|\| | |||||
| * | decoder/sndfile: use decoder_read_full() | Max Kellermann | 2014-07-11 | 1 | -16/+6 |
| | | | | | | | | | | Replaces the loop in sndfile_vio_read(), eliminating duplicate and fragile code. | ||||
| * | decoder/sndfile: use decoder_read() | Max Kellermann | 2014-07-11 | 1 | -16/+22 |
| | | | | | | | | .. instead of InputStream::LockRead(). The former is cancellable. | ||||
| * | decoder/sndfile: log seek errors | Max Kellermann | 2014-07-11 | 1 | -1/+4 |
| | | |||||
| * | decoder/audiofile: log seek errors | Max Kellermann | 2014-07-11 | 1 | -0/+1 |
| | | |||||
| * | decoder/audiofile: fix typo in comment | Max Kellermann | 2014-07-11 | 1 | -1/+1 |
| | | |||||
* | | decoder/audiofile: log libaudiofile errors | Max Kellermann | 2014-07-10 | 1 | -4/+15 |
| | | |||||
* | | decoder/audiofile: make variables more local | Max Kellermann | 2014-07-10 | 1 | -28/+24 |
| | | |||||
* | | decoder/audiofile: implement scan_stream() instead of scan_file() | Max Kellermann | 2014-07-10 | 1 | -23/+23 |
| | | |||||
* | | decoder/audiofile: use audiofile_get_duration() in _stream_decode() | Max Kellermann | 2014-07-10 | 1 | -5/+2 |
| | | |||||
* | | decoder/audiofile: split audiofile_get_duration() | Max Kellermann | 2014-07-10 | 1 | -4/+11 |
| | | |||||
* | | decoder/audiofile: remove unused Error variable | Max Kellermann | 2014-07-09 | 1 | -1/+0 |
| | | |||||
* | | Merge branch 'v0.18.x' | Max Kellermann | 2014-07-09 | 6 | -46/+49 |
|\| | |||||
| * | decoder/dsd: use decoder_read_full() where appropriate | Joff | 2014-07-09 | 4 | -31/+19 |
| | | | | | | | | | | | | | | Addresses Mantis ticket 0004015. [mk: use decoder_read_full() only when needed, and a few formal changes] | ||||
| * | decoder/audiofile: use decoder_read_full() | Max Kellermann | 2014-07-09 | 1 | -1/+6 |
| | | | | | | | | | | Works around WAV stream playback bug, because libaudiofile does not like partial reads (Mantis 0004028). | ||||
| * | DecoderAPI: add function decoder_read_full() | Max Kellermann | 2014-07-09 | 1 | -12/+2 |
| | | | | | | | | Move code from the "mad" plugin. | ||||
| * | DecoderAPI: add function decoder_skip() | Max Kellermann | 2014-07-09 | 1 | -14/+1 |
| | | | | | | | | Move code from the "mad" plugin. | ||||
| * | decoder/audiofile: use decoder_read() | Max Kellermann | 2014-07-09 | 1 | -15/+24 |
| | | | | | | | | | | .. instead of InputStream::LockRead(). The former is cancellable. | ||||
| * | decoder/OpusDecoderPlugin: fix build failure due to missing stdio.h include | Gustavo Zacarias | 2014-07-09 | 1 | -0/+1 |
| | | | | | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> | ||||
| * | decoder/AudiofileDecoderPlugin: fix build failure due to missing stdio.h include | Gustavo Zacarias | 2014-07-09 | 1 | -0/+1 |
| | | | | | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> | ||||
* | | decoder/plugins/FlacIOHandle: fix build failure due to missing stdio.h include | Gustavo Zacarias | 2014-07-09 | 1 | -0/+1 |
| | | | | | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> | ||||
* | | decoder/dsdlib: use decoder_skip() | Max Kellermann | 2014-07-09 | 1 | -26/+6 |
| | | | | | | | | Reduce duplicate code. | ||||
* | | decoder/dsdlib: pass unsigned offsets to dsdlib_skip*() | Max Kellermann | 2014-07-09 | 2 | -11/+9 |
| | | |||||
* | | Added Comment/Description to decoder/plugins/XiphTags.cxx | Christoph Tieben | 2014-06-27 | 1 | -0/+4 |
| | | |||||
* | | decoder: vorbis, flac, opus: honor DESCRIPTION= tag in Xiph-based files as a ↵ | Christoph Tieben | 2014-06-27 | 1 | -0/+1 |
| | | | | | | | | | | | | comment to the song (see https://www.xiph.org/vorbis/doc/v-comment.html for Details) | ||||
* | | InputStream: make Seek() always absolute | Max Kellermann | 2014-05-22 | 15 | -37/+141 |
| | | | | | | | | | | Remove the "whence" parameter that is not actually necessary, and only complicates the InputStream implementations. | ||||
* | | decoder/vorbis: make VorbisInputStream::input_stream a reference | Max Kellermann | 2014-05-22 | 1 | -6/+6 |
| | | |||||
* | | decoder/vorbis: add VorbisInputStream constructor | Max Kellermann | 2014-05-22 | 1 | -14/+13 |
| | | |||||
* | | decoder/vorbis: rename struct vorbis_input_stream to VorbisInputStream | Max Kellermann | 2014-05-22 | 1 | -7/+7 |
| | | |||||
* | | decoder/vorbis: add "restrict" to pointers in vorbis_interleave() | Max Kellermann | 2014-05-22 | 1 | -2/+2 |
| | | | | | | | | Allows more compiler optimizations. |