Go to the documentation of this file.
3 #ifndef DVBSTREAMDATA_H_
4 #define DVBSTREAMDATA_H_
13 using nit_vec_t = std::vector<const NetworkInformationTable*>;
18 using sdt_vec_t = std::vector<const ServiceDescriptionTable*>;
24 using bat_vec_t = std::vector<const BouquetAssociationTable*>;
37 int desired_program,
int cardnum,
bool cacheTables =
false);
43 virtual void Reset(
uint desired_netid,
uint desired_tsid,
int desired_serviceid);
46 void SetDesiredService(
uint netid,
uint tsid,
int serviceid);
56 inline void SetRealNetworkID(
int real_network_id);
59 inline void SetDishNetEIT(
bool use_dishnet_eit);
60 inline bool HasAnyEIT(
void)
const;
61 inline bool HasEIT(
uint serviceid)
const;
70 m_sdtStatus.SetVersion(tsid,
version, last_section);
75 m_sdtoStatus.SetVersion(tsid,
version, last_section);
79 bool HasAllNITSections(
void)
const;
81 bool HasAllNIToSections(
void)
const;
83 bool HasAllSDTSections(
uint tsid)
const;
85 bool HasAllSDToSections(
uint tsid)
const;
87 bool HasAllBATSections(
uint bid)
const;
90 bool HasCachedAnyNIT(
bool current =
true)
const;
91 bool HasCachedAllNIT(
bool current =
true)
const;
92 bool HasCachedAnySDT(
uint tsid,
bool current =
true)
const;
93 bool HasCachedAllSDT(
uint tsid,
bool current =
true)
const;
94 bool HasCachedSDT(
bool current =
true)
const;
95 bool HasCachedAnySDTs(
bool current =
true)
const;
96 bool HasCachedAllSDTs(
bool current =
true)
const;
97 bool HasCachedAnyBAT(
uint batid,
bool current =
true)
const;
98 bool HasCachedAllBAT(
uint batid,
bool current =
true)
const;
99 bool HasCachedAnyBATs(
bool current =
true)
const;
100 bool HasCachedAllBATs(
bool current =
true)
const;
109 void ReturnCachedSDTTables(
sdt_vec_t &sdts)
const;
137 int m_dvbRealNetworkId { -1 };
140 bool m_dvbEitDishnetLong{
false};
187 dvb_has_eit_t::const_iterator it =
m_dvbHasEit.find(serviceid);
194 #endif // DVBSTREAMDATA_H_
uint DesiredTransportID(void) const
std::vector< DVBOtherStreamListener * > dvb_other_listener_vec_t
void SetVersionSDT(uint tsid, int version, uint last_section)
virtual bool DeleteCachedTable(const PSIPTable *psip) const
QMap< uint, bool > dvb_has_eit_t
dvb_eit_listener_vec_t m_dvbEitListeners
QMap< uint, bat_ptr_t > bat_cache_t
TableStatusMap m_batStatus
virtual bool IsRedundant(uint pid, const PSIPTable &psip) const
Returns true if table already seen.
TableStatusMap m_eitStatus
BouquetAssociationTable const * bat_const_ptr_t
void Reset(void) override
dvb_has_eit_t m_dvbHasEit
Tell us if the DVB service has EIT.
std::vector< uint > uint_vec_t
std::vector< const BouquetAssociationTable * > bat_vec_t
QMap< uint, sdt_vec_t > sdt_map_t
TableStatusMap m_sdtStatus
NetworkInformationTable const * nit_const_ptr_t
QDateTime current(bool stripped)
Returns current Date and Time in UTC.
TableStatusMap m_sdtoStatus
A PSIP table is a variant of a PES packet containing an MPEG, ATSC or DVB table.
void SetDishNetEIT(bool use_dishnet_eit)
std::vector< const ServiceDescriptionTable * > sdt_vec_t
bool HasEIT(uint serviceid) const
ServiceDescriptionTable const * sdt_const_ptr_t
QRecursiveMutex m_listenerLock
virtual bool HandleTables(uint pid, const PSIPTable &psip)
Process PSIP packets.
dvb_main_listener_vec_t m_dvbMainListeners
Encapsulates data about MPEG stream and emits events for each table.
std::vector< DVBMainStreamListener * > dvb_main_listener_vec_t
std::vector< DVBEITStreamListener * > dvb_eit_listener_vec_t
This table tells the decoder on which PIDs to find A/V data.
bool HasAnyEIT(void) const
QMap< uint, sdt_ptr_t > sdt_cache_t
TableStatusMap m_citStatus
dvb_other_listener_vec_t m_dvbOtherListeners
Tells what channels can be found on each transponder for one bouquet (a bunch of channels from one pr...
std::vector< const NetworkInformationTable * > nit_vec_t
void SetVersionSDTo(uint tsid, int version, uint last_section)
virtual bool GetEITPIDChanges(const uint_vec_t &, uint_vec_t &, uint_vec_t &) const
QMap< uint, nit_ptr_t > nit_cache_t
virtual bool HasEITPIDChanges(const uint_vec_t &) const
bool m_dvbEitDishnetLong
Decode DishNet's long-term DVB EIT.
void SetRealNetworkID(int real_network_id)
uint DesiredNetworkID(void) const
uint m_desiredNetId
DVB table monitoring.