00001 #ifndef INTERACTIVE_TV_H_ 00002 #define INTERACTIVE_TV_H_ 00003 00004 class InteractiveScreen; 00005 class MythPainter; 00006 class MHIContext; 00007 class MythPlayer; 00008 00012 class InteractiveTV 00013 { 00014 #ifdef USING_MHEG 00015 public: 00016 // Interface to Myth 00017 InteractiveTV(MythPlayer *nvp); 00018 virtual ~InteractiveTV(); 00019 00020 void Restart(int chanid, int sourceid, bool isLive); 00021 // Process an incoming DSMCC packet. 00022 void ProcessDSMCCSection(unsigned char *data, int length, 00023 int componentTag, unsigned carouselId, 00024 int dataBroadcastId); 00025 00026 // A NetworkBootInfo sub-descriptor is present in the PMT 00027 void SetNetBootInfo(const unsigned char *data, uint length); 00028 00029 // See if the image has changed. 00030 bool ImageHasChanged(void); 00031 // Draw the (updated) image. 00032 void UpdateOSD(InteractiveScreen *osdWindow, MythPainter *osdPainter); 00033 // Called when the visible display area has changed. 00034 void Reinit(const QRect &display); 00035 00036 // Offer a key press. Returns true if it accepts it. 00037 // This will depend on the current profile. 00038 bool OfferKey(QString key); 00039 00040 // Get the initial component tags. 00041 void GetInitialStreams(int &audioTag, int &videoTag); 00042 00043 MythPlayer *GetNVP(void) { return m_nvp; } 00044 00045 protected: 00046 MHIContext *m_context; 00047 MythPlayer *m_nvp; 00048 #endif 00049 }; 00050 00051 #endif
1.6.3