input/Stream: remove attribute "cond", replace with handler interface
This adds a bit of overhead, but also adds flexibility to the API, because arbitrary triggers may be invoked from that virtual method implementation, not just Cond::signal(). The motivation for this is to make the handlers more dynamic, for the upcoming buffering class utilizing ProxyInputStream.
This commit is contained in:
@@ -39,9 +39,9 @@ struct FfmpegInputStream final : public InputStream {
|
||||
|
||||
bool eof;
|
||||
|
||||
FfmpegInputStream(const char *_uri, Mutex &_mutex, Cond &_cond,
|
||||
FfmpegInputStream(const char *_uri, Mutex &_mutex,
|
||||
AVIOContext *_h)
|
||||
:InputStream(_uri, _mutex, _cond),
|
||||
:InputStream(_uri, _mutex),
|
||||
h(_h), eof(false) {
|
||||
seekable = (h->seekable & AVIO_SEEKABLE_NORMAL) != 0;
|
||||
size = avio_size(h);
|
||||
@@ -83,7 +83,7 @@ input_ffmpeg_init(EventLoop &, const ConfigBlock &)
|
||||
|
||||
static InputStreamPtr
|
||||
input_ffmpeg_open(const char *uri,
|
||||
Mutex &mutex, Cond &cond)
|
||||
Mutex &mutex)
|
||||
{
|
||||
if (!StringStartsWith(uri, "gopher://") &&
|
||||
!StringStartsWith(uri, "rtp://") &&
|
||||
@@ -98,7 +98,7 @@ input_ffmpeg_open(const char *uri,
|
||||
if (result != 0)
|
||||
throw MakeFfmpegError(result);
|
||||
|
||||
return std::make_unique<FfmpegInputStream>(uri, mutex, cond, h);
|
||||
return std::make_unique<FfmpegInputStream>(uri, mutex, h);
|
||||
}
|
||||
|
||||
size_t
|
||||
|
||||
Reference in New Issue
Block a user