diff options
| author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2026-01-09 09:49:18 +0100 |
|---|---|---|
| committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2026-01-09 09:49:18 +0100 |
| commit | 071c13d4df3f3586073faff9fb0b78d930f42a7a (patch) | |
| tree | f48f6a2001465d520fcaa7c7b5c92d4ffb229a24 /src/DabMultiplexer.cpp | |
| parent | 5972c0042396e8445b34916fa7edd984cc76e115 (diff) | |
| download | dabmux-071c13d4df3f3586073faff9fb0b78d930f42a7a.tar.gz dabmux-071c13d4df3f3586073faff9fb0b78d930f42a7a.tar.bz2 dabmux-071c13d4df3f3586073faff9fb0b78d930f42a7a.zip | |
Get it to compile againnext
Diffstat (limited to 'src/DabMultiplexer.cpp')
| -rw-r--r-- | src/DabMultiplexer.cpp | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/src/DabMultiplexer.cpp b/src/DabMultiplexer.cpp index dc19751..48c55c5 100644 --- a/src/DabMultiplexer.cpp +++ b/src/DabMultiplexer.cpp @@ -145,8 +145,7 @@ DabMultiplexer::DabMultiplexer(DabMultiplexerConfig& config, ClockTAI& clock_tai m_config(config), m_time(), ensemble(std::make_shared<dabEnsemble>()), - m_clock_tai(clock_tai), - fig_carousel(ensemble, [&]() { return m_time.get_milliseconds_seconds(); }) + m_clock_tai(clock_tai) { RC_ADD_PARAMETER(frames, "Show number of frames generated [read-only]"); RC_ADD_PARAMETER(tist_offset, "Configured tist-offset"); @@ -171,7 +170,7 @@ void DabMultiplexer::prepare(bool require_tai_clock) */ m_scheduler_type = ensemble->fic_scheduler; auto time_func = [&]() { return m_time.get_milliseconds_seconds(); }; - + if (m_scheduler_type == FIC::FIGSchedulerType::Priority) { etiLog.level(info) << "Using priority-based FIG scheduler"; m_fig_carousel_priority.reset(new FIC::FIGCarouselPriority(ensemble, time_func)); @@ -280,7 +279,8 @@ void DabMultiplexer::prepare(bool require_tai_clock) etiLog.level(info) << "Calculated FIG 0/7 Count = " << ensemble->reconfig_counter; } - fig_carousel.set_rate_correction(m_config.pt.get<double>("general.fic_repetition_correction", 1.0)); + if (m_fig_carousel_classic) + m_fig_carousel_classic->set_rate_correction(m_config.pt.get<double>("general.fic_repetition_correction", 1.0)); } @@ -947,7 +947,8 @@ void DabMultiplexer::set_parameter(const std::string& parameter, } else if (parameter == "fic_repetition_correction") { try { - fig_carousel.set_rate_correction(std::stod(value)); + if (m_fig_carousel_classic) + m_fig_carousel_classic->set_rate_correction(std::stod(value)); } catch (const runtime_error& e) { stringstream ss; @@ -979,7 +980,14 @@ const std::string DabMultiplexer::get_parameter(const std::string& parameter) co throw ParameterError(ss.str()); } else if (parameter == "fic_repetition_correction") { - ss << fig_carousel.get_rate_correction(); + if (m_fig_carousel_classic) { + ss << m_fig_carousel_classic->get_rate_correction(); + } + else { + ss << "Parameter '" << parameter << + "' is not exported when the FIG classic carousel isn't used" << get_rc_name(); + throw ParameterError(ss.str()); + } } else { ss << "Parameter '" << parameter << @@ -995,6 +1003,12 @@ const json::map_t DabMultiplexer::get_all_values() const json::map_t map; map["frames"] = currentFrame; map["tist_offset"] = m_time.tist_offset(); + if (m_fig_carousel_classic) { + map["fic_repetition_correction"] = m_fig_carousel_classic->get_rate_correction(); + } + else { + map["fic_repetition_correction"] = std::nullopt; + } return map; } |
