MythTV  master
interactivetv.h
Go to the documentation of this file.
1 #ifndef INTERACTIVE_TV_H_
2 #define INTERACTIVE_TV_H_
3 
5 class MythPainter;
6 class MHIContext;
7 class MythPlayer;
8 
13 {
14 #ifdef USING_MHEG
15  public:
16  // Interface to Myth
17  explicit InteractiveTV(MythPlayer *nvp);
18  virtual ~InteractiveTV();
19 
20  InteractiveTV(const InteractiveTV&) = delete;
21  void operator=(const InteractiveTV&) = delete;
22 
23  void Restart(int chanid, int sourceid, bool isLive);
24  // Process an incoming DSMCC packet.
25  void ProcessDSMCCSection(unsigned char *data, int length,
26  int componentTag, unsigned carouselId,
27  int dataBroadcastId);
28 
29  // A NetworkBootInfo sub-descriptor is present in the PMT
30  void SetNetBootInfo(const unsigned char *data, uint length);
31 
32  // See if the image has changed.
33  bool ImageHasChanged(void);
34  // Draw the (updated) image.
35  void UpdateOSD(InteractiveScreen *osdWindow, MythPainter *osdPainter);
36  // Called when the visible display area has changed.
37  void Reinit(const QRect &videoRect, const QRect &dispRect, float aspect);
38 
39  // Offer a key press. Returns true if it accepts it.
40  // This will depend on the current profile.
41  bool OfferKey(const QString& key);
42 
43  // Get the initial component tags.
44  void GetInitialStreams(int &audioTag, int &videoTag);
45  // Called when a stream starts or stops. Returns true if event is handled
46  bool StreamStarted(bool bStarted = true);
47 
48  MythPlayer *GetNVP(void) { return m_nvp; }
49 
50  protected:
51  MHIContext *m_context {nullptr};
52  MythPlayer *m_nvp {nullptr};
53 #endif
54 };
55 
56 #endif
InteractiveTV::ImageHasChanged
bool ImageHasChanged(void)
Definition: interactivetv.cpp:40
InteractiveTV::SetNetBootInfo
void SetNetBootInfo(const unsigned char *data, uint length)
Definition: interactivetv.cpp:76
InteractiveTV::m_context
MHIContext * m_context
Definition: interactivetv.h:51
InteractiveTV::GetNVP
MythPlayer * GetNVP(void)
Definition: interactivetv.h:48
InteractiveTV::Reinit
void Reinit(const QRect &videoRect, const QRect &dispRect, float aspect)
Definition: interactivetv.cpp:61
MythPlayer
Definition: mythplayer.h:165
InteractiveTV::GetInitialStreams
void GetInitialStreams(int &audioTag, int &videoTag)
Definition: interactivetv.cpp:71
InteractiveTV::OfferKey
bool OfferKey(const QString &key)
Definition: interactivetv.cpp:66
InteractiveTV::InteractiveTV
InteractiveTV(MythPlayer *nvp)
This is the interface between an MHEG, or possibly, MHP engine and the rest of Myth.
Definition: interactivetv.cpp:16
InteractiveTV::m_nvp
MythPlayer * m_nvp
Definition: interactivetv.h:52
InteractiveTV::UpdateOSD
void UpdateOSD(InteractiveScreen *osdWindow, MythPainter *osdPainter)
Definition: interactivetv.cpp:46
InteractiveTV::~InteractiveTV
virtual ~InteractiveTV()
Definition: interactivetv.cpp:28
InteractiveTV::ProcessDSMCCSection
void ProcessDSMCCSection(unsigned char *data, int length, int componentTag, unsigned carouselId, int dataBroadcastId)
Definition: interactivetv.cpp:53
uint
unsigned int uint
Definition: compat.h:140
InteractiveTV::StreamStarted
bool StreamStarted(bool bStarted=true)
Definition: interactivetv.cpp:81
InteractiveScreen
Definition: interactivescreen.h:8
MythPainter
Definition: mythpainter.h:33
InteractiveTV::operator=
void operator=(const InteractiveTV &)=delete
MHIContext
Contains various utility functions for interactive television.
Definition: mhi.h:51
InteractiveTV
This is the interface between an MHEG engine and a MythTV TV object.
Definition: interactivetv.h:13
InteractiveTV::InteractiveTV
InteractiveTV(const InteractiveTV &)=delete
InteractiveTV::Restart
void Restart(int chanid, int sourceid, bool isLive)
Definition: interactivetv.cpp:34