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