Project

General

Profile

Actions

Bug #2413

open

ScaleVideo mit aktivem PiP

Added by Anonymous over 8 years ago. Updated almost 8 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Start date:
05/29/2016
Due date:
% Done:

0%

Estimated time:

Description

Hallo,

Wenn PiP aktiv ist und ein Skin ScaleVideo beim Öffnen des OSD aufruft, wird das Hauptbild auf fullscreen geeändert, auch wenn PiP anders konfiguriert ist. Nach dem schliessen des OSD bleibt das PiP Layout falsch

Mehr hier: http://www.vdr-portal.de/board16-video-disk-recorder/board55-vdr-plugins/129088-skindesigner-metrixhd-softhddevice-pip-grösse-des-hauptbildes-ändert-sich-wenn-osd-öffnet/

Der angehängte Patch korrigiert das verhaltne und funktioniert zumindest mit metrixhd/skindesigner gut.

--- softhddev.c_orig    2016-05-29 17:32:03.677757786 +0200
+++ softhddev.c    2016-05-29 19:26:20.062035263 +0200
@@ -1352,6 +1352,7 @@

 #ifdef USE_PIP
 static VideoStream PipVideoStream[1];    ///< pip video stream
+static int PiPActive = 0; mwx, mwy, mww, mwh;          ///< main window frame for PiP
 #endif

 #ifdef DEBUG
@@ -3407,6 +3408,10 @@
 */
 void ScaleVideo(int x, int y, int width, int height)
 {
+    if (PiPActive && !(x & y & width & height)) {
+        Info("[softhddev]%s: fullscreen with PiP active.\n", __FUNCTION__);
+    x = mwx; y = mwy; width = mww; height = mwh;
+    }
     if (MyVideoStream->HwDecoder) {
     VideoSetOutputPosition(MyVideoStream->HwDecoder, x, y, width, height);
     }
@@ -3468,6 +3473,8 @@
     VideoStreamOpen(PipVideoStream);
     }
     PipSetPosition(x, y, width, height, pip_x, pip_y, pip_width, pip_height);
+    mwx = x; mwy = y; mww = width; mwh = height;
+    PiPActive = 1;
 }

 /**
@@ -3481,6 +3488,8 @@
     return;
     }

+    PiPActive = 0;
+    mwx = 0; mwy = 0; mww = 0; mwh = 0;
     ScaleVideo(0, 0, 0, 0);

     PipVideoStream->Close = 1;
Actions

Also available in: Atom PDF