diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2015-08-15 13:42:23 +0200 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2015-08-15 14:00:48 +0200 |
commit | d20b9a0c8f90fbc373dbd5757b5c6a03bbfd8c83 (patch) | |
tree | b32dc3a732377b2d094145d929bf39b44ee4366c /src/fig/FIG0.h | |
parent | 55a66f6408042abfd102f92fd0072a000d8e0235 (diff) | |
download | dabmux-d20b9a0c8f90fbc373dbd5757b5c6a03bbfd8c83.tar.gz dabmux-d20b9a0c8f90fbc373dbd5757b5c6a03bbfd8c83.tar.bz2 dabmux-d20b9a0c8f90fbc373dbd5757b5c6a03bbfd8c83.zip |
Add FIG0/19
Diffstat (limited to 'src/fig/FIG0.h')
-rw-r--r-- | src/fig/FIG0.h | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/src/fig/FIG0.h b/src/fig/FIG0.h index 9015b00..9811eaf 100644 --- a/src/fig/FIG0.h +++ b/src/fig/FIG0.h @@ -220,15 +220,32 @@ class FIG0_19 : public IFIG public: FIG0_19(FIGRuntimeInformation* rti); virtual FillStatus fill(uint8_t *buf, size_t max_size); - virtual FIG_rate repetition_rate(void) { return FIG_rate::A; } + virtual FIG_rate repetition_rate(void); virtual const int figtype(void) const { return 0; } virtual const int figextension(void) const { return 19; } private: FIGRuntimeInformation *m_rti; - bool m_initialised; - std::vector<std::shared_ptr<DabService> >::iterator service; + + void update_state(void); + + /* When a new announcement gets active, it is moved into the list + * of new announcements, and gets transmitted at a faster rate for + * two seconds. + * Same for recently disabled announcements. + */ + + /* Map of cluster to frame count */ + std::map< + std::shared_ptr<AnnouncementCluster>,int> m_new_announcements; + + std::set< + std::shared_ptr<AnnouncementCluster> > m_repeated_announcements; + + /* Map of cluster to frame count */ + std::map< + std::shared_ptr<AnnouncementCluster>,int> m_disabled_announcements; }; } // namespace FIC |