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 "libmythtv/mythtvexp.h"
7 
8 #include "atscstreamdata.h"
9 #include "dvbstreamdata.h"
10 
12  public virtual MPEGStreamData,
13  public ATSCStreamData,
14  public DVBStreamData
15 {
16  public:
17  explicit ScanStreamData(bool no_default_pid = false);
18  ~ScanStreamData() override;
19 
20  bool IsRedundant(uint pid, const PSIPTable &psip) const override; // ATSCStreamData
21  bool HandleTables(uint pid, const PSIPTable &psip) override; // ATSCStreamData
22 
23  void AddAllListeningPIDs(void);
25  void Reset(void) override; // ATSCStreamData
26  void Reset(uint desired_netid, uint desired_tsid, int desired_serviceid) override; // DVBStreamData
27 
28  bool HasEITPIDChanges(const uint_vec_t& /*in_use_pids*/) const override // ATSCStreamData
29  { return false; }
30  bool GetEITPIDChanges(const uint_vec_t& /*in_use_pids*/,
31  uint_vec_t& /*add_pids*/,
32  uint_vec_t& /*del_pids*/) const override // ATSCStreamData
33  { return false; }
34 
35  QString GetSIStandard(const QString& guess = "mpeg") const;
36 
37  void SetFreesatAdditionalSI(bool freesat_si);
38 
39  private:
40  bool DeleteCachedTable(const PSIPTable *psip) const override; // ATSCStreamData
42  bool m_dvbUkFreesatSi {false};
44 };
45 
46 inline void ScanStreamData::SetFreesatAdditionalSI(bool freesat_si)
47 {
48  QMutexLocker locker(&m_listenerLock);
49  m_dvbUkFreesatSi = freesat_si;
50  if (freesat_si)
52  else
54 }
55 
56 #endif // SCANSTREAMDATA_H_
ATSCStreamData::DeleteCachedTable
bool DeleteCachedTable(const PSIPTable *psip) const override
Definition: atscstreamdata.cpp:883
mythtvexp.h
DVBStreamData::Reset
void Reset(void) override
Definition: dvbstreamdata.h:41
atscstreamdata.h
uint_vec_t
std::vector< uint > uint_vec_t
Definition: mpegstreamdata.h:24
ScanStreamData
Definition: scanstreamdata.h:11
ATSCStreamData::HandleTables
bool HandleTables(uint pid, const PSIPTable &psip) override
Process PSIP packets.
Definition: atscstreamdata.cpp:206
PID::FREESAT_SI_PID
@ FREESAT_SI_PID
Definition: mpegtables.h:240
ATSCStreamData::Reset
void Reset(void) override
Definition: atscstreamdata.h:37
ScanStreamData::HasEITPIDChanges
bool HasEITPIDChanges(const uint_vec_t &) const override
Definition: scanstreamdata.h:28
ScanStreamData::m_noDefaultPid
bool m_noDefaultPid
Definition: scanstreamdata.h:43
PSIPTable
A PSIP table is a variant of a PES packet containing an MPEG, ATSC or DVB table.
Definition: mpegtables.h:409
ATSCStreamData
Encapsulates data about ATSC stream and emits events for most tables.
Definition: atscstreamdata.h:29
MPEGStreamData::m_listenerLock
QRecursiveMutex m_listenerLock
Definition: mpegstreamdata.h:345
MPEGStreamData
Encapsulates data about MPEG stream and emits events for each table.
Definition: mpegstreamdata.h:85
ScanStreamData::GetEITPIDChanges
bool GetEITPIDChanges(const uint_vec_t &, uint_vec_t &, uint_vec_t &) const override
Definition: scanstreamdata.h:30
DVBStreamData
Definition: dvbstreamdata.h:33
ScanStreamData::SetFreesatAdditionalSI
void SetFreesatAdditionalSI(bool freesat_si)
Definition: scanstreamdata.h:46
uint
unsigned int uint
Definition: compat.h:79
dvbstreamdata.h
MTV_PUBLIC
#define MTV_PUBLIC
Definition: mythtvexp.h:15
ATSCStreamData::IsRedundant
bool IsRedundant(uint pid, const PSIPTable &psip) const override
Returns true if table already seen.
Definition: atscstreamdata.cpp:158
ScanStreamData::m_dvbUkFreesatSi
bool m_dvbUkFreesatSi
listen for additional Freesat service information
Definition: scanstreamdata.h:42
MPEGStreamData::AddListeningPID
virtual void AddListeningPID(uint pid, PIDPriority priority=kPIDPriorityNormal)
Definition: mpegstreamdata.h:120
MPEGStreamData::RemoveListeningPID
virtual void RemoveListeningPID(uint pid)
Definition: mpegstreamdata.h:135