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