aboutsummaryrefslogtreecommitdiffstats
path: root/src/MuxElements.h
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2017-04-20 05:22:08 +0200
committerMatthias P. Braendli <matthias.braendli@mpb.li>2017-04-20 05:22:08 +0200
commitf6803b2375d1b21ed4cc035e268f8759d5170491 (patch)
treede666c74444fb024cbe0fc2907636febaf1d53b1 /src/MuxElements.h
parent2a8e60cd761d1f3728c765d646135b2110eea576 (diff)
downloaddabmux-f6803b2375d1b21ed4cc035e268f8759d5170491.tar.gz
dabmux-f6803b2375d1b21ed4cc035e268f8759d5170491.tar.bz2
dabmux-f6803b2375d1b21ed4cc035e268f8759d5170491.zip
WIP: Rework FIG0/21 definition and get FIC insertion to compile
Diffstat (limited to 'src/MuxElements.h')
-rw-r--r--src/MuxElements.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/MuxElements.h b/src/MuxElements.h
index 0eabb69..7f1b828 100644
--- a/src/MuxElements.h
+++ b/src/MuxElements.h
@@ -191,7 +191,7 @@ class DabService;
class DabComponent;
class DabSubchannel;
class LinkageSet;
-struct FrequencyListEntry;
+struct FrequencyInformation;
class dabEnsemble : public RemoteControllable {
public:
@@ -231,7 +231,7 @@ class dabEnsemble : public RemoteControllable {
std::vector<std::shared_ptr<AnnouncementCluster> > clusters;
std::vector<std::shared_ptr<LinkageSet> > linkagesets;
- std::vector<std::shared_ptr<FrequencyListEntry> > frequency_information;
+ std::vector<std::shared_ptr<FrequencyInformation> > frequency_information;
};
@@ -487,29 +487,33 @@ struct FrequencyInfoDab {
disjoint_mode1 = 3};
struct ListElement {
+ std::string uid;
ControlField_e control_field;
float frequency;
};
+ uint16_t eid;
std::vector<ListElement> frequencies;
};
struct FrequencyInfoDrm {
- uint8_t drm_service_id;
+ uint32_t drm_service_id;
std::vector<float> frequencies;
};
struct FrequencyInfoFm {
+ uint16_t pi_code;
std::vector<float> frequencies;
};
struct FrequencyInfoAmss {
- uint8_t amss_service_id;
+ uint32_t amss_service_id;
std::vector<float> frequencies;
};
struct FrequencyListEntry {
- uint16_t id;
+ std::string uid;
+
RangeModulation rm;
bool continuity;
@@ -521,6 +525,14 @@ struct FrequencyListEntry {
FrequencyInfoAmss fi_amss;
};
+struct FrequencyInformation {
+ std::string uid;
+
+ // The latest draft spec does not specify the RegionId anymore, it's
+ // now a reserved field.
+ std::vector<FrequencyListEntry> frequency_information;
+};
+
std::vector<DabSubchannel*>::iterator getSubchannel(
std::vector<DabSubchannel*>& subchannels, int id);