mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Version 2.0.1
VDR version 2.0.1 is now available at ftp://ftp.tvdr.de/vdr/vdr-2.0.1.tar.bz2 A 'diff' against the previous developer version is available at ftp://ftp.tvdr.de/vdr/Developer/vdr-2.0.0-2.0.1.diff MD5 checksums: e1b7a76c57c96300829dccd39eb20e7d vdr-2.0.1.tar.bz2 fca54c4da4e9d9dd05f917b04a2eecf4 vdr-2.0.0-2.0.1.diff This version fixes a few minor bugs that came up after the release of version 2.0.0. It also allows compilation of VDR with older versions of the DVB API. From the HISTORY file: - Fixed initializing cDevice::keepTracks. - Fixed an endless loop in cTextWrapper::Set() in case the given Width is smaller than one character (reported by Stefan Braun). - Added definitions for older DVB API versions, back until 5.0 (based on a patch from Udo Richter). - Fixed handling '/' and '~' in recording file names in case DirectoryEncoding is used (thanks to Lars Hanisch). - Changed cThread::SetIOPriority() from "best effort class" to "idle class" in order to improve overall performance when an editing process is running (thanks to Jochen Dolze).
This commit is contained in:
committed by
Dieter Hametner
parent
23a677c66e
commit
8bc7a314cc
@@ -71,3 +71,7 @@ VDR Plugin 'dvbhddevice' Revision History
|
||||
2013-03-31: Version 2.0.0
|
||||
|
||||
- Official release.
|
||||
|
||||
2013-04-11: Version 2.0.1
|
||||
|
||||
- Fixed aspect ratio and position of scaled video.
|
||||
|
@@ -10,7 +10,7 @@
|
||||
#include "menu.h"
|
||||
#include "setup.h"
|
||||
|
||||
static const char *VERSION = "2.0.0";
|
||||
static const char *VERSION = "2.0.1";
|
||||
static const char *DESCRIPTION = trNOOP("HD Full Featured DVB device");
|
||||
static const char *MAINMENUENTRY = "dvbhddevice";
|
||||
|
||||
|
@@ -574,14 +574,35 @@ void cDvbHdFfDevice::ScaleVideo(const cRect &Rect)
|
||||
}
|
||||
else
|
||||
{
|
||||
//printf("ScaleVideo: Rect = %d %d %d %d\n", Rect.X(), Rect.Y(), Rect.Width(), Rect.Height());
|
||||
|
||||
int osdWidth;
|
||||
int osdHeight;
|
||||
double osdPixelAspect;
|
||||
|
||||
GetOsdSize(osdWidth, osdHeight, osdPixelAspect);
|
||||
mHdffCmdIf->CmdAvSetVideoWindow(0, true,
|
||||
Rect.X() * 1000 / osdWidth, Rect.Y() * 1000 / osdHeight,
|
||||
Rect.Width() * 1000 / osdWidth, Rect.Height() * 1000 / osdHeight);
|
||||
//printf("ScaleVideo: OsdSize = %d %d %g\n", osdWidth, osdHeight, osdPixelAspect);
|
||||
|
||||
// Convert the video window coordinates in 1/10 percent of the display
|
||||
// resolution.
|
||||
int x = (Rect.X() * 1000 + osdWidth / 2) / osdWidth;
|
||||
int y = (Rect.Y() * 1000 + osdHeight / 2) / osdHeight;
|
||||
int w = (Rect.Width() * 1000 + osdWidth / 2) / osdWidth;
|
||||
int h = (Rect.Height() * 1000 + osdHeight / 2) / osdHeight;
|
||||
//printf("ScaleVideo: Win1 = %d %d %d %d\n", x, y, w, h);
|
||||
|
||||
// fix aspect ratio, reposition video
|
||||
if (w > h) {
|
||||
x += (w - h) / 2;
|
||||
w = h;
|
||||
}
|
||||
else if (w < h) {
|
||||
y += (h - w) / 2;
|
||||
h = w;
|
||||
}
|
||||
|
||||
//printf("ScaleVideo: Win2 = %d %d %d %d\n", x, y, w, h);
|
||||
mHdffCmdIf->CmdAvSetVideoWindow(0, true, x, y, w, h);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user