Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | 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. | |||||
* | | input/curl: include cleanup | Max Kellermann | 2014-05-24 | 1 | -7/+0 | |
| | |