diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2021-01-15 08:22:09 +0100 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2021-01-15 08:22:09 +0100 |
commit | c7869f8a51d772ad0654df19741ead8bfe50acfe (patch) | |
tree | 1c5b45cb64d15224ba3762a1d932570653bbce3d /contrib/edi/EDIConfig.h | |
parent | ac13498dc219c74d8214a314d0341574ada0ceb3 (diff) | |
download | ODR-AudioEnc-c7869f8a51d772ad0654df19741ead8bfe50acfe.tar.gz ODR-AudioEnc-c7869f8a51d772ad0654df19741ead8bfe50acfe.tar.bz2 ODR-AudioEnc-c7869f8a51d772ad0654df19741ead8bfe50acfe.zip |
Common 6b5db53: Update zmq.hpp, TCPReceiveServer, EDI decoder and output
Diffstat (limited to 'contrib/edi/EDIConfig.h')
-rw-r--r-- | contrib/edi/EDIConfig.h | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/contrib/edi/EDIConfig.h b/contrib/edi/EDIConfig.h deleted file mode 100644 index 4f1df97..0000000 --- a/contrib/edi/EDIConfig.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - Copyright (C) 2019 - Matthias P. Braendli, matthias.braendli@mpb.li - - http://www.opendigitalradio.org - - EDI output, - UDP and TCP transports and their configuration - - */ -/* - This file is part of the ODR-mmbTools. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#pragma once - -#include "config.h" -#include <vector> -#include <string> -#include <memory> -#include <cstdint> - -namespace edi { - -/** Configuration for EDI output */ - -struct destination_t { - virtual ~destination_t() {}; -}; - -// Can represent both unicast and multicast destinations -struct udp_destination_t : public destination_t { - std::string dest_addr; - std::string source_addr; - unsigned int source_port = 0; - unsigned int ttl = 10; -}; - -// TCP server that can accept multiple connections -struct tcp_server_t : public destination_t { - unsigned int listen_port = 0; - size_t max_frames_queued = 1024; -}; - -// TCP client that connects to one endpoint -struct tcp_client_t : public destination_t { - std::string dest_addr; - unsigned int dest_port = 0; - size_t max_frames_queued = 1024; -}; - -struct configuration_t { - unsigned chunk_len = 207; // RSk, data length of each chunk - unsigned fec = 0; // number of fragments that can be recovered - bool dump = false; // dump a file with the EDI packets - bool verbose = false; - bool enable_pft = false; // Enable protection and fragmentation - bool enable_transport_header = true; // Sets Addr, Source and Dest in PFT - unsigned int tagpacket_alignment = 0; - std::vector<std::shared_ptr<destination_t> > destinations; - unsigned int dest_port = 0; // common destination port, because it's encoded in the transport layer - unsigned int latency_frames = 0; // if nonzero, enable interleaver with a latency of latency_frames * 24ms - - bool enabled() const { return destinations.size() > 0; } - bool interleaver_enabled() const { return latency_frames > 0; } - - void print() const; -}; - -} - - |