summaryrefslogtreecommitdiffstats
path: root/src/MuxElements.h
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2018-03-01 16:33:09 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2018-03-01 16:33:09 +0100
commiteb91bc3b5c8079e8e9486dba342d5d123ac483e0 (patch)
treeb4ec889dd475ab94ee2c46d4d7e3538d6020b2e6 /src/MuxElements.h
parent1c0c84eb56beec849abe025ee1fc9ce1364aa34c (diff)
downloaddabmux-eb91bc3b5c8079e8e9486dba342d5d123ac483e0.tar.gz
dabmux-eb91bc3b5c8079e8e9486dba342d5d123ac483e0.tar.bz2
dabmux-eb91bc3b5c8079e8e9486dba342d5d123ac483e0.zip
Rework frequency information representation
Diffstat (limited to 'src/MuxElements.h')
-rw-r--r--src/MuxElements.h24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/MuxElements.h b/src/MuxElements.h
index 16db414..f28a687 100644
--- a/src/MuxElements.h
+++ b/src/MuxElements.h
@@ -251,7 +251,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<FrequencyInformation> frequency_information;
std::vector<ServiceOtherEnsembleInfo> service_other_ensemble;
};
@@ -531,11 +531,17 @@ struct FrequencyInfoAmss {
std::vector<float> frequencies;
};
-struct FrequencyListEntry {
+/* One FI database entry. DB key are oe, rm, and idfield, which is
+ * inside the fi_XXX field
+ */
+struct FrequencyInformation {
std::string uid;
+ bool other_ensemble = false;
- RangeModulation rm;
- bool continuity;
+ // The latest draft spec does not specify the RegionId anymore, it's
+ // now a reserved field.
+ RangeModulation rm = RangeModulation::dab_ensemble;
+ bool continuity = false;
// Only one of those must contain information, which
// must be consistent with RangeModulation
@@ -545,16 +551,6 @@ struct FrequencyListEntry {
FrequencyInfoAmss fi_amss;
};
-struct FrequencyInformation {
- std::string uid;
-
- bool other_ensemble = false;
-
- // The latest draft spec does not specify the RegionId anymore, it's
- // now a reserved field.
- std::vector<FrequencyListEntry> frequency_information;
-};
-
vec_sp_subchannel::iterator getSubchannel(
vec_sp_subchannel& subchannels,
int id);