diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2025-10-06 17:35:24 +0200 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2025-10-06 17:35:24 +0200 |
commit | 56fa3ca3db83627dbde9bd3a79da897c5a1cccb1 (patch) | |
tree | 04e6c361b99962683500c9db12a568309c3d3b6f /src/DabMultiplexer.cpp | |
parent | b6b840f6072e950f2ded719ae51badfba7566fa8 (diff) | |
download | dabmux-56fa3ca3db83627dbde9bd3a79da897c5a1cccb1.tar.gz dabmux-56fa3ca3db83627dbde9bd3a79da897c5a1cccb1.tar.bz2 dabmux-56fa3ca3db83627dbde9bd3a79da897c5a1cccb1.zip |
Add services other ensembles to linking hot-reloadnext
Diffstat (limited to 'src/DabMultiplexer.cpp')
-rw-r--r-- | src/DabMultiplexer.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/DabMultiplexer.cpp b/src/DabMultiplexer.cpp index d107b9a..45d9a66 100644 --- a/src/DabMultiplexer.cpp +++ b/src/DabMultiplexer.cpp @@ -504,8 +504,21 @@ void DabMultiplexer::reload_linking() etiLog.level(warn) << "Failed to validate new frequency info: " << e.what(); } - if (linkage_sets_valid and freq_info_valid) { - ensemble->set_linking_config(linkagesets, frequency_information); + bool services_oe_valid = false; + std::vector<ServiceOtherEnsembleInfo> services_other_ensemble; + + try { + const auto pt_other_services = new_conf.pt.get_child_optional("other-services"); + parse_other_service_linking(pt_other_services, services_other_ensemble); + services_oe_valid = true; + } + catch (const std::runtime_error& e) + { + etiLog.level(warn) << "Failed to validate new services in other onsembles: " << e.what(); + } + + if (linkage_sets_valid and freq_info_valid and services_oe_valid) { + ensemble->set_linking_config(linkagesets, frequency_information, services_other_ensemble); etiLog.level(info) << "Loaded new linkage sets and frequency info."; } } |