mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
cd53d57779 | ||
|
0d14872adc | ||
|
90f4648a7c | ||
|
be88699b00 | ||
|
1b1fe2c887 | ||
|
fa77b5c2b2 | ||
|
cffde6ee09 | ||
|
2266b0e633 | ||
|
06f7c2d414 | ||
|
1b1dc6d775 | ||
|
e5971d2684 | ||
|
ae208771e8 | ||
|
df4ea10419 |
21
CONTRIBUTORS
21
CONTRIBUTORS
@ -1013,9 +1013,11 @@ Andreas Mair <amair.sob@googlemail.com>
|
||||
for fixing the type of MBperMinute in cVideoDiskUsage::HasChanged()
|
||||
for reporting a bug in sorting recordings in case two folders have the same name,
|
||||
but one of them ends in an additional digit, as in "abc" and "abc2"
|
||||
for reporting multiple occurrences of the same directory in the recordings list ini
|
||||
for reporting multiple occurrences of the same directory in the recordings list in
|
||||
case there are directories that only differ in non-alphanumeric characters
|
||||
for reporting a problem with reduced number of retries in Transfer Mode on SD-FF cards
|
||||
for fixing multiple occurrences of the same directory in the recordings list in case
|
||||
there are directories that only differ in non-alphanumeric characters
|
||||
|
||||
Olivier Jacques <jacquesolivier@hotmail.com>)
|
||||
for translating OSD texts to the French language
|
||||
@ -2100,6 +2102,7 @@ Thomas G
|
||||
for suggesting to make the 'Allowed' parameter in cMenuEditStrItem() NULL by default,
|
||||
which results in using tr(FileNameChars)
|
||||
for fixing handling "none" color entries in XPM files
|
||||
for fixing displaying the frame number when setting an editing mark
|
||||
|
||||
David Woodhouse <dwmw2@infradead.org>
|
||||
for his help in replacing the get/put_unaligned() macros from asm/unaligned.h with
|
||||
@ -2598,6 +2601,8 @@ Halim Sahin <halim.sahin@t-online.de>
|
||||
for suggesting to make the "Source" item in the "Edit channel" menu wrap around the
|
||||
list of sources
|
||||
for reporting a crash when creating a new channel if the channel list is empty
|
||||
for reporting that editing marks were generated even if the edited recording resulted
|
||||
in just one single sequence
|
||||
|
||||
Denis Knauf <denis.knauf@gmail.com>
|
||||
for reporting a missing '-' at the next to last line of SVDRP help texts
|
||||
@ -2832,6 +2837,8 @@ Lars Hanisch <dvb@flensrocker.de>
|
||||
for fixing a typo in skins.h
|
||||
for fixing some #include statements in plugins to use <vdr/...> instead of "vdr/..."
|
||||
for reporting an invalid line in channels.conf.terr
|
||||
for fixing handling '/' and '~' in recording file names in case DirectoryEncoding is
|
||||
used
|
||||
|
||||
Alex Lasnier <alex@fepg.org>
|
||||
for adding tuning support for ATSC devices
|
||||
@ -3135,3 +3142,15 @@ Zoran Turalija <zoran.turalija@gmail.com>
|
||||
for translating OSD texts to the Serbian language
|
||||
for adding maximum SNR and signal strength value for TechniSat SkyStar HD2
|
||||
for pointing out that the language file sr_SR.po should be renamed to sr_RS.po
|
||||
|
||||
Stefan Braun <louis.braun@gmx.de>
|
||||
for reporting an endless loop in cTextWrapper::Set() in case the given Width is smaller
|
||||
than one character
|
||||
for reporting an endless loop in the DrawEllipse() functions for very small ellipses
|
||||
|
||||
Jochen Dolze <vdr@dolze.de>
|
||||
for changing cThread::SetIOPriority() from "best effort class" to "idle class" in order
|
||||
to improve overall performance when an editing process is running
|
||||
|
||||
Dominique Dumont <domi.dumont@free.fr>
|
||||
for reporting a crash in the LCARS skin's main menu in case there is no current channel
|
||||
|
34
HISTORY
34
HISTORY
@ -7328,7 +7328,7 @@ Video Disk Recorder Revision History
|
||||
+ no longer generating an editing mark at the "end" of the edited recording (this
|
||||
was actually generated at the beginning of the last GOP, so that a subsequent
|
||||
edit would have cut off the last GOP)
|
||||
+ no longer generating any editing marks if the edited recording results on just
|
||||
+ no longer generating any editing marks if the edited recording results in just
|
||||
one single sequence
|
||||
+ ignoring pairs of editing marks that are placed at exactly the same position of
|
||||
a recording when actually cutting the recording
|
||||
@ -7773,7 +7773,6 @@ Video Disk Recorder Revision History
|
||||
Dominic Evans).
|
||||
- Updated the default channels.conf file.
|
||||
|
||||
|
||||
2013-03-31: Version 2.0.0
|
||||
|
||||
- Updated the Lithuanian OSD texts (thanks to Valdemaras Pipiras).
|
||||
@ -7782,3 +7781,34 @@ Video Disk Recorder Revision History
|
||||
- Fixed handling overlapping pending timers (reported by Matthias Senzel).
|
||||
- Bumped all version numbers to 2.0.0.
|
||||
- Official release.
|
||||
|
||||
2013-04-13: Version 2.0.1
|
||||
|
||||
- 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).
|
||||
|
||||
2013-05-19: Version 2.0.2
|
||||
|
||||
- Fixed multiple occurrences of the same directory in the recordings list in case there
|
||||
are directories that only differ in non-alphanumeric characters (was broken by
|
||||
"Fixed selecting the last replayed recording in the Recordings menu in case there
|
||||
are folders and plain recordings with names that differ only in non-alphanumeric
|
||||
characters" in version 1.7.36).
|
||||
- Fixed displaying the frame number when setting an editing mark (thanks to Thomas
|
||||
Günther).
|
||||
- Fixed no longer generating any editing marks if the edited recording results in just
|
||||
one single sequence.
|
||||
- Fixed an error message when parsing SCR values in diseqc.conf.
|
||||
- Fixed an unexpected RCS version tag in the newplugin script.
|
||||
- Fixed an endless loop in the DrawEllipse() functions for very small ellipses (reported
|
||||
by Stefan Braun).
|
||||
- Fixed a crash in the LCARS skin's main menu in case there is no current channel
|
||||
(reported by Dominique Dumont).
|
||||
|
6
config.h
6
config.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: config.h 2.76 2013/03/31 09:30:18 kls Exp $
|
||||
* $Id: config.h 2.76.1.2 2013/04/27 10:18:08 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
@ -22,8 +22,8 @@
|
||||
|
||||
// VDR's own version number:
|
||||
|
||||
#define VDRVERSION "2.0.0"
|
||||
#define VDRVERSNUM 20000 // Version * 10000 + Major * 100 + Minor
|
||||
#define VDRVERSION "2.0.2"
|
||||
#define VDRVERSNUM 20002 // Version * 10000 + Major * 100 + Minor
|
||||
|
||||
// The plugin API's version number:
|
||||
|
||||
|
4
cutter.c
4
cutter.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: cutter.c 2.25 2013/03/18 09:40:49 kls Exp $
|
||||
* $Id: cutter.c 2.25.1.1 2013/05/02 09:21:18 kls Exp $
|
||||
*/
|
||||
|
||||
#include "cutter.h"
|
||||
@ -581,7 +581,7 @@ bool cCuttingThread::ProcessSequence(int LastEndIndex, int BeginIndex, int EndIn
|
||||
}
|
||||
fileSize += Length;
|
||||
// Generate marks at the editing points in the edited recording:
|
||||
if (numSequences > 0 && Index == BeginIndex) {
|
||||
if (numSequences > 1 && Index == BeginIndex) {
|
||||
if (toMarks.Count() > 0)
|
||||
toMarks.Add(toIndex->Last());
|
||||
toMarks.Add(toIndex->Last());
|
||||
|
4
device.c
4
device.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: device.c 2.74 2013/03/07 13:18:35 kls Exp $
|
||||
* $Id: device.c 2.74.1.1 2013/04/05 10:47:38 kls Exp $
|
||||
*/
|
||||
|
||||
#include "device.h"
|
||||
@ -94,11 +94,11 @@ cDevice::cDevice(void)
|
||||
|
||||
player = NULL;
|
||||
isPlayingVideo = false;
|
||||
keepTracks = false; // used in ClrAvailableTracks()!
|
||||
ClrAvailableTracks();
|
||||
currentAudioTrack = ttNone;
|
||||
currentAudioTrackMissingCount = 0;
|
||||
currentSubtitleTrack = ttNone;
|
||||
keepTracks = false;
|
||||
liveSubtitle = NULL;
|
||||
dvbSubtitleConverter = NULL;
|
||||
autoSelectPreferredSubtitleLanguage = true;
|
||||
|
4
diseqc.c
4
diseqc.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: diseqc.c 2.9 2011/09/17 14:13:31 kls Exp $
|
||||
* $Id: diseqc.c 2.9.1.1 2013/05/02 09:33:12 kls Exp $
|
||||
*/
|
||||
|
||||
#include "diseqc.h"
|
||||
@ -192,7 +192,7 @@ const char *cDiseqc::GetScrBank(const char *s) const
|
||||
}
|
||||
return p;
|
||||
}
|
||||
esyslog("ERROR: more than one scr bank in '%s'", s - 1);
|
||||
esyslog("ERROR: invalid value for scr bank in '%s'", s - 1);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
70
dvbdevice.c
70
dvbdevice.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: dvbdevice.c 2.88 2013/03/16 15:23:35 kls Exp $
|
||||
* $Id: dvbdevice.c 2.88.1.1 2013/04/09 13:42:26 kls Exp $
|
||||
*/
|
||||
|
||||
#include "dvbdevice.h"
|
||||
@ -21,10 +21,7 @@
|
||||
#include "menuitems.h"
|
||||
#include "sourceparams.h"
|
||||
|
||||
#if (DVB_API_VERSION << 8 | DVB_API_VERSION_MINOR) < 0x0508
|
||||
#define DTV_STREAM_ID DTV_DVBT2_PLP_ID
|
||||
#define FE_CAN_MULTISTREAM 0x4000000
|
||||
#endif
|
||||
static int DvbApiVersion = 0x0000; // the version of the DVB driver actually in use (will be determined by the first device created)
|
||||
|
||||
#define DVBS_TUNE_TIMEOUT 9000 //ms
|
||||
#define DVBS_LOCK_TIMEOUT 2000 //ms
|
||||
@ -801,7 +798,8 @@ bool cDvbTuner::SetFrontend(void)
|
||||
// DVB-S2
|
||||
SETCMD(DTV_PILOT, PILOT_AUTO);
|
||||
SETCMD(DTV_ROLLOFF, dtp.RollOff());
|
||||
SETCMD(DTV_STREAM_ID, dtp.StreamId());
|
||||
if (DvbApiVersion >= 0x0508)
|
||||
SETCMD(DTV_STREAM_ID, dtp.StreamId());
|
||||
}
|
||||
else {
|
||||
// DVB-S
|
||||
@ -835,7 +833,11 @@ bool cDvbTuner::SetFrontend(void)
|
||||
SETCMD(DTV_HIERARCHY, dtp.Hierarchy());
|
||||
if (frontendType == SYS_DVBT2) {
|
||||
// DVB-T2
|
||||
SETCMD(DTV_STREAM_ID, dtp.StreamId());
|
||||
if (DvbApiVersion >= 0x0508) {
|
||||
SETCMD(DTV_STREAM_ID, dtp.StreamId());
|
||||
}
|
||||
else if (DvbApiVersion >= 0x0503)
|
||||
SETCMD(DTV_DVBT2_PLP_ID_LEGACY, dtp.StreamId());
|
||||
}
|
||||
|
||||
tuneTimeout = DVBT_TUNE_TIMEOUT;
|
||||
@ -1178,28 +1180,44 @@ bool cDvbDevice::QueryDeliverySystems(int fd_frontend)
|
||||
LOG_ERROR;
|
||||
return false;
|
||||
}
|
||||
#if (DVB_API_VERSION << 8 | DVB_API_VERSION_MINOR) >= 0x0505
|
||||
dtv_property Frontend[1];
|
||||
memset(&Frontend, 0, sizeof(Frontend));
|
||||
dtv_properties CmdSeq;
|
||||
memset(&CmdSeq, 0, sizeof(CmdSeq));
|
||||
CmdSeq.props = Frontend;
|
||||
SETCMD(DTV_ENUM_DELSYS, 0);
|
||||
int Result = ioctl(fd_frontend, FE_GET_PROPERTY, &CmdSeq);
|
||||
if (Result == 0) {
|
||||
for (uint i = 0; i < Frontend[0].u.buffer.len; i++) {
|
||||
if (numDeliverySystems >= MAXDELIVERYSYSTEMS) {
|
||||
esyslog("ERROR: too many delivery systems on frontend %d/%d", adapter, frontend);
|
||||
break;
|
||||
}
|
||||
deliverySystems[numDeliverySystems++] = Frontend[0].u.buffer.data[i];
|
||||
}
|
||||
// Determine the version of the running DVB API:
|
||||
if (!DvbApiVersion) {
|
||||
memset(&Frontend, 0, sizeof(Frontend));
|
||||
memset(&CmdSeq, 0, sizeof(CmdSeq));
|
||||
CmdSeq.props = Frontend;
|
||||
SETCMD(DTV_API_VERSION, 0);
|
||||
if (ioctl(fd_frontend, FE_GET_PROPERTY, &CmdSeq) != 0) {
|
||||
LOG_ERROR;
|
||||
return false;
|
||||
}
|
||||
DvbApiVersion = Frontend[0].u.data;
|
||||
isyslog("DVB API version is 0x%04X (VDR was built with 0x%04X)", DvbApiVersion, DVBAPIVERSION);
|
||||
}
|
||||
else {
|
||||
esyslog("ERROR: can't query delivery systems on frontend %d/%d - falling back to legacy mode", adapter, frontend);
|
||||
#else
|
||||
{
|
||||
#endif
|
||||
// Determine the types of delivery systems this device provides:
|
||||
bool LegacyMode = true;
|
||||
if (DvbApiVersion >= 0x0505) {
|
||||
memset(&Frontend, 0, sizeof(Frontend));
|
||||
memset(&CmdSeq, 0, sizeof(CmdSeq));
|
||||
CmdSeq.props = Frontend;
|
||||
SETCMD(DTV_ENUM_DELSYS, 0);
|
||||
int Result = ioctl(fd_frontend, FE_GET_PROPERTY, &CmdSeq);
|
||||
if (Result == 0) {
|
||||
for (uint i = 0; i < Frontend[0].u.buffer.len; i++) {
|
||||
if (numDeliverySystems >= MAXDELIVERYSYSTEMS) {
|
||||
esyslog("ERROR: too many delivery systems on frontend %d/%d", adapter, frontend);
|
||||
break;
|
||||
}
|
||||
deliverySystems[numDeliverySystems++] = Frontend[0].u.buffer.data[i];
|
||||
}
|
||||
LegacyMode = false;
|
||||
}
|
||||
else {
|
||||
esyslog("ERROR: can't query delivery systems on frontend %d/%d - falling back to legacy mode", adapter, frontend);
|
||||
}
|
||||
}
|
||||
if (LegacyMode) {
|
||||
// Legacy mode (DVB-API < 5.5):
|
||||
switch (frontendInfo.type) {
|
||||
case FE_QPSK: deliverySystems[numDeliverySystems++] = SYS_DVBS;
|
||||
|
55
dvbdevice.h
55
dvbdevice.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: dvbdevice.h 2.29 2013/03/07 09:42:29 kls Exp $
|
||||
* $Id: dvbdevice.h 2.29.1.1 2013/04/09 13:43:33 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __DVBDEVICE_H
|
||||
@ -14,10 +14,59 @@
|
||||
#include <linux/dvb/version.h>
|
||||
#include "device.h"
|
||||
|
||||
#if (DVB_API_VERSION << 8 | DVB_API_VERSION_MINOR) < 0x0503
|
||||
#error VDR requires Linux DVB driver API version 5.3 or higher!
|
||||
#define DVBAPIVERSION (DVB_API_VERSION << 8 | DVB_API_VERSION_MINOR)
|
||||
|
||||
#if DVBAPIVERSION < 0x0500
|
||||
#error VDR requires Linux DVB driver API version 5.0 or higher!
|
||||
#endif
|
||||
|
||||
// --- Definitions for older DVB API versions --------------------------------
|
||||
|
||||
#if DVBAPIVERSION < 0x0501
|
||||
enum {
|
||||
FE_CAN_2G_MODULATION = 0x10000000,
|
||||
};
|
||||
enum {
|
||||
TRANSMISSION_MODE_4K = TRANSMISSION_MODE_AUTO + 1,
|
||||
};
|
||||
#endif
|
||||
|
||||
#if DVBAPIVERSION < 0x0502
|
||||
enum {
|
||||
FE_CAN_TURBO_FEC = 0x8000000,
|
||||
};
|
||||
#endif
|
||||
|
||||
#if DVBAPIVERSION < 0x0503
|
||||
enum {
|
||||
TRANSMISSION_MODE_1K = TRANSMISSION_MODE_4K + 1,
|
||||
TRANSMISSION_MODE_16K,
|
||||
TRANSMISSION_MODE_32K,
|
||||
};
|
||||
enum {
|
||||
GUARD_INTERVAL_1_128 = GUARD_INTERVAL_AUTO + 1,
|
||||
GUARD_INTERVAL_19_128,
|
||||
GUARD_INTERVAL_19_256,
|
||||
};
|
||||
enum {
|
||||
SYS_DVBT2 = SYS_DAB + 1,
|
||||
};
|
||||
#endif
|
||||
|
||||
#if DVBAPIVERSION < 0x0505
|
||||
#define DTV_ENUM_DELSYS 44
|
||||
#endif
|
||||
|
||||
#if DVBAPIVERSION < 0x0508
|
||||
enum {
|
||||
FE_CAN_MULTISTREAM = 0x4000000,
|
||||
};
|
||||
#define DTV_STREAM_ID 42
|
||||
#define DTV_DVBT2_PLP_ID_LEGACY 43
|
||||
#endif
|
||||
|
||||
// --- End of definitions for older DVB API versions -------------------------
|
||||
|
||||
#define MAXDVBDEVICES 8
|
||||
#define MAXDELIVERYSYSTEMS 8
|
||||
|
||||
|
7
font.c
7
font.c
@ -6,7 +6,7 @@
|
||||
*
|
||||
* BiDi support by Osama Alrawab <alrawab@hotmail.com> @2008 Tripoli-Libya.
|
||||
*
|
||||
* $Id: font.c 2.13 2012/06/02 13:38:28 kls Exp $
|
||||
* $Id: font.c 2.13.1.1 2013/04/07 14:54:15 kls Exp $
|
||||
*/
|
||||
|
||||
#include "font.h"
|
||||
@ -592,7 +592,7 @@ void cTextWrapper::Set(const char *Text, const cFont *Font, int Width)
|
||||
p = Blank;
|
||||
continue;
|
||||
}
|
||||
else {
|
||||
else if (w > 0) { // there has to be at least one character before the newline
|
||||
// Here's the ugly part, where we don't have any whitespace to
|
||||
// punch in a newline, so we need to make room for it:
|
||||
if (Delim)
|
||||
@ -608,8 +608,7 @@ void cTextWrapper::Set(const char *Text, const cFont *Font, int Width)
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else
|
||||
w += cw;
|
||||
w += cw;
|
||||
if (strchr("-.,:;!?_", *p)) {
|
||||
Delim = p;
|
||||
Blank = NULL;
|
||||
|
14
menu.c
14
menu.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: menu.c 2.82 2013/03/18 09:11:48 kls Exp $
|
||||
* $Id: menu.c 2.82.1.2 2013/04/27 10:32:28 kls Exp $
|
||||
*/
|
||||
|
||||
#include "menu.h"
|
||||
@ -2302,14 +2302,12 @@ void cMenuRecordings::Set(bool Refresh)
|
||||
}
|
||||
else
|
||||
delete Item;
|
||||
if (LastItem) {
|
||||
if (LastItem || LastDir) {
|
||||
if (CurrentRecording && strcmp(CurrentRecording, recording->FileName()) == 0)
|
||||
SetCurrent(LastItem);
|
||||
SetCurrent(LastDir ? LastDir : LastItem);
|
||||
}
|
||||
if (LastDir) {
|
||||
if (LastDir)
|
||||
LastDir->IncrementCounter(recording->IsNew());
|
||||
LastItem = LastDir;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (Refresh)
|
||||
@ -4779,8 +4777,10 @@ void cReplayControl::MarkToggle(void)
|
||||
marks.Add(Current);
|
||||
bool Play, Forward;
|
||||
int Speed;
|
||||
if (Setup.PauseOnMarkSet || GetReplayMode(Play, Forward, Speed) && !Play)
|
||||
if (Setup.PauseOnMarkSet || GetReplayMode(Play, Forward, Speed) && !Play) {
|
||||
Goto(Current, true);
|
||||
displayFrames = true;
|
||||
}
|
||||
}
|
||||
ShowTimed(2);
|
||||
marksModified = true;
|
||||
|
@ -12,7 +12,7 @@
|
||||
# See the main source file 'vdr.c' for copyright information and
|
||||
# how to reach the author.
|
||||
#
|
||||
# $Id: newplugin 2.17 2013/01/12 13:46:00 kls Exp $
|
||||
# $Id: newplugin 2.17.1.1 2013/05/02 10:04:06 kls Exp $
|
||||
|
||||
$PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n";
|
||||
|
||||
@ -352,8 +352,8 @@ The next steps you should perform now are:
|
||||
|
||||
sub CreateFile
|
||||
{
|
||||
my ($Name, $Content) = @_;
|
||||
open(FILE, ">$PLUGINDIR/$Name") || die "$Name: $!\n";
|
||||
my ($FileName, $Content) = @_;
|
||||
open(FILE, ">$PLUGINDIR/$FileName") || die "$FileName: $!\n";
|
||||
print FILE $Content;
|
||||
close(FILE);
|
||||
}
|
||||
|
10
osd.c
10
osd.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: osd.c 2.38 2013/02/14 15:50:19 kls Exp $
|
||||
* $Id: osd.c 2.38.1.1 2013/05/18 12:41:48 kls Exp $
|
||||
*/
|
||||
|
||||
#include "osd.h"
|
||||
@ -639,8 +639,8 @@ void cBitmap::DrawEllipse(int x1, int y1, int x2, int y2, tColor Color, int Quad
|
||||
case 8: cy = y1; rx /= 2; break;
|
||||
default: ;
|
||||
}
|
||||
int TwoASquare = 2 * rx * rx;
|
||||
int TwoBSquare = 2 * ry * ry;
|
||||
int TwoASquare = max(1, 2 * rx * rx);
|
||||
int TwoBSquare = max(1, 2 * ry * ry);
|
||||
int x = rx;
|
||||
int y = 0;
|
||||
int XChange = ry * ry * (1 - 2 * rx);
|
||||
@ -1380,8 +1380,8 @@ void cPixmapMemory::DrawEllipse(const cRect &Rect, tColor Color, int Quadrants)
|
||||
case 8: cy = y1; rx /= 2; break;
|
||||
default: ;
|
||||
}
|
||||
int TwoASquare = 2 * rx * rx;
|
||||
int TwoBSquare = 2 * ry * ry;
|
||||
int TwoASquare = max(1, 2 * rx * rx);
|
||||
int TwoBSquare = max(1, 2 * ry * ry);
|
||||
int x = rx;
|
||||
int y = 0;
|
||||
int XChange = ry * ry * (1 - 2 * rx);
|
||||
|
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: recording.c 2.91 2013/03/11 10:34:41 kls Exp $
|
||||
* $Id: recording.c 2.91.1.1 2013/04/11 08:20:03 kls Exp $
|
||||
*/
|
||||
|
||||
#include "recording.h"
|
||||
@ -561,6 +561,7 @@ char *ExchangeChars(char *s, bool ToFileSystem)
|
||||
// characters that can be mapped to other characters:
|
||||
case ' ': *p = '_'; break;
|
||||
case FOLDERDELIMCHAR: *p = '/'; break;
|
||||
case '/': *p = FOLDERDELIMCHAR; break;
|
||||
// characters that have to be encoded:
|
||||
default:
|
||||
if (NeedsConversion(p)) {
|
||||
@ -583,6 +584,7 @@ char *ExchangeChars(char *s, bool ToFileSystem)
|
||||
switch (*p) {
|
||||
// mapped characters:
|
||||
case '_': *p = ' '; break;
|
||||
case FOLDERDELIMCHAR: *p = '/'; break;
|
||||
case '/': *p = FOLDERDELIMCHAR; break;
|
||||
// encoded characters:
|
||||
case '#': {
|
||||
|
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: skinlcars.c 2.21 2013/03/09 10:43:34 kls Exp $
|
||||
* $Id: skinlcars.c 2.21.1.1 2013/05/19 12:08:52 kls Exp $
|
||||
*/
|
||||
|
||||
// "Star Trek: The Next Generation"(R) is a registered trademark of Paramount Pictures,
|
||||
@ -1340,6 +1340,8 @@ void cSkinLCARSDisplayMenu::DrawLive(const cChannel *Channel)
|
||||
DrawMainFrameUpper(Theme.Color(clrChannelFrameBg));
|
||||
osd->DrawText(xd00, yd00, tr("LIVE"), Theme.Color(clrChannelFrameBg), Theme.Color(clrBackground), tallFont, xd07 - xd00, yd01 - yd00, taTop | taRight | taBorder);
|
||||
}
|
||||
if (!Channel)
|
||||
return;
|
||||
if (initial || Channel != lastChannel) {
|
||||
osd->DrawText(xa00, yt00, itoa(Channel->Number()), Theme.Color(clrChannelFrameFg), Theme.Color(clrChannelFrameBg), tallFont, xa02 - xa00, yt02 - yt00, taTop | taRight | taBorder);
|
||||
osd->DrawText(xa03, yt00, Channel->Name(), Theme.Color(clrChannelName), Theme.Color(clrBackground), tallFont, xd00 - xa03, yd01 - yd00, taTop | taLeft);
|
||||
|
4
thread.c
4
thread.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: thread.c 2.7 2013/02/22 14:52:49 kls Exp $
|
||||
* $Id: thread.c 2.7.1.1 2013/04/11 08:59:26 kls Exp $
|
||||
*/
|
||||
|
||||
#include "thread.h"
|
||||
@ -229,7 +229,7 @@ void cThread::SetPriority(int Priority)
|
||||
|
||||
void cThread::SetIOPriority(int Priority)
|
||||
{
|
||||
if (syscall(SYS_ioprio_set, 1, 0, (Priority & 0xff) | (2 << 13)) < 0) // best effort class
|
||||
if (syscall(SYS_ioprio_set, 1, 0, (Priority & 0xff) | (3 << 13)) < 0) // idle class
|
||||
LOG_ERROR;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user