|
vdr-plugin-softhddevice-drm-gles 1.6.7
|
PiP Stream Handler. More...
#include <pipreceiver.h>
Public Member Functions | |
| cPipHandler (cSoftHdDevice *) | |
| virtual | ~cPipHandler (void) |
| void | Enable (void) |
| Start picture-in-picture. | |
| void | Disable (void) |
| Stop picture-in-picture. | |
| void | Toggle (void) |
| Toggle picture-in-picture. | |
| void | ChannelChange (int) |
| Change the pip channel. | |
| void | ChannelSwap (bool) |
| Swap the pip channel with main live channel. | |
| void | SetSize (void) |
| Set size and position for the pip window. | |
| void | SwapPosition (void) |
| Swap pip between normal and alternative position. | |
| bool | IsEnabled (void) |
Private Member Functions | |
| int | Start (int) |
| Create a new pip receiver and render the pip stream. | |
| void | Stop (void) |
| Delete the pip receiver, clear decoder and display buffers and disable rendering the pip window. | |
| void | HandleEnable (bool) |
| Enable/ disable picture-in-picture. | |
| void | HandleChannelChange (int) |
| Change the pip channel. | |
Private Attributes | |
| cSoftHdDevice * | m_pDevice |
| pointer to device | |
| cPipReceiver * | m_pPipReceiver = nullptr |
| pointer to pip receiver | |
| int | m_pipChannelNum = 0 |
| current pip channel number | |
| const cChannel * | m_pPipChannel |
| current pip channel | |
| std::atomic< bool > | m_active = false |
| true, if pip is active | |
PiP Stream Handler.
Definition at line 55 of file pipreceiver.h.
| cPipHandler::cPipHandler | ( | cSoftHdDevice * | device | ) |
Definition at line 158 of file pipreceiver.cpp.
|
virtual |
Definition at line 163 of file pipreceiver.cpp.
References Stop().
Change the pip channel.
| direction | 1: channel up, -1: channel down |
Definition at line 338 of file pipreceiver.cpp.
References HandleChannelChange(), and m_active.
Referenced by cSoftHdDevice::PipChannelChange().
Swap the pip channel with main live channel.
| closePip | close the pip window after the channel swap |
Definition at line 354 of file pipreceiver.cpp.
References LOGDEBUG, m_active, m_pPipChannel, Start(), and Stop().
Referenced by cSoftHdDevice::PipChannelSwap().
Stop picture-in-picture.
Definition at line 317 of file pipreceiver.cpp.
References HandleEnable(), and m_active.
Referenced by cSoftHdDevice::Detach(), cSoftHdDevice::PipDisable(), cSoftHdDevice::SetPlayMode(), and cSoftHdDevice::Stop().
Start picture-in-picture.
Definition at line 306 of file pipreceiver.cpp.
References HandleEnable(), and m_active.
Referenced by cSoftHdDevice::PipEnable().
Change the pip channel.
| direction | 1: channel up, -1: channel down |
Definition at line 263 of file pipreceiver.cpp.
References m_active, m_pDevice, m_pPipChannel, Start(), and Stop().
Referenced by ChannelChange().
Enable/ disable picture-in-picture.
| on | true, if pip should be enabled |
Definition at line 241 of file pipreceiver.cpp.
References LOGDEBUG, m_active, m_pDevice, m_pipChannelNum, cSoftHdDevice::SetRenderPipActive(), Start(), and Stop().
Definition at line 68 of file pipreceiver.h.
References m_active.
Referenced by cSoftHdDevice::PipIsEnabled().
Set size and position for the pip window.
Definition at line 377 of file pipreceiver.cpp.
References m_pDevice, and cSoftHdDevice::SetRenderPipSize().
Referenced by cSoftHdDevice::PipSetSize().
Create a new pip receiver and render the pip stream.
| channelNum | number of the channel to be switched to 0 switches to the current main stream channel |
| 0 | pip was enabled |
| -1 | pip wasn't enabled, no device for channel available |
Definition at line 177 of file pipreceiver.cpp.
References LOGDEBUG, LOGERROR, m_active, m_pDevice, m_pipChannelNum, m_pPipChannel, m_pPipReceiver, and Stop().
Referenced by ChannelSwap(), HandleChannelChange(), and HandleEnable().
Delete the pip receiver, clear decoder and display buffers and disable rendering the pip window.
We do not need to halt main stream decoder for this, so only halt the PiP decoding and render thread here (in m_pDevice->ResetPipStream())
Definition at line 219 of file pipreceiver.cpp.
References LOGDEBUG, m_active, m_pDevice, m_pPipChannel, m_pPipReceiver, and cSoftHdDevice::ResetPipStream().
Referenced by ChannelSwap(), HandleChannelChange(), HandleEnable(), Start(), and ~cPipHandler().
Swap pip between normal and alternative position.
Definition at line 385 of file pipreceiver.cpp.
References m_pDevice, cSoftHdDevice::SetRenderPipSize(), and cSoftHdDevice::ToggleRenderPipPosition().
Referenced by cSoftHdDevice::PipSwapPosition().
Toggle picture-in-picture.
Definition at line 328 of file pipreceiver.cpp.
References HandleEnable(), and m_active.
Referenced by cSoftHdDevice::PipToggle().
true, if pip is active
Definition at line 75 of file pipreceiver.h.
Referenced by ChannelChange(), ChannelSwap(), Disable(), Enable(), HandleChannelChange(), HandleEnable(), IsEnabled(), Start(), Stop(), and Toggle().
|
private |
pointer to device
Definition at line 71 of file pipreceiver.h.
Referenced by HandleChannelChange(), HandleEnable(), SetSize(), Start(), Stop(), and SwapPosition().
|
private |
current pip channel number
Definition at line 73 of file pipreceiver.h.
Referenced by HandleEnable(), and Start().
current pip channel
Definition at line 74 of file pipreceiver.h.
Referenced by ChannelSwap(), HandleChannelChange(), Start(), and Stop().
|
private |
pointer to pip receiver
Definition at line 72 of file pipreceiver.h.