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  InteractiveTV(const InteractiveTV& rhs);
19  virtual ~InteractiveTV();
20 
21  void Restart(int chanid, int sourceid, bool isLive);
22  // Process an incoming DSMCC packet.
23  void ProcessDSMCCSection(unsigned char *data, int length,
24  int componentTag, unsigned carouselId,
25  int dataBroadcastId);
26 
27  // A NetworkBootInfo sub-descriptor is present in the PMT
28  void SetNetBootInfo(const unsigned char *data, uint length);
29 
30  // See if the image has changed.
31  bool ImageHasChanged(void);
32  // Draw the (updated) image.
33  void UpdateOSD(InteractiveScreen *osdWindow, MythPainter *osdPainter);
34  // Called when the visible display area has changed.
35  void Reinit(const QRect &videoRect, const QRect &dispRect, float aspect);
36 
37  // Offer a key press. Returns true if it accepts it.
38  // This will depend on the current profile.
39  bool OfferKey(QString key);
40 
41  // Get the initial component tags.
42  void GetInitialStreams(int &audioTag, int &videoTag);
43  // Called when a stream starts or stops. Returns true if event is handled
44  bool StreamStarted(bool bStarted = true);
45 
46  MythPlayer *GetNVP(void) { return m_nvp; }
47 
48  protected:
49  MHIContext *m_context {nullptr};
50  MythPlayer *m_nvp {nullptr};
51 #endif
52 };
53 
54 #endif
void Restart(int chanid, int sourceid, bool isLive)
MHIContext * m_context
Definition: interactivetv.h:49
void UpdateOSD(InteractiveScreen *osdWindow, MythPainter *osdPainter)
MythPlayer * m_nvp
Definition: interactivetv.h:50
void Reinit(const QRect &videoRect, const QRect &dispRect, float aspect)
unsigned int uint
Definition: compat.h:140
void GetInitialStreams(int &audioTag, int &videoTag)
Contains various utility functions for interactive television.
Definition: mhi.h:47
virtual ~InteractiveTV()
InteractiveTV(MythPlayer *nvp)
This is the interface between an MHEG, or possibly, MHP engine and the rest of Myth.
void SetNetBootInfo(const unsigned char *data, uint length)
MythPlayer * GetNVP(void)
Definition: interactivetv.h:46
void ProcessDSMCCSection(unsigned char *data, int length, int componentTag, unsigned carouselId, int dataBroadcastId)
bool StreamStarted(bool bStarted=true)
bool ImageHasChanged(void)
bool OfferKey(QString key)
This is the interface between an MHEG engine and a MythTV TV object.
Definition: interactivetv.h:12