diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2017-07-31 11:15:40 +0200 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2017-07-31 11:15:40 +0200 |
commit | 3c6c1ea2b45ec06ce493d595fc8cd3a03f056a84 (patch) | |
tree | 5c5dc7f84ff62cef70bbf3dbb15c30bdd96308ba /src/dabOutput | |
parent | 5d1b6420535c72d7a8df85a5db08ff1c0230690a (diff) | |
download | dabmux-3c6c1ea2b45ec06ce493d595fc8cd3a03f056a84.tar.gz dabmux-3c6c1ea2b45ec06ce493d595fc8cd3a03f056a84.tar.bz2 dabmux-3c6c1ea2b45ec06ce493d595fc8cd3a03f056a84.zip |
Insert metadata properly and enable EDI out in zmq2edi
Diffstat (limited to 'src/dabOutput')
-rw-r--r-- | src/dabOutput/metadata.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/dabOutput/metadata.cpp b/src/dabOutput/metadata.cpp index cb355cc..a77ccf5 100644 --- a/src/dabOutput/metadata.cpp +++ b/src/dabOutput/metadata.cpp @@ -35,7 +35,7 @@ #endif template <typename T> -size_t write_meta(output_metadata_id_e md, uint8_t *buf, T value) +size_t write_meta(output_metadata_id_e md, uint8_t *buf, const T value) { buf[0] = static_cast<uint8_t>(md); @@ -48,12 +48,16 @@ size_t write_meta(output_metadata_id_e md, uint8_t *buf, T value) buf[3] = value; } else if (len_value == 2) { - const uint16_t value = htons(value); - memcpy(buf + 3, &value, sizeof(value)); + const uint16_t val = htons(value); + memcpy(buf + 3, &val, sizeof(val)); } else if (len_value == 4) { - const uint32_t value = htons(value); - memcpy(buf + 3, &value, sizeof(value)); + const uint32_t val = htonl(value); + memcpy(buf + 3, &val, sizeof(val)); + } + else { + throw std::runtime_error("Unsupported metadata len " + + std::to_string(len_value)); } return 3 + len_value; |