aboutsummaryrefslogtreecommitdiffstats
path: root/src/input (follow)
Commit message (Collapse)AuthorAgeFilesLines
* TextInputStream: manually shift the buffer before readingMax Kellermann2014-10-191-0/+2
| | | | | Fixes truncated lines in m3u and cue files (regression by commit 67958f7).
* ThreadInputStream: call ThreadRead() inside the thread instead of Read()Max Kellermann2014-10-111-1/+1
| | | | Fixes deadlock bug in the "mms" plugin.
* ThreadInputStream: add assertionsMax Kellermann2014-10-111-0/+8
|
* input/Open: use OpenLocalInputStream()Max Kellermann2014-10-024-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 filesMax Kellermann2014-10-022-0/+86
| | | | Combines the "file" and the "archive" input plugins.
* input/archive: export function OpenArchiveInputStream()Max Kellermann2014-10-022-16/+33
|
* input/file: export function OpenFileInputStream()Max Kellermann2014-10-022-13/+37
|
* input/file: generate Error when errno==ENOENTMax Kellermann2014-10-021-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 Kellermann2014-10-021-1/+1
|
* input/file: make variables more localMax Kellermann2014-10-021-6/+3
|
* input/file: convert to classMax Kellermann2014-10-021-1/+2
|
* CurlInputPlugin: fix crash after second init callThomas Guillem2014-09-161-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 pausedMax Kellermann2014-09-021-1/+46
|
* input/async: add method IsPaused()Max Kellermann2014-09-021-0/+4
|
* input/nfs: notify client on errorMax Kellermann2014-08-311-0/+2
| | | | Fixes hanging NFS client.
* *: add missing Compiler.h includesMax Kellermann2014-08-301-0/+1
| | | | Necessary for "final" on gcc 4.6.
* InputStream: move typedef offset_type to Offset.hxxMax Kellermann2014-08-192-1/+34
| | | | Reduce header dependencies.
* InputStream: CheapSeeking() returns false only for HTTPMax Kellermann2014-08-191-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 Kellermann2014-08-191-1/+13
|
* InputStream: make offset_type unsignedMax Kellermann2014-08-194-11/+5
|
* InputPlugin: remove typedef offset_typeMax Kellermann2014-08-191-2/+0
| | | | Has been moved to class InputStream long ago.
* InputStream: allow GetSize() only if KnownSize()Max Kellermann2014-08-191-0/+1
|
* InputStream: add constant UNKNOWN_SIZEMax Kellermann2014-08-192-4/+6
|
* input/proxy: use KnownSize()Max Kellermann2014-08-191-1/+4
|
* InputStream: use KnownSize() in assertionMax Kellermann2014-08-191-1/+1
|
* input/ffmpeg: use av_strerror()Max Kellermann2014-08-181-4/+4
| | | | Generate more detailed error messages.
* {input,decoder}/ffmpeg: move ffmpeg_domain to lib/ffmpeg/Domain.cxxMax Kellermann2014-08-181-3/+1
| | | | Eliminate duplicate definition (in input plugin and decoder plugin).
* input/ffmpeg: update offset after seekingMax Kellermann2014-08-181-0/+1
|
* input/ffmpeg: refactor error code pathMax Kellermann2014-08-181-4/+4
|
* input/ffmpeg: use "auto"Max Kellermann2014-08-181-10/+10
|
* input/TextInputStream: move ReadBufferedLine() to util/TextFile.hxxMax Kellermann2014-08-072-22/+3
|
* TextInputStream: don't stripMax Kellermann2014-08-071-3/+3
| | | | | Let the caller decide whether to strip. Only remove \n and \r (end-of-line markers).
* TextInputStream: move code to ReadBufferedLine()Max Kellermann2014-08-072-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" argumentMax Kellermann2014-08-072-10/+6
|
* util/CharUtil: add IsWhitespaceFast()Max Kellermann2014-08-071-1/+1
|
* input/TextInputStream: return char*Max Kellermann2014-08-072-18/+15
| | | | | Revert to the old API before commit e9e55b08, removing unnecessary bloat.
* util/FifoBuffer: rename to StaticFifoBufferMax Kellermann2014-08-061-2/+2
|
* input/curl: options "verify_peer" and "verify_host"Max Kellermann2014-07-111-0/+8
|
* input/async: more API documentationMax Kellermann2014-07-101-0/+26
|
* input/async: use IsEOF() instead of !open for "ready" checkMax Kellermann2014-06-211-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 Kellermann2014-06-211-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 bufferMax Kellermann2014-06-211-2/+4
| | | | Avoids off-by-one bug and obsoletes the bug fix in commit 966c4244
* input/nfs: use the asynchronous libnfs APIMax Kellermann2014-06-171-84/+138
| | | | More robust and cancellable.
* AsyncInputStream: fix assertion failure in AppendToBuffer()Max Kellermann2014-06-171-4/+6
|
* AsyncInputStream: reset "paused" when seekingMax Kellermann2014-06-171-0/+1
| | | | May cause assertion failure.
* input/curl: hold mutex while writing to postponed_errorMax Kellermann2014-06-173-3/+16
|
* input/AsyncInputStream: add method IsBufferFull()Max Kellermann2014-06-171-0/+4
|
* input/async: add offset/size comparison to IsEOF()Max Kellermann2014-05-241-1/+2
|
* input/curl: move code to AsyncInputStreamMax Kellermann2014-05-243-211/+409
| | | | | New base class for other InputStream implementations that run in the I/O thread.
* input/curl: call SetReady() only if not yet readyMax Kellermann2014-05-241-1/+2
| | | Fixes assertion failure.