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_
ATSCStreamData::DeleteCachedTable
bool DeleteCachedTable(const PSIPTable *psip) const override
Definition: atscstreamdata.cpp:883
mythtvexp.h
DVBStreamData::Reset
void Reset(void) override
Definition: dvbstreamdata.h:40
atscstreamdata.h
uint_vec_t
std::vector< uint > uint_vec_t
Definition: mpegstreamdata.h:23
ScanStreamData
Definition: scanstreamdata.h:10
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:36
ScanStreamData::HasEITPIDChanges
bool HasEITPIDChanges(const uint_vec_t &) const override
Definition: scanstreamdata.h:27
ScanStreamData::m_noDefaultPid
bool m_noDefaultPid
Definition: scanstreamdata.h:42
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:28
MPEGStreamData::m_listenerLock
QRecursiveMutex m_listenerLock
Definition: mpegstreamdata.h:344
MPEGStreamData
Encapsulates data about MPEG stream and emits events for each table.
Definition: mpegstreamdata.h:84
ScanStreamData::GetEITPIDChanges
bool GetEITPIDChanges(const uint_vec_t &, uint_vec_t &, uint_vec_t &) const override
Definition: scanstreamdata.h:29
DVBStreamData
Definition: dvbstreamdata.h:32
ScanStreamData::SetFreesatAdditionalSI
void SetFreesatAdditionalSI(bool freesat_si)
Definition: scanstreamdata.h:45
uint
unsigned int uint
Definition: compat.h:140
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:41
MPEGStreamData::AddListeningPID
virtual void AddListeningPID(uint pid, PIDPriority priority=kPIDPriorityNormal)
Definition: mpegstreamdata.h:119
MPEGStreamData::RemoveListeningPID
virtual void RemoveListeningPID(uint pid)
Definition: mpegstreamdata.h:134