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
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
46inline 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_
Encapsulates data about ATSC stream and emits events for most tables.
void Reset(void) override
Definition: dvbstreamdata.h:41
Encapsulates data about MPEG stream and emits events for each table.
QRecursiveMutex m_listenerLock
virtual bool DeleteCachedTable(const PSIPTable *psip) const
virtual bool IsRedundant(uint pid, const PSIPTable &psip) const
Returns true if table already seen.
virtual void RemoveListeningPID(uint pid)
virtual void Reset(void)
virtual void AddListeningPID(uint pid, PIDPriority priority=kPIDPriorityNormal)
virtual bool HandleTables(uint pid, const PSIPTable &psip)
Process PSIP packets.
@ FREESAT_SI_PID
Definition: mpegtables.h:240
A PSIP table is a variant of a PES packet containing an MPEG, ATSC or DVB table.
Definition: mpegtables.h:410
bool m_dvbUkFreesatSi
listen for additional Freesat service information
bool HasEITPIDChanges(const uint_vec_t &) const override
bool GetEITPIDChanges(const uint_vec_t &, uint_vec_t &, uint_vec_t &) const override
void SetFreesatAdditionalSI(bool freesat_si)
unsigned int uint
Definition: freesurround.h:24
std::vector< uint > uint_vec_t
#define MTV_PUBLIC
Definition: mythtvexp.h:15