vdr-plugin-softhddevice-drm-gles 1.5.9-20e15de
pipreceiver.h
Go to the documentation of this file.
1
20#ifndef __PIPRECEIVER_H
21#define __PIPRECEIVER_H
22
23#include <vdr/receiver.h>
24
25#include "event.h"
26
27class cSoftHdDevice;
28
32class cPipReceiver : public cReceiver
33{
34public:
35 cPipReceiver(const cChannel *, cSoftHdDevice *);
36 virtual ~cPipReceiver(void);
37
38protected:
39 virtual void Activate(bool);
40 virtual void Receive(const uchar *, int);
41
42private:
45 uint64_t m_lastErrorReport = 0;
47
48 int ParseTs(const uchar *, int);
49 int PlayTs(const uchar *, int);
50};
51
56{
57public:
59 virtual ~cPipHandler(void);
60
61 bool IsEnabled(void) { return m_active; };
62 void Enable(void);
63 void Disable(void);
64 void Toggle(void);
65 void ChannelChange(int);
66 void ChannelSwap(bool);
67 void SetSize(void);
68 void SwapPosition(void);
69 void HandleEvent(enum PipState);
70
71private:
76 const cChannel *m_pPipChannel;
77 bool m_active = false;
78
79 int Start(int);
80 void Stop(void);
81 void HandleEnable(bool);
82 void HandleChannelChange(int);
83};
84
85#endif
cPipHandler - class for pip
Definition pipreceiver.h:56
void ChannelChange(int)
Change the pip channel.
void SwapPosition(void)
Swap pip between normal and alternative position.
void HandleEnable(bool)
Enable/ disable picture-in-picture.
cPipReceiver * m_pPipReceiver
pointer to pip receiver
Definition pipreceiver.h:74
void Toggle(void)
Toggle picture-in-picture.
void HandleChannelChange(int)
Change the pip channel.
const cChannel * m_pPipChannel
current pip channel
Definition pipreceiver.h:76
virtual ~cPipHandler(void)
int Start(int)
Create a new pip receiver and render the pip stream.
void HandleEvent(enum PipState)
Handle the pip event.
void Disable(void)
Stop picture-in-picture.
void ChannelSwap(bool)
Swap the pip channel with main live channel.
bool IsEnabled(void)
Definition pipreceiver.h:61
IEventReceiver * m_pEventReceiver
pointer to event receiver
Definition pipreceiver.h:73
bool m_active
true, if pip is active
Definition pipreceiver.h:77
int m_pipChannelNum
current pip channel number
Definition pipreceiver.h:75
void Stop(void)
Delete the pip receiver, clear decoder and display buffers and disable rendering the pip window.
void Enable(void)
Start picture-in-picture.
void SetSize(void)
Set size and position for the pip window.
cSoftHdDevice * m_pDevice
pointer to device
Definition pipreceiver.h:72
cPipReceiver - receiver class for pip
Definition pipreceiver.h:33
cTsToPes m_pTsToPesVideo
Definition pipreceiver.h:44
virtual ~cPipReceiver(void)
pip receiver class destructor
int PlayTs(const uchar *, int)
Get the pes payload and send it to the player.
uint64_t m_lastErrorReport
Definition pipreceiver.h:45
virtual void Activate(bool)
called before the receiver gets attached or after it got detached
int ParseTs(const uchar *, int)
Parse the ts stream and send it to the pes player.
virtual void Receive(const uchar *, int)
receive data from the receiver
cSoftHdDevice * m_pDevice
Definition pipreceiver.h:43
int m_numLostPackets
Definition pipreceiver.h:46
State machine and event header file.
PipState
Definition event.h:29