diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2009-06-14 13:49:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2009-06-14 13:49:00 +0200 |
commit | ab6f2ccf424896a80b6e2fdf9ab9313ea4b7f316 (patch) | |
tree | cd6cf2c6307c8a58f137e12286674cc8f1366dc5 /device.h | |
parent | 991eda006700f1703bcec528c1ff178a4cab9048 (diff) | |
download | vdr-patch-lnbsharing-ab6f2ccf424896a80b6e2fdf9ab9313ea4b7f316.tar.gz vdr-patch-lnbsharing-ab6f2ccf424896a80b6e2fdf9ab9313ea4b7f316.tar.bz2 |
Version 1.7.8vdr-1.7.8
- The name of the function cDevice::GetVideoSize() wasn't very well chosen
for its purpose of defining the optimum size of the OSD for the current
output device. Therefore a new function named cDevice::GetOsdSize() has
been introduced (suggested by Rolf Ahrenberg). Plugin authors should
implement this function in classes derived from cDevice, if they are able
to replay video. cDevice::GetVideoSize() still exists and should return the
actual size of the video material that is currently replayed. Note that
because of the many possible aspect ratios for video material, the type
of the Aspect parameter of GetVideoSize() has been changed to 'double',
and the Aspect parameter in both functions is named differently, because
it returns different values (suggested by Reinhard Nissl).
Thanks to Oliver Endriss for his input on calculating the Aspect factor in
GetOsdSize().
- Fixed the way the OSD size is determined on full featured DVB cards (thanks
to Oliver Endriss).
- Increased MAXOSDHEIGHT to 1200 (suggested by Nicolas Huillard).
- Removed limitation to PAL resolution from SPU handling.
- Checking fd_video in cDvbDevice::GetVideoSize() to avoid error messages on
systems with no real primary replay device (reported by Martin Neuditschko).
- Added a note to cTsToPes::GetPes() about having to call it repeatedly, once
it has returned a non-NULL value.
- Added MPEG 1 handling to remux.c (thanks to Ales Jurik).
- Fixed use of time_t in cEIT::cEIT() (thanks to Tobias Bratfisch).
- Added missing update of lastOsdSizeUpdate.
- EIT events are now only processed if a plausible system time is available, to
avoid wrong handling of PDC descriptors (thanks to Tobias Bratfisch).
- Removed unused 'synced' member from cTsToPes (reported by Christoph Haubrich).
- Added a note to cTsToPes about all TS packets having to belong to the same PID,
and that for video data GetPes() may only be called if the next TS packet that
will be given to PutTs() has the "payload start" flag set (suggested by Christoph
Haubrich).
- Added a note about the meaning of PERCENTAGEDELTA in cRingBuffer::UpdatePercentage()
(thanks to Rolf Ahrenberg).
- The new setup option "Recording/Pause key handling" can be used to define
what happens if the Pause key on the remote control is pressed during
live tv (thanks to Timo Eskola).
- Added a note about cFont::GetFont() not being thread-safe.
- Fixed generating PAT/PMT version numbers in case the PIDs change during
recording (reported by Reinhard Nissl).
- Updated the Ukrainian OSD texts (thanks to Yarema Aka Knedlyk).
- Fixed a memory leak when reaching the end of a recording during replay (reported
by Reinhard Nissl).
- Fixed calling close(-1) in cUnbufferedFile::Close() (reported by Reinhard Nissl).
- Added a workaround for the broken linux-dvb driver header files (based on a patch
from Tobias Grimm).
- Fixed handling the length of DiSEqC command sequences (reported by Reinhard Nissl).
- Fixed cOsdMenu::Display() in case the menu size has changed (thanks to
Reinhard Nissl).
- Added some missing 'const' keywords to avoid compilation errors with gcc 4.4
(thanks to Ville Skyttä and Ludwig Nussel).
- Modified cSVDRP::CmdGRAB() to avoid writing into const data (reported by
Ludwig Nussel).
- Fixed calculating menu colum widths in case the font has a size other than the
default size (reported by Reinhard Nissl).
- Added a plausibility check for the OSD percentage parameters
to avoid problems in case the values are stored in the setup.conf
file in a wrong way.
- Fixed variable types in cIndexFile (reported by Udo Richter).
Diffstat (limited to 'device.h')
-rw-r--r-- | device.h | 31 |
1 files changed, 20 insertions, 11 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.h 2.10 2009/05/02 12:16:20 kls Exp $ + * $Id: device.h 2.15 2009/06/06 11:15:49 kls Exp $ */ #ifndef __DEVICE_H @@ -56,13 +56,6 @@ enum eVideoSystem { vsPAL, vsNTSC }; -enum eVideoAspect { va4_3, - va16_9, - va221_9 - }; - -extern const char *VideoAspectString[]; - enum eVideoDisplayFormat { vdfPanAndScan, vdfLetterBox, vdfCenterCutOut @@ -384,9 +377,25 @@ public: virtual eVideoSystem GetVideoSystem(void); ///< Returns the video system of the currently displayed material ///< (default is PAL). - virtual void GetVideoSize(int &Width, int &Height, eVideoAspect &Aspect); - ///< Returns the With, Height and Aspect ratio of the currently - ///< displayed material. + virtual void GetVideoSize(int &Width, int &Height, double &VideoAspect); + ///< Returns the With, Height and VideoAspect ratio of the currently + ///< displayed video material. The data returned by this function is + ///< only used for informational purposes (if any). Width and + ///< Height are given in pixel (e.g. 720x576) and VideoAspect is + ///< e.g. 1.33333 for a 4:3 broadcast, or 1.77778 for 16:9. + ///< The default implementation returns 0 for Width and Height + ///< and 1.0 for VideoAspect. + virtual void GetOsdSize(int &Width, int &Height, double &PixelAspect); + ///< Returns the With, Height and PixelAspect ratio the OSD should use + ///< to best fit the resolution of the output device. If PixelAspect + ///< is not 1.0, the OSD may take this as a hint to scale its + ///< graphics in a way that, e.g., a circle will actually + ///< show up as a circle on the screen, and not as an ellipse. + ///< Values greater than 1.0 mean to stretch the graphics in the + ///< vertical direction (or shrink it in the horizontal direction, + ///< depending on which dimension shall be fixed). Values less than + ///< 1.0 work the other way round. Note that the OSD is not guaranteed + ///< to actually use this hint. // Track facilities |