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