Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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. | ||||
* | Revert "AsyncInputStream: fix assertion failure in AppendToBuffer()" | Max Kellermann | 2014-06-21 | 1 | -6/+4 |
| | | | | | | | This reverts commit 966c4244cbe0de174df1e72e917078269ec9dbb9. The commit was bad, because the bug was really in NfsInputStream::DoRead(); see previous commit. | ||||
* | input/nfs: never read more than space available in buffer | Max Kellermann | 2014-06-21 | 1 | -2/+4 |
| | | | | Avoids off-by-one bug and obsoletes the bug fix in commit 966c4244 | ||||
* | input/nfs: use the asynchronous libnfs API | Max Kellermann | 2014-06-17 | 1 | -84/+138 |
| | | | | More robust and cancellable. | ||||
* | AsyncInputStream: fix assertion failure in AppendToBuffer() | Max Kellermann | 2014-06-17 | 1 | -4/+6 |
| | |||||
* | AsyncInputStream: reset "paused" when seeking | Max Kellermann | 2014-06-17 | 1 | -0/+1 |
| | | | | May cause assertion failure. | ||||
* | input/curl: hold mutex while writing to postponed_error | Max Kellermann | 2014-06-17 | 3 | -3/+16 |
| | |||||
* | input/AsyncInputStream: add method IsBufferFull() | Max Kellermann | 2014-06-17 | 1 | -0/+4 |
| | |||||
* | input/async: add offset/size comparison to IsEOF() | Max Kellermann | 2014-05-24 | 1 | -1/+2 |
| | |||||
* | input/curl: move code to AsyncInputStream | Max Kellermann | 2014-05-24 | 3 | -211/+409 |
| | | | | | New base class for other InputStream implementations that run in the I/O thread. | ||||
* | input/curl: call SetReady() only if not yet ready | Max Kellermann | 2014-05-24 | 1 | -1/+2 |
| | | | Fixes assertion failure. |