vdr-plugin-softhddevice-drm-gles 1.6.2
pipreceiver.h
Go to the documentation of this file.
1// SPDX-License-Identifier: AGPL-3.0-or-later
2
12#ifndef __PIPRECEIVER_H
13#define __PIPRECEIVER_H
14
15#include <vdr/receiver.h>
16
17#include "event.h"
18
19class cSoftHdDevice;
20
29class cPipReceiver : public cReceiver {
30public:
32 virtual ~cPipReceiver(void);
33
34protected:
35 virtual void Activate(bool);
36 virtual void Receive(const uchar *, int);
37
38private:
43
44 int ParseTs(const uchar *, int);
45 int PlayTs(const uchar *, int);
46};
47
52public:
54 virtual ~cPipHandler(void);
55
56 bool IsEnabled(void) { return m_active; };
57 void Enable(void);
58 void Disable(void);
59 void Toggle(void);
60 void ChannelChange(int);
61 void ChannelSwap(bool);
62 void SetSize(void);
63 void SwapPosition(void);
64 void HandleEvent(enum PipState);
65
66private:
72 bool m_active = false;
73
74 int Start(int);
75 void Stop(void);
76 void HandleEnable(bool);
77 void HandleChannelChange(int);
78};
79
82#endif
Event Receiver.
Definition event.h:85
PiP Stream Handler.
Definition pipreceiver.h:51
cPipReceiver * m_pPipReceiver
pointer to pip receiver
Definition pipreceiver.h:69
const cChannel * m_pPipChannel
current pip channel
Definition pipreceiver.h:71
bool IsEnabled(void)
Definition pipreceiver.h:56
IEventReceiver * m_pEventReceiver
pointer to event receiver
Definition pipreceiver.h:68
bool m_active
true, if pip is active
Definition pipreceiver.h:72
int m_pipChannelNum
current pip channel number
Definition pipreceiver.h:70
cSoftHdDevice * m_pDevice
pointer to device
Definition pipreceiver.h:67
Receiver for PiP Stream.
Definition pipreceiver.h:29
cTsToPes m_pTsToPesVideo
TS to PES converter.
Definition pipreceiver.h:40
uint64_t m_lastErrorReport
tracks time since last error report
Definition pipreceiver.h:41
cSoftHdDevice * m_pDevice
pointer to device
Definition pipreceiver.h:39
int m_numLostPackets
tracks lost packets
Definition pipreceiver.h:42
Output Device Implementation.
State Machine and Event Header File.
PipState
Definition event.h:30
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.
void Toggle(void)
Toggle picture-in-picture.
virtual ~cPipReceiver(void)
Detach the pip receiver.
int PlayTs(const uchar *, int)
Get the pes payload and send it to the player.
void HandleChannelChange(int)
Change the pip channel.
virtual ~cPipHandler(void)
int Start(int)
Create a new pip receiver and render the pip stream.
void HandleEvent(enum PipState)
Handle a pip event.
virtual void Activate(bool)
Called before the receiver gets attached or after it got detached.
void Disable(void)
Stop picture-in-picture.
void ChannelSwap(bool)
Swap the pip channel with main live channel.
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.
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.