Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | decoder/dsf: eliminate temporary buffer | Max Kellermann | 2014-08-21 | 1 | -12/+7 |
| | | | | | Convert into a second buffer that gets passed to decoder_data() without copying back to the first buffer. | ||||
* | decoder/dsf: add constant DSF_BLOCK_SIZE | Max Kellermann | 2014-08-21 | 1 | -4/+6 |
| | |||||
* | decoder/dsf: use size_t loop variables when the limit is a size_t | Max Kellermann | 2014-08-21 | 1 | -2/+2 |
| | |||||
* | decoder/dsf: use memcpy() | Max Kellermann | 2014-08-21 | 1 | -4/+3 |
| | |||||
* | decoder/dsf: make the "scratch" buffer local | Max Kellermann | 2014-08-21 | 1 | -6/+5 |
| | | | | | This allows the compiler to discard buffer contents between two function calls. | ||||
* | Merge branch 'v0.18.x' | Max Kellermann | 2014-08-21 | 2 | -2/+2 |
|\ | |||||
| * | decoer/dsdiff: fix endless loop on malformed file | Max Kellermann | 2014-08-21 | 1 | -1/+1 |
| | | | | | | | | Same bug as in the previous commit. | ||||
| * | decoer/dsf: fix endless loop on malformed file | Max Kellermann | 2014-08-21 | 1 | -1/+1 |
| | | | | | | | | | | | | | | When the data chunk size is not a multiple of the frame size, the last partial frame lead to an endless loop. We fix this by checking chunk_sze>=frame instead of chunk_sze>0. This way, the partial frame is simply skipped. | ||||
* | | decoder/dsf: remove unused attribute "id3_size" | Max Kellermann | 2014-08-20 | 1 | -1/+0 |
| | | |||||
* | | decoder/DsdLib: use offset_type instead of uint64_t | Max Kellermann | 2014-08-19 | 4 | -27/+26 |
| | | |||||
* | | InputStream: move typedef offset_type to Offset.hxx | Max Kellermann | 2014-08-19 | 13 | -29/+31 |
| | | | | | | | | Reduce header dependencies. | ||||
* | | InputStream: make offset_type unsigned | Max Kellermann | 2014-08-19 | 1 | -3/+0 |
| | | |||||
* | | decoder/wavpack: add local reference variables | Max Kellermann | 2014-08-19 | 1 | -8/+21 |
| | | |||||
* | | decoder/sndfile: check InputStream::KnownSize() | Max Kellermann | 2014-08-19 | 1 | -0/+3 |
| | | |||||
* | | decoder/pcm: check InputStream::KnownSize() | Max Kellermann | 2014-08-19 | 1 | -3/+2 |
| | | |||||
* | | decoder/mpcdec: check InputStream::KnownSize() | Max Kellermann | 2014-08-19 | 1 | -0/+3 |
| | | |||||
* | | decoder/modplug: check InputStream::KnownSize() | Max Kellermann | 2014-08-19 | 1 | -13/+18 |
| | | |||||
* | | decoder/mad: check InputStream::KnownSize() | Max Kellermann | 2014-08-19 | 1 | -2/+2 |
| | | |||||
* | | decoder/ffmpeg: check InputStream::KnownSize() | Max Kellermann | 2014-08-19 | 1 | -0/+3 |
| | | |||||
* | | decoder/faad: remove unnecessary cast to size_t | Max Kellermann | 2014-08-19 | 1 | -3/+2 |
| | | |||||
* | | decoder/faad: remove size!=0 check | Max Kellermann | 2014-08-19 | 1 | -1/+1 |
| | | | | | | | | | | Since we already checked InputStream::KnownSize(), we can assume that GetSize() returns a valid value, and this check is obsolete. | ||||
* | | decoder/faad: check InputStream::KnownSize() | Max Kellermann | 2014-08-19 | 1 | -2/+6 |
| | | | | | | | | | | Replace the bogus GetSize() check and call GetSize() only when necessary. | ||||
* | | decoder/faad: call GetSize() only when needed | Max Kellermann | 2014-08-19 | 1 | -3/+2 |
| | | |||||
* | | decoder/DsdLib: make variables more local | Max Kellermann | 2014-08-19 | 1 | -9/+3 |
| | | |||||
* | | decoder/DsdLib: use fixed-length ID3 buffer | Max Kellermann | 2014-08-19 | 1 | -2/+2 |
| | | | | | | | | Variable-length arrays are not allowed in C++. | ||||
* | | decoder/DsdLib: check InputStream::KnownSize() | Max Kellermann | 2014-08-19 | 1 | -1/+1 |
| | | |||||
* | | decoder/dsf: check InputStream::KnownSize() | Max Kellermann | 2014-08-19 | 1 | -3/+5 |
| | | |||||
* | | decoder/dsf: remove unnecessary ID3 offset check | Max Kellermann | 2014-08-19 | 1 | -5/+1 |
| | | | | | | | | | | If the offset is out of range, the seek will simply fail. Not a problem. | ||||
* | | decoder/audiofile: check InputStream::KnownSize() | Max Kellermann | 2014-08-19 | 1 | -2/+2 |
| | | | | | | | | | | The plugin assumes that the size is known, but does not verify it at runtime. | ||||
* | | {input,decoder}/ffmpeg: move ffmpeg_domain to lib/ffmpeg/Domain.cxx | Max Kellermann | 2014-08-18 | 1 | -2/+1 |
| | | | | | | | | Eliminate duplicate definition (in input plugin and decoder plugin). | ||||
* | | decoder/dsf: Allow up to DSD512. Enable DSD rates based on Fs=48kHz | Jurgen Kramer | 2014-08-16 | 3 | -1/+27 |
| | | |||||
* | | Report bitrate for DSF and DSDIFF DSD decoders | Jurgen Kramer | 2014-08-16 | 2 | -4/+8 |
| | | |||||
* | | decoder/dsf: fix indent | Max Kellermann | 2014-08-16 | 1 | -3/+3 |
| | | |||||
* | | Merge branch 'v0.18.x' | Max Kellermann | 2014-08-16 | 1 | -0/+9 |
|\| | |||||
| * | decoder/ffmpeg: use avcodec_descriptor_get() to determine codec name | Max Kellermann | 2014-08-13 | 1 | -0/+9 |
| | | | | | | | | | | | | In version 11, both ffmpeg and libav deprecate AVCodecContext::codec_name. The function avcodec_descriptor_get() has been introduced long ago. | ||||
* | | PcmConvert: Convert() returns ConstBuffer | Max Kellermann | 2014-08-12 | 1 | -3/+6 |
| | | |||||
* | | MusicChunk: rename struct to MusicChunk | Max Kellermann | 2014-08-12 | 4 | -6/+7 |
| | | |||||
* | | decoder/Mp4v2: fix crash with undefined error | Andrée Ekroth | 2014-08-08 | 1 | -6/+4 |
| | | | | | | | | | | | | | | | | | | When no track is found the error is now properly set. Previously the calling function tried to log an undefined error, which resulted in a crash. MPD falls back to ffmpeg for unsupported tracks, such as ALAC. This should fix issue 4051. | ||||
* | | decoder/Mp4v2: add MP4v2 decoder plugin | Andrée Ekroth | 2014-08-07 | 3 | -0/+355 |
| | | | | | | | | | | This plugin uses the MP4v2 library to play mp4/m4a files. It is limited to file_decode. | ||||
* | | decoder/dsdiff: move artist/title/id3 offsets out of DsdiffMetaData | Max Kellermann | 2014-07-12 | 1 | -22/+14 |
| | | | | | | | | They are only used inside dsdiff_read_metadata_extra(). | ||||
* | | Merge branch 'v0.18.x' | Max Kellermann | 2014-07-12 | 1 | -12/+9 |
|\| | |||||
| * | decoder/dsdiff: simplify dsdlib_skip() call | Max Kellermann | 2014-07-12 | 1 | -4/+3 |
| | | |||||
| * | decoder/dsdiff: simplify loop condition, merge branches | Max Kellermann | 2014-07-12 | 1 | -7/+2 |
| | | |||||
| * | decoder/dsdiff: ignore garbage null byte at end of file | Max Kellermann | 2014-07-12 | 1 | -1/+1 |
| | | | | | | | | | | Failure to read another chunk header is not fatal. Continue to read metadata. | ||||
| * | decoder/dsdiff: fix metadata parser bug (uninitialized variables) | Max Kellermann | 2014-07-12 | 1 | -1/+4 |
| | | |||||
* | | DecoderBuffer: implement _skip() using decoder_skip() | Max Kellermann | 2014-07-12 | 1 | -17/+8 |
| | | |||||
* | | DecoderBuffer: add method _need() | Max Kellermann | 2014-07-12 | 3 | -31/+42 |
| | | | | | | | | Move code from the FAAD decoder plugin. | ||||
* | | DecoderBuffer: remove unused method _is_full() | Max Kellermann | 2014-07-12 | 2 | -10/+0 |
| | | |||||
* | | 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. |