encoder/interface: make Read() `noexcept` (all implementations are)
This commit is contained in:
parent
31d89b36cf
commit
e861d4f83d
|
@ -102,7 +102,7 @@ public:
|
||||||
* @param length the maximum length of the destination buffer
|
* @param length the maximum length of the destination buffer
|
||||||
* @return the number of bytes written to #dest
|
* @return the number of bytes written to #dest
|
||||||
*/
|
*/
|
||||||
virtual std::size_t Read(void *dest, std::size_t length) = 0;
|
virtual std::size_t Read(void *dest, std::size_t length) noexcept = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PreparedEncoder {
|
class PreparedEncoder {
|
||||||
|
|
|
@ -33,7 +33,7 @@ public:
|
||||||
buffer.Append({(const std::byte *)data, length});
|
buffer.Append({(const std::byte *)data, length});
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t Read(void *dest, size_t length) override {
|
size_t Read(void *dest, size_t length) noexcept override {
|
||||||
return buffer.Read((std::byte *)dest, length);
|
return buffer.Read((std::byte *)dest, length);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -233,7 +233,7 @@ public:
|
||||||
* Reads data from the encoder (as much as available) and
|
* Reads data from the encoder (as much as available) and
|
||||||
* returns it as a new #page object.
|
* returns it as a new #page object.
|
||||||
*/
|
*/
|
||||||
PagePtr ReadPage();
|
PagePtr ReadPage() noexcept;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Broadcasts a page struct to all clients.
|
* Broadcasts a page struct to all clients.
|
||||||
|
@ -247,7 +247,7 @@ public:
|
||||||
*
|
*
|
||||||
* Mutext must not be locked.
|
* Mutext must not be locked.
|
||||||
*/
|
*/
|
||||||
void BroadcastFromEncoder();
|
void BroadcastFromEncoder() noexcept;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mutext must not be locked.
|
* Mutext must not be locked.
|
||||||
|
|
|
@ -142,7 +142,7 @@ HttpdOutput::OnAccept(UniqueSocketDescriptor fd,
|
||||||
}
|
}
|
||||||
|
|
||||||
PagePtr
|
PagePtr
|
||||||
HttpdOutput::ReadPage()
|
HttpdOutput::ReadPage() noexcept
|
||||||
{
|
{
|
||||||
if (unflushed_input >= 65536) {
|
if (unflushed_input >= 65536) {
|
||||||
/* we have fed a lot of input into the encoder, but it
|
/* we have fed a lot of input into the encoder, but it
|
||||||
|
@ -277,7 +277,7 @@ HttpdOutput::BroadcastPage(PagePtr page) noexcept
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
HttpdOutput::BroadcastFromEncoder()
|
HttpdOutput::BroadcastFromEncoder() noexcept
|
||||||
{
|
{
|
||||||
/* synchronize with the IOThread */
|
/* synchronize with the IOThread */
|
||||||
{
|
{
|
||||||
|
|
|
@ -124,7 +124,7 @@ SnapcastOutput::OnAccept(UniqueSocketDescriptor fd,
|
||||||
}
|
}
|
||||||
|
|
||||||
static AllocatedArray<std::byte>
|
static AllocatedArray<std::byte>
|
||||||
ReadEncoder(Encoder &encoder)
|
ReadEncoder(Encoder &encoder) noexcept
|
||||||
{
|
{
|
||||||
std::byte buffer[4096];
|
std::byte buffer[4096];
|
||||||
|
|
||||||
|
@ -137,13 +137,7 @@ inline void
|
||||||
SnapcastOutput::OpenEncoder(AudioFormat &audio_format)
|
SnapcastOutput::OpenEncoder(AudioFormat &audio_format)
|
||||||
{
|
{
|
||||||
encoder = prepared_encoder->Open(audio_format);
|
encoder = prepared_encoder->Open(audio_format);
|
||||||
|
|
||||||
try {
|
|
||||||
codec_header = ReadEncoder(*encoder);
|
codec_header = ReadEncoder(*encoder);
|
||||||
} catch (...) {
|
|
||||||
delete encoder;
|
|
||||||
throw;
|
|
||||||
}
|
|
||||||
|
|
||||||
unflushed_input = 0;
|
unflushed_input = 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue