Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | input/curl: ignore ResponseBoundary() while seeking | Max Kellermann | 2014-11-10 | 1 | -0/+4 |
| | | | | | | While seeking, metadata must not be updated. ResponseBoundary() was added in MPD 0.19.1, but I forgot to add the IsSeeking() check there. This caused the "seekable" flag to reset. | ||||
* | input/AsyncInputStream: set Error when seeking unseekable | Max Kellermann | 2014-11-07 | 1 | -1/+4 |
| | | | | Fixes crash in the "audiofile" decoder while logging the seek error. | ||||
* | input/Open: expose input_domain | Max Kellermann | 2014-11-07 | 3 | -2/+52 |
| | |||||
* | input/curl: forget Content-Length (and more) after redirect | Max Kellermann | 2014-11-02 | 1 | -0/+26 |
| | | | | Fixes playback of redirected streams. | ||||
* | AsyncInputStream: add method ClearTag() | Max Kellermann | 2014-11-02 | 1 | -0/+4 |
| | |||||
* | InputStream: add method ClearMimeType() | Max Kellermann | 2014-11-02 | 1 | -0/+4 |
| | |||||
* | Merge branch 'v0.18.x' into v0.19.x | Max Kellermann | 2014-11-02 | 1 | -1/+1 |
|\ | |||||
| * | input/curl: fix curl_easy_setopt() parameter types | Max Kellermann | 2014-11-02 | 1 | -4/+4 |
| | | |||||
* | | input/curl: fix curl_easy_setopt() parameter types | Max Kellermann | 2014-11-01 | 1 | -3/+3 |
| | | |||||
* | | TextInputStream: don't ignore unterminated last line | Max Kellermann | 2014-10-28 | 1 | -4/+16 |
| | | |||||
* | | TextInputStream: manually shift the buffer before reading | Max Kellermann | 2014-10-19 | 1 | -0/+2 |
| | | | | | | | | | | Fixes truncated lines in m3u and cue files (regression by commit 67958f7). | ||||
* | | ThreadInputStream: call ThreadRead() inside the thread instead of Read() | Max Kellermann | 2014-10-11 | 1 | -1/+1 |
| | | | | | | | | Fixes deadlock bug in the "mms" plugin. | ||||
* | | ThreadInputStream: add assertions | Max Kellermann | 2014-10-11 | 1 | -0/+8 |
| | | |||||
* | | input/Open: use OpenLocalInputStream() | Max Kellermann | 2014-10-02 | 4 | -30/+33 |
| | | | | | | | | | | | | | | Make the "open" method of plugins "file" and "archive" dummy methods that always fail. Instead, let InputStream::Open() hard-code access to these two plugins by using OpenLocalInputStream(). This allows simplifyin the algorithm for falling back to probing archive plugins. | ||||
* | | input/LocalOpen: new library for opening local files | Max Kellermann | 2014-10-02 | 2 | -0/+86 |
| | | | | | | | | Combines the "file" and the "archive" input plugins. | ||||
* | | input/archive: export function OpenArchiveInputStream() | Max Kellermann | 2014-10-02 | 2 | -16/+33 |
| | | |||||
* | | input/file: export function OpenFileInputStream() | Max Kellermann | 2014-10-02 | 2 | -13/+37 |
| | | |||||
* | | input/file: generate Error when errno==ENOENT | Max Kellermann | 2014-10-02 | 1 | -1/+1 |
| | | | | | | | | | | This special case was useless. Fixes the dreaded "Unrecognized URI" error message when a file does not exist. | ||||
* | | input/file: make the "fd" attribute "const" | Max Kellermann | 2014-10-02 | 1 | -1/+1 |
| | | |||||
* | | input/file: make variables more local | Max Kellermann | 2014-10-02 | 1 | -6/+3 |
| | | |||||
* | | input/file: convert to class | Max Kellermann | 2014-10-02 | 1 | -1/+2 |
| | | |||||
* | | CurlInputPlugin: fix crash after second init call | Thomas Guillem | 2014-09-16 | 1 | -0/+1 |
| | | | | | | | | | | The second time init was called, http_200_aliases pointed to a freed pointer and leaded to a SEGFAULT. | ||||
* | | input/nfs: auto-reconnect if failed while paused | Max Kellermann | 2014-09-02 | 1 | -1/+46 |
| | | |||||
* | | input/async: add method IsPaused() | Max Kellermann | 2014-09-02 | 1 | -0/+4 |
| | | |||||
* | | input/nfs: notify client on error | Max Kellermann | 2014-08-31 | 1 | -0/+2 |
| | | | | | | | | Fixes hanging NFS client. | ||||
* | | *: add missing Compiler.h includes | Max Kellermann | 2014-08-30 | 1 | -0/+1 |
| | | | | | | | | Necessary for "final" on gcc 4.6. | ||||
* | | InputStream: move typedef offset_type to Offset.hxx | Max Kellermann | 2014-08-19 | 2 | -1/+34 |
| | | | | | | | | Reduce header dependencies. | ||||
* | | InputStream: CheapSeeking() returns false only for HTTP | Max Kellermann | 2014-08-19 | 1 | -2/+3 |
| | | | | | | | | | | | | Seeking on NFS or SMB is cheap. Actually, only HTTP streams are expensive to seek. This enables a few features on NFS/SMB files, for example Ogg tags. | ||||
* | | InputStream: move code to ExpensiveSeeking() | Max Kellermann | 2014-08-19 | 1 | -1/+13 |
| | | |||||
* | | InputStream: make offset_type unsigned | Max Kellermann | 2014-08-19 | 4 | -11/+5 |
| | | |||||
* | | InputPlugin: remove typedef offset_type | Max Kellermann | 2014-08-19 | 1 | -2/+0 |
| | | | | | | | | Has been moved to class InputStream long ago. | ||||
* | | InputStream: allow GetSize() only if KnownSize() | Max Kellermann | 2014-08-19 | 1 | -0/+1 |
| | | |||||
* | | InputStream: add constant UNKNOWN_SIZE | Max Kellermann | 2014-08-19 | 2 | -4/+6 |
| | | |||||
* | | input/proxy: use KnownSize() | Max Kellermann | 2014-08-19 | 1 | -1/+4 |
| | | |||||
* | | InputStream: use KnownSize() in assertion | Max Kellermann | 2014-08-19 | 1 | -1/+1 |
| | | |||||
* | | input/ffmpeg: use av_strerror() | Max Kellermann | 2014-08-18 | 1 | -4/+4 |
| | | | | | | | | Generate more detailed error messages. | ||||
* | | {input,decoder}/ffmpeg: move ffmpeg_domain to lib/ffmpeg/Domain.cxx | Max Kellermann | 2014-08-18 | 1 | -3/+1 |
| | | | | | | | | Eliminate duplicate definition (in input plugin and decoder plugin). | ||||
* | | input/ffmpeg: update offset after seeking | Max Kellermann | 2014-08-18 | 1 | -0/+1 |
| | | |||||
* | | input/ffmpeg: refactor error code path | Max Kellermann | 2014-08-18 | 1 | -4/+4 |
| | | |||||
* | | input/ffmpeg: use "auto" | Max Kellermann | 2014-08-18 | 1 | -10/+10 |
| | | |||||
* | | input/TextInputStream: move ReadBufferedLine() to util/TextFile.hxx | Max Kellermann | 2014-08-07 | 2 | -22/+3 |
| | | |||||
* | | TextInputStream: don't strip | Max Kellermann | 2014-08-07 | 1 | -3/+3 |
| | | | | | | | | | | Let the caller decide whether to strip. Only remove \n and \r (end-of-line markers). | ||||
* | | TextInputStream: move code to ReadBufferedLine() | Max Kellermann | 2014-08-07 | 2 | -34/+45 |
| | | | | | | | | | | Look at the buffer first, before trying to read from the file. This reduces overhead because we don't refill the buffer after every line. | ||||
* | | util/StringUtil: add StripRight() overload with "end" argument | Max Kellermann | 2014-08-07 | 2 | -10/+6 |
| | | |||||
* | | util/CharUtil: add IsWhitespaceFast() | Max Kellermann | 2014-08-07 | 1 | -1/+1 |
| | | |||||
* | | input/TextInputStream: return char* | Max Kellermann | 2014-08-07 | 2 | -18/+15 |
| | | | | | | | | | | Revert to the old API before commit e9e55b08, removing unnecessary bloat. | ||||
* | | util/FifoBuffer: rename to StaticFifoBuffer | Max Kellermann | 2014-08-06 | 1 | -2/+2 |
| | | |||||
* | | input/curl: options "verify_peer" and "verify_host" | Max Kellermann | 2014-07-11 | 1 | -0/+8 |
| | | |||||
* | | input/async: more API documentation | Max Kellermann | 2014-07-10 | 1 | -0/+26 |
| | | |||||
* | | input/async: use IsEOF() instead of !open for "ready" check | Max Kellermann | 2014-06-21 | 1 | -2/+3 |
| | | | | | | | | | | Checking "!open" did not work with the NFS plugin because that plugin does not close the file automatically, unlike CURL. |