From e36865985abf9c4f31d34a9542c790f5baf8fe60 Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Wed, 8 Jul 2020 09:17:09 +0200 Subject: Replace PAD fifo by UNIX socket --- src/pad_common.cpp | 43 ++++++++++++------------------------------- 1 file changed, 12 insertions(+), 31 deletions(-) (limited to 'src/pad_common.cpp') diff --git a/src/pad_common.cpp b/src/pad_common.cpp index 0c3f0b3..8ee2cd8 100644 --- a/src/pad_common.cpp +++ b/src/pad_common.cpp @@ -139,40 +139,21 @@ pad_t* PADPacketizer::GetPAD() { return FlushPAD(); } - -void PADPacketizer::WriteAllPADs(int output_fd, int limit, bool output_sole_fpad, bool output_xpad) { - size_t error_count = 0; - size_t error_bytes = 0; - - // output a limited amount of PADs (-1 = no limit) - for (int i = 0; i != limit; i++) { - pad_t* pad = output_xpad ? GetPAD() : FlushPAD(); - - // if only F-PAD present, abort (if desired) - if (pad->back() == FPAD_LEN && !output_sole_fpad) { - delete pad; - break; - } - - if (verbose >= 2) { - fprintf(stderr, "ODR-PadEnc writing PAD (%zu bytes):", pad->size()); - for (size_t j = 0; j < pad->size(); j++) { - const char sep = (j == (pad->size() - 1) || j == (pad->size() - 1 - FPAD_LEN)) ? '|' : ' '; - fprintf(stderr, "%c%02X", sep , (*pad)[j]); - } - fprintf(stderr, "\n"); - } - - if (write(output_fd, &(*pad)[0], pad->size()) != (signed) pad->size()) { - error_count++; - error_bytes += pad->size(); +std::vector PADPacketizer::GetNextPAD(bool output_xpad) { + pad_t* pad = output_xpad ? GetPAD() : FlushPAD(); + + if (verbose >= 2) { + fprintf(stderr, "ODR-PadEnc writing PAD (%zu bytes):", pad->size()); + for (size_t j = 0; j < pad->size(); j++) { + const char sep = (j == (pad->size() - 1) || j == (pad->size() - 1 - FPAD_LEN)) ? '|' : ' '; + fprintf(stderr, "%c%02X", sep , (*pad)[j]); } - - delete pad; + fprintf(stderr, "\n"); } - if (error_count) - fprintf(stderr, "ODR-PadEnc Error: Could not write %zu PAD(s) with %zu Bytes\n", error_count, error_bytes); + std::vector p = *pad; + delete pad; + return p; } -- cgit v1.2.3