cRecordingInfo::Errors() now returns -1 for old recordings; added a missing 'const'

This commit is contained in:
Klaus Schmidinger 2021-05-23 15:03:17 +02:00
parent c40fb4b4aa
commit 8f52603665
5 changed files with 17 additions and 8 deletions

View File

@ -2449,6 +2449,8 @@ Christoph Haubrich <christoph1.haubrich@arcor.de>
for reporting an unnecessary double call to Display() in cMenuRecording::RefreshRecording() for reporting an unnecessary double call to Display() in cMenuRecording::RefreshRecording()
for reporting too much memory being allocated in the cImage constructors for reporting too much memory being allocated in the cImage constructors
for making the 'Edit path' dialog also show the total size of all recordings in that path for making the 'Edit path' dialog also show the total size of all recordings in that path
for suggesting to make cRecordingInfo::Errors() return -1 for old recordings, and
reporting a missing 'const'
Pekka Mauno <pekka.mauno@iki.fi> Pekka Mauno <pekka.mauno@iki.fi>
for fixing cSchedule::GetFollowingEvent() in case there is currently no present for fixing cSchedule::GetFollowingEvent() in case there is currently no present

View File

@ -9705,3 +9705,8 @@ Video Disk Recorder Revision History
no longer available. You can add 'DEPRECATED_SKIN_SETITEMEVENT=1' when compiling in no longer available. You can add 'DEPRECATED_SKIN_SETITEMEVENT=1' when compiling in
order to restore this functionality. However, it is recommended to use the function order to restore this functionality. However, it is recommended to use the function
with the TimerActive parameter instead. with the TimerActive parameter instead.
2021-05-23:
- cRecordingInfo::Errors() now returns -1 for old recordings; added a missing 'const'
(suggested by Christoph Haubrich).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: recorder.c 5.1 2021/05/19 11:22:20 kls Exp $ * $Id: recorder.c 5.2 2021/05/23 15:03:17 kls Exp $
*/ */
#include "recorder.h" #include "recorder.h"
@ -170,7 +170,7 @@ cRecorder::cRecorder(const char *FileName, const cChannel *Channel, int Priority
recordingName = strdup(FileName); recordingName = strdup(FileName);
recordingInfo = new cRecordingInfo(recordingName); recordingInfo = new cRecordingInfo(recordingName);
recordingInfo->Read(); recordingInfo->Read();
oldErrors = recordingInfo->Errors(); // in case this is a re-started recording oldErrors = max(0, recordingInfo->Errors()); // in case this is a re-started recording
errors = oldErrors; errors = oldErrors;
firstIframeSeen = false; firstIframeSeen = false;

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: recording.c 5.7 2021/05/19 11:22:20 kls Exp $ * $Id: recording.c 5.8 2021/05/23 15:03:17 kls Exp $
*/ */
#include "recording.h" #include "recording.h"
@ -359,7 +359,7 @@ cRecordingInfo::cRecordingInfo(const cChannel *Channel, const cEvent *Event)
priority = MAXPRIORITY; priority = MAXPRIORITY;
lifetime = MAXLIFETIME; lifetime = MAXLIFETIME;
fileName = NULL; fileName = NULL;
errors = 0; errors = -1;
if (Channel) { if (Channel) {
// Since the EPG data's component records can carry only a single // Since the EPG data's component records can carry only a single
// language code, let's see whether the channel's PID data has // language code, let's see whether the channel's PID data has
@ -415,7 +415,7 @@ cRecordingInfo::cRecordingInfo(const char *FileName)
ownEvent = new cEvent(0); ownEvent = new cEvent(0);
event = ownEvent; event = ownEvent;
aux = NULL; aux = NULL;
errors = 0; errors = -1;
framesPerSecond = DEFAULTFRAMESPERSECOND; framesPerSecond = DEFAULTFRAMESPERSECOND;
priority = MAXPRIORITY; priority = MAXPRIORITY;
lifetime = MAXLIFETIME; lifetime = MAXLIFETIME;
@ -1202,7 +1202,9 @@ bool cRecording::WriteInfo(const char *OtherFileName)
// Let's keep the error counter if this is a re-started recording: // Let's keep the error counter if this is a re-started recording:
cRecordingInfo ExistingInfo(FileName()); cRecordingInfo ExistingInfo(FileName());
if (ExistingInfo.Read()) if (ExistingInfo.Read())
info->SetErrors(ExistingInfo.Errors()); info->SetErrors(max(0, ExistingInfo.Errors()));
else
info->SetErrors(0);
} }
else { else {
// This is an edited recording, so let's clear the error counter: // This is an edited recording, so let's clear the error counter:

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: recording.h 5.4 2021/05/19 11:22:20 kls Exp $ * $Id: recording.h 5.5 2021/05/23 15:03:17 kls Exp $
*/ */
#ifndef __RECORDING_H #ifndef __RECORDING_H
@ -89,7 +89,7 @@ public:
double FramesPerSecond(void) const { return framesPerSecond; } double FramesPerSecond(void) const { return framesPerSecond; }
void SetFramesPerSecond(double FramesPerSecond); void SetFramesPerSecond(double FramesPerSecond);
void SetFileName(const char *FileName); void SetFileName(const char *FileName);
int Errors(void) { return errors; } int Errors(void) const { return errors; } // returns -1 if undefined
void SetErrors(int Errors); void SetErrors(int Errors);
bool Write(FILE *f, const char *Prefix = "") const; bool Write(FILE *f, const char *Prefix = "") const;
bool Read(void); bool Read(void);