[ANNOUNCE] VDR developer version 1.7.21

Message ID 4E6A4EDE.6000803@ventoso.org
State New
Headers

Commit Message

Luca Olivetti Sept. 9, 2011, 5:37 p.m. UTC
  Al 09/09/11 16:54, En/na Klaus Schmidinger ha escrit:

>> I think this is still needed for output plugins that don't implement the method,
>> so that they should at least work as before this modification.
> 
> Can you please point out exactly which modificaton you are
> referring to?

I'm referring to the modification that changed GetVideoSize
from being purely informational to being used for something.
In case you're interested, with the patch below, output plugins that
don't implement GetVideoSize will have the subtitles working as
before. I know that the proper fix is to implement GetVideoSize 
and GetOsdSize (I actually did afterwards), but at least it doesn't
break what was working before.



Bye
  

Comments

Klaus Schmidinger Sept. 10, 2011, 9:47 a.m. UTC | #1
On 09.09.2011 19:37, Luca Olivetti wrote:
> Al 09/09/11 16:54, En/na Klaus Schmidinger ha escrit:
>
>>> I think this is still needed for output plugins that don't implement the method,
>>> so that they should at least work as before this modification.
>>
>> Can you please point out exactly which modificaton you are
>> referring to?
>
> I'm referring to the modification that changed GetVideoSize
> from being purely informational to being used for something.
> In case you're interested, with the patch below, output plugins that
> don't implement GetVideoSize will have the subtitles working as
> before. I know that the proper fix is to implement GetVideoSize
> and GetOsdSize (I actually did afterwards), but at least it doesn't
> break what was working before.
>
> --- dvbsubtitle.c.orig	2011-09-04 19:11:12.426133000 +0200
> +++ dvbsubtitle.c	2011-09-09 19:27:46.064725000 +0200
> @@ -887,7 +887,7 @@
>     double VideoAspect;
>     cDevice::PrimaryDevice()->GetOsdSize(OsdWidth, OsdHeight, OsdAspect);
>     cDevice::PrimaryDevice()->GetVideoSize(VideoWidth, VideoHeight, VideoAspect);
> -  if (OsdWidth == displayWidth&&  OsdHeight == displayHeight) {
> +  if ((OsdWidth == displayWidth&&  OsdHeight == displayHeight) || VideoWidth == 0) {
>        osdFactorX = osdFactorY = 1.0;
>        osdDeltaX = osdDeltaY = 0;
>        }

You're right - adopted for 1.7.22.

Klaus
  

Patch

--- dvbsubtitle.c.orig	2011-09-04 19:11:12.426133000 +0200
+++ dvbsubtitle.c	2011-09-09 19:27:46.064725000 +0200
@@ -887,7 +887,7 @@ 
   double VideoAspect;
   cDevice::PrimaryDevice()->GetOsdSize(OsdWidth, OsdHeight, OsdAspect);
   cDevice::PrimaryDevice()->GetVideoSize(VideoWidth, VideoHeight, VideoAspect);
-  if (OsdWidth == displayWidth && OsdHeight == displayHeight) {
+  if ((OsdWidth == displayWidth && OsdHeight == displayHeight) || VideoWidth == 0) {
      osdFactorX = osdFactorY = 1.0;
      osdDeltaX = osdDeltaY = 0;
      }