MythTV  master
scanstreamdata.h
Go to the documentation of this file.
1 // -*- Mode: c++ -*-
2 // Copyright (c) 2003-2004, Daniel Thor Kristjansson
3 #ifndef SCANSTREAMDATA_H_
4 #define SCANSTREAMDATA_H_
5 
6 #include "atscstreamdata.h"
7 #include "dvbstreamdata.h"
8 #include "mythtvexp.h"
9 
11  public virtual MPEGStreamData,
12  public ATSCStreamData,
13  public DVBStreamData
14 {
15  public:
16  explicit ScanStreamData(bool no_default_pid = false);
17  ~ScanStreamData() override;
18 
19  bool IsRedundant(uint pid, const PSIPTable &psip) const override; // ATSCStreamData
20  bool HandleTables(uint pid, const PSIPTable &psip) override; // ATSCStreamData
21 
22  void AddAllListeningPIDs(void);
24  void Reset(void) override; // ATSCStreamData
25  void Reset(uint desired_netid, uint desired_tsid, int desired_serviceid) override; // DVBStreamData
26 
27  bool HasEITPIDChanges(const uint_vec_t& /*in_use_pids*/) const override // ATSCStreamData
28  { return false; }
29  bool GetEITPIDChanges(const uint_vec_t& /*in_use_pids*/,
30  uint_vec_t& /*add_pids*/,
31  uint_vec_t& /*del_pids*/) const override // ATSCStreamData
32  { return false; }
33 
34  QString GetSIStandard(const QString& guess = "mpeg") const;
35 
36  void SetFreesatAdditionalSI(bool freesat_si);
37 
38  private:
39  bool DeleteCachedTable(const PSIPTable *psip) const override; // ATSCStreamData
41  bool m_dvbUkFreesatSi {false};
43 };
44 
45 inline void ScanStreamData::SetFreesatAdditionalSI(bool freesat_si)
46 {
47  QMutexLocker locker(&m_listenerLock);
48  m_dvbUkFreesatSi = freesat_si;
49  if (freesat_si)
51  else
53 }
54 
55 #endif // SCANSTREAMDATA_H_
vector< uint > uint_vec_t
bool IsRedundant(uint pid, const PSIPTable &psip) const override
Returns true if table already seen.
virtual void RemoveListeningPID(uint pid)
A PSIP table is a variant of a PES packet containing an MPEG, ATSC or DVB table.
Definition: mpegtables.h:386
#define MTV_PUBLIC
Definition: mythtvexp.h:15
unsigned int uint
Definition: compat.h:140
bool GetEITPIDChanges(const uint_vec_t &, uint_vec_t &, uint_vec_t &) const override
bool HasEITPIDChanges(const uint_vec_t &) const override
void SetFreesatAdditionalSI(bool freesat_si)
bool m_dvbUkFreesatSi
listen for additional Freesat service information
bool DeleteCachedTable(const PSIPTable *psip) const override
virtual void AddListeningPID(uint pid, PIDPriority priority=kPIDPriorityNormal)
void Reset(void) override
Definition: dvbstreamdata.h:40
bool HandleTables(uint pid, const PSIPTable &psip) override
Process PSIP packets.
Encapsulates data about ATSC stream and emits events for most tables.
Encapsulates data about MPEG stream and emits events for each table.
void Reset(void) override