From 258f1de2abff8921cfceb49cf89f2df0522cf027 Mon Sep 17 00:00:00 2001 From: BPanther Date: Wed, 11 Oct 2023 01:21:36 +0200 Subject: [PATCH] fix pip --- src/neutrino.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/neutrino.cpp b/src/neutrino.cpp index db28cd935..25e3ec51f 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -4373,7 +4373,7 @@ void CNeutrinoApp::saveEpg(int _mode) } } -void CNeutrinoApp::tvMode( bool rezap ) +void CNeutrinoApp::tvMode(bool rezap) { if (mode == NeutrinoModes::mode_webradio) { CMoviePlayerGui::getInstance().setLastMode(NeutrinoModes::mode_unknown); @@ -4402,6 +4402,12 @@ void CNeutrinoApp::tvMode( bool rezap ) videoDecoder->Standby(false); } +#ifdef ENABLE_PIP + if (g_info.hw_caps->can_pip) + if (pipVideoDecoder[0]) + pipVideoDecoder[0]->Pig(g_settings.pip_x, g_settings.pip_y, g_settings.pip_width, g_settings.pip_height, frameBuffer->getScreenWidth(true), frameBuffer->getScreenHeight(true)); +#endif + #if 0 if(mode != NeutrinoModes::mode_ts /*&& autoshift*/) { //printf("standby on: autoshift ! stopping ...\n"); @@ -4465,7 +4471,7 @@ void CNeutrinoApp::AVInputMode(bool bOnOff) } } -void CNeutrinoApp::standbyMode( bool bOnOff, bool fromDeepStandby ) +void CNeutrinoApp::standbyMode(bool bOnOff, bool fromDeepStandby) { //static bool wasshift = false; INFO("%s", bOnOff ? "ON" : "OFF" ); @@ -4639,7 +4645,7 @@ void CNeutrinoApp::standbyMode( bool bOnOff, bool fromDeepStandby ) lockStandbyCall = false; } -void CNeutrinoApp::radioMode( bool rezap) +void CNeutrinoApp::radioMode(bool rezap) { //printf("radioMode: rezap %s\n", rezap ? "yes" : "no"); INFO("rezap %d current mode %d", rezap, mode); @@ -4661,6 +4667,12 @@ void CNeutrinoApp::radioMode( bool rezap) videoDecoder->Standby(false); } +#ifdef ENABLE_PIP + if (g_info.hw_caps->can_pip) + if (pipVideoDecoder[0]) + pipVideoDecoder[0]->Pig(g_settings.pip_radio_x, g_settings.pip_radio_y, g_settings.pip_radio_width, g_settings.pip_radio_height, frameBuffer->getScreenWidth(true), frameBuffer->getScreenHeight(true)); +#endif + CRecordManager::getInstance()->StopAutoRecord(); if (mode != NeutrinoModes::mode_webtv && mode != NeutrinoModes::mode_webradio) { @@ -4737,7 +4749,7 @@ void CNeutrinoApp::StartAVInputPiP() { pipVideoDemux[0]->Start(); pipVideoDecoder[0]->Start(0, 0, 0); pipVideoDecoder[0]->open_AVInput_Device(); - pipVideoDecoder[0]->Pig(g_settings.pip_x,g_settings.pip_y,g_settings.pip_width,g_settings.pip_height,g_settings.screen_width,g_settings.screen_height); + pipVideoDecoder[0]->Pig(g_settings.pip_x, g_settings.pip_y, g_settings.pip_width, g_settings.pip_height, g_settings.screen_width, g_settings.screen_height); pipVideoDecoder[0]->ShowPig(1); avinput_pip = true; }