diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2022-06-08 11:35:07 +0200 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2022-06-08 11:35:07 +0200 |
commit | 830c43f4b462fb2f8d995dd0cdc8fd32282d023e (patch) | |
tree | 8242f4e887c1bd8005fa4c12b9c96034a99f3052 | |
parent | 5269fec9106327db4ada313701ceae67d833e736 (diff) | |
download | ODR-SourceCompanion-830c43f4b462fb2f8d995dd0cdc8fd32282d023e.tar.gz ODR-SourceCompanion-830c43f4b462fb2f8d995dd0cdc8fd32282d023e.tar.bz2 ODR-SourceCompanion-830c43f4b462fb2f8d995dd0cdc8fd32282d023e.zip |
Do not block on missing PAD data
-rw-r--r-- | src/PadInterface.cpp | 4 | ||||
-rw-r--r-- | src/odr-sourcecompanion.cpp | 5 |
2 files changed, 4 insertions, 5 deletions
diff --git a/src/PadInterface.cpp b/src/PadInterface.cpp index 47b9bce..a8a129c 100644 --- a/src/PadInterface.cpp +++ b/src/PadInterface.cpp @@ -45,12 +45,12 @@ void PadInterface::open(const std::string& pad_ident) int flags = fcntl(m_sock, F_GETFL); if (flags == -1) { std::string errstr(strerror(errno)); - throw std::runtime_error("TCP: Could not get socket flags: " + errstr); + throw std::runtime_error("PAD socket: Could not get socket flags: " + errstr); } if (fcntl(m_sock, F_SETFL, flags | O_NONBLOCK) == -1) { std::string errstr(strerror(errno)); - throw std::runtime_error("TCP: Could not set O_NONBLOCK: " + errstr); + throw std::runtime_error("PAD socket: Could not set O_NONBLOCK: " + errstr); } struct sockaddr_un claddr; diff --git a/src/odr-sourcecompanion.cpp b/src/odr-sourcecompanion.cpp index df1d514..2aab20d 100644 --- a/src/odr-sourcecompanion.cpp +++ b/src/odr-sourcecompanion.cpp @@ -457,12 +457,11 @@ int main(int argc, char *argv[]) // Fill the PAD Frame queue because multiple PAD frame requests // can come for each DAB+ Frames (up to 6), if (padlen != 0) { - bool no_data = false; - while (!no_data and !avtinput.padQueueFull()) { + while (!avtinput.padQueueFull()) { vector<uint8_t> pad_data = pad_intf.request(padlen); if (pad_data.empty()) { - /* no PAD available */ + break; } else if (pad_data.size() == (size_t)padlen + 1) { const size_t calculated_padlen = pad_data[padlen]; |