diff --git a/HISTORY b/HISTORY index 1471aa51..13d450d6 100644 --- a/HISTORY +++ b/HISTORY @@ -8596,7 +8596,7 @@ Video Disk Recorder Revision History - Bumped all version numbers to 2.2.0. - Official release. -2015-03-17: Version 2.3.1 +2015-03-25: Version 2.3.1 - The new function cOsd::MaxPixmapSize() can be called to determine the maximum size a cPixmap may have on the current OSD. The 'osddemo' example has been modified @@ -8619,3 +8619,4 @@ Video Disk Recorder Revision History - Added some comment to cPixmap about the relation between OSD, ViewPort and DrawPort (suggested by Thomas Reufer). - Improved syncing on sections when parsing the NIT and SDT. +- Fixed scaling subtitles (their areas could sometimes extend outside the actual OSD). diff --git a/dvbsubtitle.c b/dvbsubtitle.c index d5ae60b0..fff3f8b8 100644 --- a/dvbsubtitle.c +++ b/dvbsubtitle.c @@ -7,7 +7,7 @@ * Original author: Marco Schluessler * With some input from the "subtitles plugin" by Pekka Virtanen * - * $Id: dvbsubtitle.c 3.10 2015/01/20 14:53:57 kls Exp $ + * $Id: dvbsubtitle.c 4.1 2015/03/25 12:37:08 kls Exp $ */ #include "dvbsubtitle.h" @@ -1516,8 +1516,7 @@ void cDvbSubtitleConverter::SetOsdData(void) osdDeltaX = osdDeltaY = 0; } else { - osdFactorX = VideoAspect * OsdHeight / displayWidth; - osdFactorY = double(OsdHeight) / displayHeight; + osdFactorX = osdFactorY = min(double(OsdWidth) / displayWidth, double(OsdHeight) / displayHeight); osdDeltaX = (OsdWidth - displayWidth * osdFactorX) / 2; osdDeltaY = (OsdHeight - displayHeight * osdFactorY) / 2; }