quadpip: --enable-quadpip only for vusolo4k, vuduo4k, vuduo4kse, vuultimo4k, vuuno4kse and vuuno4k possible. remember last menu position added for quadpip menu. timings shorter for zap channel and audio on/off.

This commit is contained in:
BPanther
2021-10-21 22:35:06 +02:00
committed by Thilo Graf
parent b22fcaa17e
commit c4f7931377
3 changed files with 19 additions and 9 deletions

View File

@@ -34,6 +34,7 @@
#include <neutrino_menue.h>
#include <driver/fontrenderer.h>
#include <driver/screen_max.h>
#include <zapit/capmt.h>
#include <zapit/zapit.h>
@@ -89,7 +90,7 @@ int CQuadPiPSetup::exec(CMenuTarget *parent, const std::string &/*actionKey*/)
/*shows the QuadPiP setup menue*/
int CQuadPiPSetup::showQuadPiPSetup()
{
CMenuWidget *quadpipsetup = new CMenuWidget(LOCALE_QUADPIP, NEUTRINO_ICON_SETTINGS);
CMenuWidget *quadpipsetup = new CMenuWidget(LOCALE_QUADPIP, NEUTRINO_ICON_SETTINGS, (int) w_max (35, 15), MN_WIDGET_ID_MENU_QUADPIP);
// menu head
quadpipsetup->addItem(GenericMenuSeparator);
@@ -134,7 +135,7 @@ bool CQuadPiPSetupNotifier::changeNotify(const neutrino_locale_t, void */*Data*/
videoDecoder->QuadPiP(true);
for (unsigned i = 0; i < pip_devs; i++)
{
usleep(200); // delay time for zap etc.
usleep(100); // delay time for zap etc.
if (i == 0)
{
CNeutrinoApp::getInstance()->channelList->zapTo_ChannelID(g_settings.quadpip_channel_id_window[i]);
@@ -142,13 +143,13 @@ bool CQuadPiPSetupNotifier::changeNotify(const neutrino_locale_t, void */*Data*/
}
if (i >= 1 && g_settings.quadpip_channel_id_window[i] != 0)
{
CZapit::getInstance()->StartPip(g_settings.quadpip_channel_id_window[i], i - 1);
g_Zapit->zapTo_pip(g_settings.quadpip_channel_id_window[i], i - 1);
pipAudioDemux[i - 1]->Start();
pipAudioDecoder[i - 1]->Start();
usleep(100); // delay for audio start/stop for audio later at window selection
pipAudioDemux[i - 1]->Stop();
pipAudioDecoder[i - 1]->Stop();
CZapit::getInstance()->StartPip(g_settings.quadpip_channel_id_window[i], i-1);
g_Zapit->zapTo_pip(g_settings.quadpip_channel_id_window[i], i-1);
pipAudioDemux[i-1]->Start();
pipAudioDecoder[i-1]->Start();
usleep(50); // delay for audio start/stop for audio later at window selection
pipAudioDemux[i-1]->Stop();
pipAudioDecoder[i-1]->Stop();
if (i == 1)
pipVideoDecoder[i - 1]->Pig(fb_w, 0, fb_w, fb_h, CFrameBuffer::getInstance()->getScreenWidth(true), CFrameBuffer::getInstance()->getScreenHeight(true));