diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2018-02-20 19:00:22 +0100 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2018-02-20 19:00:22 +0100 |
commit | e4396c73c894c4730d4d28b3caefc26ce41cdd4a (patch) | |
tree | bde5a32583d181ea026d52ea7f0d020eeb257519 /src/MuxElements.h | |
parent | b09c89b9edda0abe2ab69df5c0d0723db43ad945 (diff) | |
download | dabmux-e4396c73c894c4730d4d28b3caefc26ce41cdd4a.tar.gz dabmux-e4396c73c894c4730d4d28b3caefc26ce41cdd4a.tar.bz2 dabmux-e4396c73c894c4730d4d28b3caefc26ce41cdd4a.zip |
Rework other_ensemble to support OE=1 in FIG0/24
Diffstat (limited to 'src/MuxElements.h')
-rw-r--r-- | src/MuxElements.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/MuxElements.h b/src/MuxElements.h index b5d1285..6b8b718 100644 --- a/src/MuxElements.h +++ b/src/MuxElements.h @@ -196,6 +196,7 @@ class DabComponent; class DabSubchannel; class LinkageSet; struct FrequencyInformation; +struct ServiceOtherEnsembleInfo; using vec_sp_component = std::vector<std::shared_ptr<DabComponent> >; using vec_sp_service = std::vector<std::shared_ptr<DabService> >; @@ -248,6 +249,7 @@ class dabEnsemble : public RemoteControllable { std::vector<std::shared_ptr<AnnouncementCluster> > clusters; std::vector<std::shared_ptr<LinkageSet> > linkagesets; std::vector<std::shared_ptr<FrequencyInformation> > frequency_information; + std::vector<ServiceOtherEnsembleInfo> service_other_ensemble; }; @@ -420,9 +422,6 @@ class DabService : public RemoteControllable uint16_t ASu = 0; std::vector<uint8_t> clusters; - // Ensembles in which this service is also available, used for FIG0/24 - std::vector<uint16_t> other_ensembles; - subchannel_type_t getType(const std::shared_ptr<dabEnsemble> ensemble) const; bool isProgramme(const std::shared_ptr<dabEnsemble>& ensemble) const; unsigned char nbComponent(const vec_sp_component& components) const; @@ -437,6 +436,13 @@ class DabService : public RemoteControllable virtual const std::string get_parameter(const std::string& parameter) const; }; +/* Represent an entry for FIG0/24 */ +struct ServiceOtherEnsembleInfo { + uint32_t service_id = 0; + // Ensembles in which this service is also available + std::vector<uint16_t> other_ensembles; +}; + enum class ServiceLinkType {DAB, FM, DRM, AMSS}; /* Represent one link inside a linkage set */ |