Version 1.1.7

- Adapted VDR to the NEWSTRUCT driver. To use the new driver, compile VDR with
  'make NEWSTRUCT=1' (thanks to Holger Wächtler for some valuable advice).
  By default it currently still uses the old driver.
- Added some missing #includes (thanks to Martin Hammerschmid).
- Changed the log error message "can't record MPEG1!" to "error in data stream!",
  since the mentioning of MPEG1 has irritated many people.
- Consistently using malloc/free and new/delete (thanks to Andreas Schultz).
- Temporarily made cDevice::ProvidesCa() virtual (Andreas Schultz needs this
  in his DXR3 plugin).
- cDevice no longer exposes a file handle to cPlayer. A derived cPlayer class
  can now call DevicePoll() to see whether the replay device is ready for
  further data. A derived cDevice class must implement Poll() and shall
  check if any of its file handles is ready for data.
- Implemented several replay modes to allow players that play only audio (thanks
  to Stefan Huelswitt).
- Improved cCondVar::Wait() and implemented cCondVar::TimedWait() (thanks to
  Stefan Huelswitt).
- VDR no longer gives up if there is no DVB device. It continues to work if
  there is at least one device, either a DVB device found by the core VDR code
  itself, or a device implemented by a plugin.
This commit is contained in:
Klaus Schmidinger
2002-08-16 18:00:00 +02:00
parent 527748826c
commit ed643353b1
35 changed files with 702 additions and 397 deletions

18
osd.c
View File

@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: osd.c 1.32 2002/08/04 10:11:26 kls Exp $
* $Id: osd.c 1.34 2002/08/15 11:20:44 kls Exp $
*/
#include "osd.h"
@@ -128,7 +128,7 @@ void cOsd::Open(int w, int h)
osd->Create(0, lineHeight, w, lineHeight, 2, false);
osd->Create(0, 2 * lineHeight, w, lineHeight, 1);
XXX*///XXX some pixels are not drawn correctly with lower bpp values
osd->Create(0, 0, w, 3*lineHeight, 4);
osd->Create(0, 0, w, h, 4);
}
#endif
}
@@ -279,13 +279,13 @@ cOsdItem::cOsdItem(const char *Text, eOSState State)
cOsdItem::~cOsdItem()
{
delete text;
free(text);
}
void cOsdItem::SetText(const char *Text, bool Copy)
{
delete text;
text = Copy ? strdup(Text) : Text;
free(text);
text = Copy ? strdup(Text) : (char *)Text; // text assumes ownership!
}
void cOsdItem::SetColor(eDvbColor FgColor, eDvbColor BgColor)
@@ -337,9 +337,9 @@ cOsdMenu::cOsdMenu(const char *Title, int c0, int c1, int c2, int c3, int c4)
cOsdMenu::~cOsdMenu()
{
delete title;
free(title);
delete subMenu;
delete status;
free(status);
Interface->Clear();
Interface->Close();
}
@@ -367,7 +367,7 @@ void cOsdMenu::SetHasHotkeys(void)
void cOsdMenu::SetStatus(const char *s)
{
delete status;
free(status);
status = s ? strdup(s) : NULL;
if (visible)
Interface->Status(status);
@@ -375,7 +375,7 @@ void cOsdMenu::SetStatus(const char *s)
void cOsdMenu::SetTitle(const char *Title, bool ShowDate)
{
delete title;
free(title);
if (ShowDate)
asprintf(&title, "%s\t%s", Title, DayDateTime(time(NULL)));
else