input/InputStreams: pass std::unique_lock<> to various methods
This commit is contained in:
@@ -91,8 +91,9 @@ class CdioParanoiaInputStream final : public InputStream {
|
||||
|
||||
/* virtual methods from InputStream */
|
||||
bool IsEOF() noexcept override;
|
||||
size_t Read(void *ptr, size_t size) override;
|
||||
void Seek(offset_type offset) override;
|
||||
size_t Read(std::unique_lock<Mutex> &lock,
|
||||
void *ptr, size_t size) override;
|
||||
void Seek(std::unique_lock<Mutex> &lock, offset_type offset) override;
|
||||
};
|
||||
|
||||
static constexpr Domain cdio_domain("cdio");
|
||||
@@ -255,7 +256,8 @@ input_cdio_open(const char *uri,
|
||||
}
|
||||
|
||||
void
|
||||
CdioParanoiaInputStream::Seek(offset_type new_offset)
|
||||
CdioParanoiaInputStream::Seek(std::unique_lock<Mutex> &,
|
||||
offset_type new_offset)
|
||||
{
|
||||
if (new_offset > size)
|
||||
throw FormatRuntimeError("Invalid offset to seek %ld (%ld)",
|
||||
@@ -276,7 +278,8 @@ CdioParanoiaInputStream::Seek(offset_type new_offset)
|
||||
}
|
||||
|
||||
size_t
|
||||
CdioParanoiaInputStream::Read(void *ptr, size_t length)
|
||||
CdioParanoiaInputStream::Read(std::unique_lock<Mutex> &,
|
||||
void *ptr, size_t length)
|
||||
{
|
||||
size_t nbytes = 0;
|
||||
char *wptr = (char *) ptr;
|
||||
|
||||
@@ -49,8 +49,10 @@ public:
|
||||
|
||||
/* virtual methods from InputStream */
|
||||
bool IsEOF() noexcept override;
|
||||
size_t Read(void *ptr, size_t size) override;
|
||||
void Seek(offset_type offset) override;
|
||||
size_t Read(std::unique_lock<Mutex> &lock,
|
||||
void *ptr, size_t size) override;
|
||||
void Seek(std::unique_lock<Mutex> &lock,
|
||||
offset_type offset) override;
|
||||
};
|
||||
|
||||
gcc_const
|
||||
@@ -79,7 +81,8 @@ input_ffmpeg_open(const char *uri,
|
||||
}
|
||||
|
||||
size_t
|
||||
FfmpegInputStream::Read(void *ptr, size_t read_size)
|
||||
FfmpegInputStream::Read(std::unique_lock<Mutex> &,
|
||||
void *ptr, size_t read_size)
|
||||
{
|
||||
size_t result;
|
||||
|
||||
@@ -99,7 +102,7 @@ FfmpegInputStream::IsEOF() noexcept
|
||||
}
|
||||
|
||||
void
|
||||
FfmpegInputStream::Seek(offset_type new_offset)
|
||||
FfmpegInputStream::Seek(std::unique_lock<Mutex> &, offset_type new_offset)
|
||||
{
|
||||
uint64_t result;
|
||||
|
||||
|
||||
@@ -48,8 +48,10 @@ public:
|
||||
return GetOffset() >= GetSize();
|
||||
}
|
||||
|
||||
size_t Read(void *ptr, size_t size) override;
|
||||
void Seek(offset_type offset) override;
|
||||
size_t Read(std::unique_lock<Mutex> &lock,
|
||||
void *ptr, size_t size) override;
|
||||
void Seek(std::unique_lock<Mutex> &lock,
|
||||
offset_type offset) override;
|
||||
};
|
||||
|
||||
InputStreamPtr
|
||||
@@ -74,7 +76,8 @@ OpenFileInputStream(Path path, Mutex &mutex)
|
||||
}
|
||||
|
||||
void
|
||||
FileInputStream::Seek(offset_type new_offset)
|
||||
FileInputStream::Seek(std::unique_lock<Mutex> &,
|
||||
offset_type new_offset)
|
||||
{
|
||||
{
|
||||
const ScopeUnlock unlock(mutex);
|
||||
@@ -85,7 +88,8 @@ FileInputStream::Seek(offset_type new_offset)
|
||||
}
|
||||
|
||||
size_t
|
||||
FileInputStream::Read(void *ptr, size_t read_size)
|
||||
FileInputStream::Read(std::unique_lock<Mutex> &,
|
||||
void *ptr, size_t read_size)
|
||||
{
|
||||
size_t nbytes;
|
||||
|
||||
|
||||
@@ -56,8 +56,9 @@ public:
|
||||
return offset >= size;
|
||||
}
|
||||
|
||||
size_t Read(void *ptr, size_t size) override;
|
||||
void Seek(offset_type offset) override;
|
||||
size_t Read(std::unique_lock<Mutex> &lock,
|
||||
void *ptr, size_t size) override;
|
||||
void Seek(std::unique_lock<Mutex> &lock, offset_type offset) override;
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -118,7 +119,8 @@ input_smbclient_open(const char *uri,
|
||||
}
|
||||
|
||||
size_t
|
||||
SmbclientInputStream::Read(void *ptr, size_t read_size)
|
||||
SmbclientInputStream::Read(std::unique_lock<Mutex> &,
|
||||
void *ptr, size_t read_size)
|
||||
{
|
||||
ssize_t nbytes;
|
||||
|
||||
@@ -136,7 +138,8 @@ SmbclientInputStream::Read(void *ptr, size_t read_size)
|
||||
}
|
||||
|
||||
void
|
||||
SmbclientInputStream::Seek(offset_type new_offset)
|
||||
SmbclientInputStream::Seek(std::unique_lock<Mutex> &,
|
||||
offset_type new_offset)
|
||||
{
|
||||
off_t result;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user