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

@@ -299,6 +299,8 @@ AC_ARG_ENABLE(pip,
AC_DEFINE(ENABLE_PIP, 1, [enable picture in picture support]))
AM_CONDITIONAL(ENABLE_PIP, test "$enable_pip" = "yes")
if test "$BOXMODEL" = "vusolo4k" -o "$BOXMODEL" = "vuduo4k" -o "$BOXMODEL" = "vuduo4kse" -o "$BOXMODEL" = "vuultimo4k" -o "$BOXMODEL" = "vuuno4kse" -o "$BOXMODEL" = "vuuno4k"; then
AC_ARG_ENABLE(quadpip,
AS_HELP_STRING([--enable-quadpip], [enable quad picture in picture support @<:@default=no@:>@]),
AC_DEFINE(ENABLE_QUADPIP, 1, [enable quad picture in picture support]))
@@ -307,6 +309,8 @@ AM_CONDITIONAL(ENABLE_QUADPIP, test "$enable_quadpip" = "yes")
AS_IF(test "$enable_pip" != "yes",
AS_IF(test "$enable_quadpip" = "yes", AC_MSG_ERROR([--enable-quadpip depends on --enable-pip])))
fi
AC_ARG_ENABLE(dynamicdemux,
AS_HELP_STRING([--enable-dynamicdemux], [enable dynamic demux @<:@default=no@:>@]),
AC_DEFINE(DYNAMIC_DEMUX, 1, [enable dynamic demux]))

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));

View File

@@ -209,6 +209,11 @@ enum MN_WIDGET_ID
MN_WIDGET_ID_GLCD_THEME_SETTINGS,
MN_WIDGET_ID_GLCD_THEME_POSITION_SETTINGS,
#if ENABLE_PIP && ENABLE_QUADPIP
//quadpip
MN_WIDGET_ID_MENU_QUADPIP,
#endif
MN_WIDGET_ID_MAX
};