vdr-plugin-softhddevice-drm-gles 1.6.4-d0291bb
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
31class cPipReceiver : public cReceiver {
32public:
34 virtual ~cPipReceiver(void);
35
36protected:
37 virtual void Activate(bool);
38 virtual void Receive(const uchar *, int);
39
40private:
45
46 int ParseTs(const uchar *, int);
47 int PlayTs(const uchar *, int);
48};
49
56public:
58 virtual ~cPipHandler(void);
59
60 bool IsEnabled(void) { return m_active; };
61 void Enable(void);
62 void Disable(void);
63 void Toggle(void);
64 void ChannelChange(int);
65 void ChannelSwap(bool);
66 void SetSize(void);
67 void SwapPosition(void);
68 void HandleEvent(enum PipState);
69
70private:
76 bool m_active = false;
77
78 int Start(int);
79 void Stop(void);
80 void HandleEnable(bool);
81 void HandleChannelChange(int);
82};
83
84#endif
Event Receiver.
Definition event.h:91
PiP Stream Handler.
Definition pipreceiver.h:55
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:73
void Toggle(void)
Toggle picture-in-picture.
void HandleChannelChange(int)
Change the pip channel.
const cChannel * m_pPipChannel
current pip channel
Definition pipreceiver.h:75
virtual ~cPipHandler(void)
int Start(int)
Create a new pip receiver and render the pip stream.
void HandleEvent(enum PipState)
Handle a 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:60
IEventReceiver * m_pEventReceiver
pointer to event receiver
Definition pipreceiver.h:72
bool m_active
true, if pip is active
Definition pipreceiver.h:76
int m_pipChannelNum
current pip channel number
Definition pipreceiver.h:74
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:71
Receiver for PiP Stream.
Definition pipreceiver.h:31
cTsToPes m_pTsToPesVideo
TS to PES converter.
Definition pipreceiver.h:42
virtual ~cPipReceiver(void)
Detach the pip receiver.
int PlayTs(const uchar *, int)
Get the pes payload and send it to the player.
uint64_t m_lastErrorReport
tracks time since last error report
Definition pipreceiver.h:43
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
pointer to device
Definition pipreceiver.h:41
int m_numLostPackets
tracks lost packets
Definition pipreceiver.h:44
Output Device Implementation.
State Machine and Event Header File.
PipState
Definition event.h:32