aboutsummaryrefslogtreecommitdiffstats
path: root/src/input (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-10-19TextInputStream: manually shift the buffer before readingMax Kellermann1-0/+2
Fixes truncated lines in m3u and cue files (regression by commit 67958f7).
2014-10-11ThreadInputStream: call ThreadRead() inside the thread instead of Read()Max Kellermann1-1/+1
Fixes deadlock bug in the "mms" plugin.
2014-10-11ThreadInputStream: add assertionsMax Kellermann1-0/+8
2014-10-02input/Open: use OpenLocalInputStream()Max Kellermann4-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.
2014-10-02input/LocalOpen: new library for opening local filesMax Kellermann2-0/+86
Combines the "file" and the "archive" input plugins.
2014-10-02input/archive: export function OpenArchiveInputStream()Max Kellermann2-16/+33
2014-10-02input/file: export function OpenFileInputStream()Max Kellermann2-13/+37
2014-10-02input/file: generate Error when errno==ENOENTMax Kellermann1-1/+1
This special case was useless. Fixes the dreaded "Unrecognized URI" error message when a file does not exist.
2014-10-02input/file: make the "fd" attribute "const"Max Kellermann1-1/+1
2014-10-02input/file: make variables more localMax Kellermann1-6/+3
2014-10-02input/file: convert to classMax Kellermann1-1/+2
2014-09-16CurlInputPlugin: fix crash after second init callThomas Guillem1-0/+1
The second time init was called, http_200_aliases pointed to a freed pointer and leaded to a SEGFAULT.
2014-09-02input/nfs: auto-reconnect if failed while pausedMax Kellermann1-1/+46
2014-09-02input/async: add method IsPaused()Max Kellermann1-0/+4
2014-08-31input/nfs: notify client on errorMax Kellermann1-0/+2
Fixes hanging NFS client.
2014-08-30*: add missing Compiler.h includesMax Kellermann1-0/+1
Necessary for "final" on gcc 4.6.
2014-08-19InputStream: move typedef offset_type to Offset.hxxMax Kellermann2-1/+34
Reduce header dependencies.
2014-08-19InputStream: CheapSeeking() returns false only for HTTPMax Kellermann1-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.
2014-08-19InputStream: move code to ExpensiveSeeking()Max Kellermann1-1/+13
2014-08-19InputStream: make offset_type unsignedMax Kellermann4-11/+5
2014-08-19InputPlugin: remove typedef offset_typeMax Kellermann1-2/+0
Has been moved to class InputStream long ago.
2014-08-19InputStream: allow GetSize() only if KnownSize()Max Kellermann1-0/+1
2014-08-19InputStream: add constant UNKNOWN_SIZEMax Kellermann2-4/+6
2014-08-19input/proxy: use KnownSize()Max Kellermann1-1/+4
2014-08-19InputStream: use KnownSize() in assertionMax Kellermann1-1/+1
2014-08-18input/ffmpeg: use av_strerror()Max Kellermann1-4/+4
Generate more detailed error messages.
2014-08-18{input,decoder}/ffmpeg: move ffmpeg_domain to lib/ffmpeg/Domain.cxxMax Kellermann1-3/+1
Eliminate duplicate definition (in input plugin and decoder plugin).
2014-08-18input/ffmpeg: update offset after seekingMax Kellermann1-0/+1
2014-08-18input/ffmpeg: refactor error code pathMax Kellermann1-4/+4
2014-08-18input/ffmpeg: use "auto"Max Kellermann1-10/+10
2014-08-07input/TextInputStream: move ReadBufferedLine() to util/TextFile.hxxMax Kellermann2-22/+3
2014-08-07TextInputStream: don't stripMax Kellermann1-3/+3
Let the caller decide whether to strip. Only remove \n and \r (end-of-line markers).
2014-08-07TextInputStream: move code to ReadBufferedLine()Max Kellermann2-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.
2014-08-07util/StringUtil: add StripRight() overload with "end" argumentMax Kellermann2-10/+6
2014-08-07util/CharUtil: add IsWhitespaceFast()Max Kellermann1-1/+1
2014-08-07input/TextInputStream: return char*Max Kellermann2-18/+15
Revert to the old API before commit e9e55b08, removing unnecessary bloat.
2014-08-06util/FifoBuffer: rename to StaticFifoBufferMax Kellermann1-2/+2
2014-07-11input/curl: options "verify_peer" and "verify_host"Max Kellermann1-0/+8
2014-07-10input/async: more API documentationMax Kellermann1-0/+26
2014-06-21input/async: use IsEOF() instead of !open for "ready" checkMax Kellermann1-2/+3
Checking "!open" did not work with the NFS plugin because that plugin does not close the file automatically, unlike CURL.
2014-06-21Revert "AsyncInputStream: fix assertion failure in AppendToBuffer()"Max Kellermann1-6/+4
This reverts commit 966c4244cbe0de174df1e72e917078269ec9dbb9. The commit was bad, because the bug was really in NfsInputStream::DoRead(); see previous commit.
2014-06-21input/nfs: never read more than space available in bufferMax Kellermann1-2/+4
Avoids off-by-one bug and obsoletes the bug fix in commit 966c4244
2014-06-17input/nfs: use the asynchronous libnfs APIMax Kellermann1-84/+138
More robust and cancellable.
2014-06-17AsyncInputStream: fix assertion failure in AppendToBuffer()Max Kellermann1-4/+6
2014-06-17AsyncInputStream: reset "paused" when seekingMax Kellermann1-0/+1
May cause assertion failure.
2014-06-17input/curl: hold mutex while writing to postponed_errorMax Kellermann3-3/+16
2014-06-17input/AsyncInputStream: add method IsBufferFull()Max Kellermann1-0/+4
2014-05-24input/async: add offset/size comparison to IsEOF()Max Kellermann1-1/+2
2014-05-24input/curl: move code to AsyncInputStreamMax Kellermann3-211/+409
New base class for other InputStream implementations that run in the I/O thread.
2014-05-24input/curl: call SetReady() only if not yet readyMax Kellermann1-1/+2
Fixes assertion failure.