aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2022-03-17 19:43:45 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2022-03-17 19:43:45 +0100
commita4bfb55fa0632b63de5b10142fe9f966b9e21ec6 (patch)
treea166c867a8dedc337cd34dae81f0f2945bc98fba /src
parentd2a4c375f1ef7af7c7bc4f02ad2dc0d919f2c488 (diff)
downloaddabmux-a4bfb55fa0632b63de5b10142fe9f966b9e21ec6.tar.gz
dabmux-a4bfb55fa0632b63de5b10142fe9f966b9e21ec6.tar.bz2
dabmux-a4bfb55fa0632b63de5b10142fe9f966b9e21ec6.zip
Remove xpadAppType_valid and handle Broadcast Website like MOT slideshow
Diffstat (limited to 'src')
-rw-r--r--src/ConfigParser.cpp4
-rw-r--r--src/MuxElements.h1
-rw-r--r--src/fig/FIG0_13.cpp5
3 files changed, 2 insertions, 8 deletions
diff --git a/src/ConfigParser.cpp b/src/ConfigParser.cpp
index fd367ec..dbbc2fb 100644
--- a/src/ConfigParser.cpp
+++ b/src/ConfigParser.cpp
@@ -824,15 +824,14 @@ void parse_ptree(
// This was previously hardcoded in FIG0/13 and means "MOT, start of X-PAD data group"
ua.xpadAppType = 12;
- ua.xpadAppType_valid = true;
}
else if (ua_value == "spi") {
ua.uaType = FIG0_13_APPTYPE_SPI;
ua.xpadAppType = 16;
- ua.xpadAppType_valid = true;
}
else if (ua_value == "website") {
ua.uaType = FIG0_13_APPTYPE_WEBSITE;
+ ua.xpadAppType = 12;
}
if (component->isPacketComponent(ensemble->subchannels)) {
@@ -863,7 +862,6 @@ void parse_ptree(
// This was previously hardcoded in FIG0/13 and means "MOT, start of X-PAD data group"
ua.xpadAppType = 12;
- ua.xpadAppType_valid = true;
if (component->isPacketComponent(ensemble->subchannels)) {
component->packet.uaTypes.push_back(ua);
diff --git a/src/MuxElements.h b/src/MuxElements.h
index a709191..1e9b707 100644
--- a/src/MuxElements.h
+++ b/src/MuxElements.h
@@ -433,7 +433,6 @@ struct userApplication {
/* X-PAD Application Type: this 5-bit field shall specify the lowest numbered application type used to transport
* this user application (see clause 7.4.3).
* Also See EN 300 401 Table 11 "X-PAD Application types" */
- bool xpadAppType_valid = false;
uint8_t xpadAppType = 0;
};
diff --git a/src/fig/FIG0_13.cpp b/src/fig/FIG0_13.cpp
index aa0be1e..d1d18c7 100644
--- a/src/fig/FIG0_13.cpp
+++ b/src/fig/FIG0_13.cpp
@@ -176,10 +176,7 @@ FillStatus FIG0_13::fill(uint8_t *buf, size_t max_size)
remaining -= sizeof(FIG0_13_app);
fig0->Length += sizeof(FIG0_13_app);
- if (m_transmit_programme and !ua.xpadAppType_valid) {
- throw MuxInitException("FIG0/13 combination unsupported");
- }
- else if (m_transmit_programme and ua.xpadAppType_valid) {
+ if (m_transmit_programme) {
const uint8_t dscty = 60; // TS 101 756 Table 2b (MOT)
const uint16_t xpadapp = htons((ua.xpadAppType << 8) | dscty);
/* xpad meaning