vdr 2.6.1
|
#include <time.h>
#include "channels.h"
#include "config.h"
#include "epg.h"
#include "thread.h"
#include "timers.h"
#include "tools.h"
Go to the source code of this file.
Classes | |
class | cResumeFile |
class | cRecordingInfo |
class | cRecording |
class | cRecordings |
class | cRecordingsHandler |
class | cMark |
class | cMarks |
class | cRecordingUserCommand |
class | cIndexFile |
class | cFileName |
class | cDoneRecordings |
Macros | |
#define | FOLDERDELIMCHAR '~' |
#define | LOCK_RECORDINGS_READ USE_LIST_LOCK_READ(Recordings) |
#define | LOCK_RECORDINGS_WRITE USE_LIST_LOCK_WRITE(Recordings) |
#define | LOCK_DELETEDRECORDINGS_READ USE_LIST_LOCK_READ2(Recordings, DeletedRecordings) |
#define | LOCK_DELETEDRECORDINGS_WRITE USE_LIST_LOCK_WRITE2(Recordings, DeletedRecordings) |
#define | DEFAULTFRAMESPERSECOND 25.0 |
#define | RUC_BEFORERECORDING "before" |
#define | RUC_STARTRECORDING "started" |
#define | RUC_AFTERRECORDING "after" |
#define | RUC_EDITINGRECORDING "editing" |
#define | RUC_EDITEDRECORDING "edited" |
#define | RUC_DELETERECORDING "deleted" |
#define | RUC_RENAMEDRECORDING "renamed" |
#define | RUC_MOVEDRECORDING "moved" |
#define | RUC_COPYINGRECORDING "copying" |
#define | RUC_COPIEDRECORDING "copied" |
#define | MAXFRAMESIZE (KILOBYTE(1024) / TS_SIZE * TS_SIZE) |
#define | MAXVIDEOFILESIZETS 1048570 |
#define | MAXVIDEOFILESIZEPES 2000 |
#define | MINVIDEOFILESIZE 100 |
#define | MAXVIDEOFILESIZEDEFAULT MAXVIDEOFILESIZEPES |
Enumerations | |
enum | eRecordingUsage { ruNone = 0x0000 , ruTimer = 0x0001 , ruReplay = 0x0002 , ruCut = 0x0004 , ruMove = 0x0008 , ruCopy = 0x0010 , ruSrc = 0x0020 , ruDst = 0x0040 , ruPending = 0x0080 , ruCanceled = 0x8000 , ruNone = 0x0000 , ruTimer = 0x0001 , ruReplay = 0x0002 , ruCut = 0x0004 , ruMove = 0x0008 , ruCopy = 0x0010 , ruSrc = 0x0020 , ruDst = 0x0040 , ruPending = 0x0080 , ruCanceled = 0x8000 } |
enum | eRecordingsSortDir { rsdAscending , rsdDescending , rsdAscending , rsdDescending } |
enum | eRecordingsSortMode { rsmName , rsmTime , rsmName , rsmTime } |
Functions | |
void | RemoveDeletedRecordings (void) |
void | AssertFreeDiskSpace (int Priority=0, bool Force=false) |
DEF_LIST_LOCK (Recordings) | |
DEF_LIST_LOCK2 (Recordings, DeletedRecordings) | |
cString | IndexToHMSF (int Index, bool WithFrame=false, double FramesPerSecond=DEFAULTFRAMESPERSECOND) |
int | HMSFToIndex (const char *HMSF, double FramesPerSecond=DEFAULTFRAMESPERSECOND) |
int | SecondsToFrames (int Seconds, double FramesPerSecond=DEFAULTFRAMESPERSECOND) |
int | ReadFrame (cUnbufferedFile *f, uchar *b, int Length, int Max) |
char * | ExchangeChars (char *s, bool ToFileSystem) |
bool | GenerateIndex (const char *FileName, bool Update=false) |
bool | HasRecordingsSortMode (const char *Directory) |
void | GetRecordingsSortMode (const char *Directory) |
void | SetRecordingsSortMode (const char *Directory, eRecordingsSortMode SortMode) |
void | IncRecordingsSortMode (const char *Directory) |
void | SetRecordingTimerId (const char *Directory, const char *TimerId) |
cString | GetRecordingTimerId (const char *Directory) |
#define DEFAULTFRAMESPERSECOND 25.0 |
Definition at line 352 of file include/vdr/recording.h.
#define FOLDERDELIMCHAR '~' |
Definition at line 21 of file include/vdr/recording.h.
#define LOCK_DELETEDRECORDINGS_READ USE_LIST_LOCK_READ2(Recordings, DeletedRecordings) |
Definition at line 309 of file include/vdr/recording.h.
#define LOCK_DELETEDRECORDINGS_WRITE USE_LIST_LOCK_WRITE2(Recordings, DeletedRecordings) |
Definition at line 310 of file include/vdr/recording.h.
#define LOCK_RECORDINGS_READ USE_LIST_LOCK_READ(Recordings) |
Definition at line 307 of file include/vdr/recording.h.
#define LOCK_RECORDINGS_WRITE USE_LIST_LOCK_WRITE(Recordings) |
Definition at line 308 of file include/vdr/recording.h.
Definition at line 441 of file include/vdr/recording.h.
#define MAXVIDEOFILESIZEDEFAULT MAXVIDEOFILESIZEPES |
Definition at line 451 of file include/vdr/recording.h.
#define MAXVIDEOFILESIZEPES 2000 |
Definition at line 449 of file include/vdr/recording.h.
#define MAXVIDEOFILESIZETS 1048570 |
Definition at line 448 of file include/vdr/recording.h.
#define MINVIDEOFILESIZE 100 |
Definition at line 450 of file include/vdr/recording.h.
#define RUC_AFTERRECORDING "after" |
Definition at line 423 of file include/vdr/recording.h.
#define RUC_BEFORERECORDING "before" |
Definition at line 421 of file include/vdr/recording.h.
#define RUC_COPIEDRECORDING "copied" |
Definition at line 430 of file include/vdr/recording.h.
#define RUC_COPYINGRECORDING "copying" |
Definition at line 429 of file include/vdr/recording.h.
#define RUC_DELETERECORDING "deleted" |
Definition at line 426 of file include/vdr/recording.h.
#define RUC_EDITEDRECORDING "edited" |
Definition at line 425 of file include/vdr/recording.h.
#define RUC_EDITINGRECORDING "editing" |
Definition at line 424 of file include/vdr/recording.h.
#define RUC_MOVEDRECORDING "moved" |
Definition at line 428 of file include/vdr/recording.h.
#define RUC_RENAMEDRECORDING "renamed" |
Definition at line 427 of file include/vdr/recording.h.
#define RUC_STARTRECORDING "started" |
Definition at line 422 of file include/vdr/recording.h.
enum eRecordingsSortDir |
Enumerator | |
---|---|
rsdAscending | |
rsdDescending | |
rsdAscending | |
rsdDescending |
Definition at line 549 of file include/vdr/recording.h.
enum eRecordingsSortMode |
Enumerator | |
---|---|
rsmName | |
rsmTime | |
rsmName | |
rsmTime |
Definition at line 550 of file include/vdr/recording.h.
enum eRecordingUsage |
Enumerator | |
---|---|
ruNone | |
ruTimer | |
ruReplay | |
ruCut | |
ruMove | |
ruCopy | |
ruSrc | |
ruDst | |
ruPending | |
ruCanceled | |
ruNone | |
ruTimer | |
ruReplay | |
ruCut | |
ruMove | |
ruCopy | |
ruSrc | |
ruDst | |
ruPending | |
ruCanceled |
Definition at line 28 of file include/vdr/recording.h.
void AssertFreeDiskSpace | ( | int | Priority = 0 , |
bool | Force = false |
||
) |
The special Priority value -1 means that we shall get rid of any deleted recordings faster than normal (because we're cutting).
If Force is true, the check will be done even if the timeout hasn't expired yet.
Definition at line 154 of file recording.c.
References cRecording::Delete(), DISKCHECKDELTA, cRecording::IsEdited(), cRecording::IsOnVideoDirectoryFileSystem(), isyslog, cRecording::Lifetime(), cLockFile::Lock(), LOCK_DELETEDRECORDINGS_READ, LOCK_DELETEDRECORDINGS_WRITE, LOCK_RECORDINGS_WRITE, MAXLIFETIME, MINDISKSPACE, mtWarning, cVideoDirectory::Name(), cListObject::Next(), cRecording::Priority(), cSkins::QueueMessage(), cRecording::Remove(), REMOVELATENCY, SECSINDAY, Skins, cRecording::Start(), tr, cRecordings::Update(), and cVideoDirectory::VideoFileSpaceAvailable().
Referenced by main(), cCuttingThread::ProcessSequence(), and cRecordControls::Start().
DEF_LIST_LOCK | ( | Recordings | ) |
DEF_LIST_LOCK2 | ( | Recordings | , |
DeletedRecordings | |||
) |
char * ExchangeChars | ( | char * | s, |
bool | ToFileSystem | ||
) |
Definition at line 600 of file recording.c.
References tCharExchange::a, CharExchange, DirectoryEncoding, esyslog, FOLDERDELIMCHAR, and NeedsConversion().
Referenced by cMenuRecordingEdit::Action(), cSVDRPServer::CmdCPYR(), and cMenuRecordings::DirectoryName().
bool GenerateIndex | ( | const char * | FileName, |
bool | Update = false |
||
) |
Generates the index of the existing recording with the given FileName.
If Update is true, an existing index file will be checked whether it is complete, and will be updated if it isn't. Otherwise an existing index file will be removed before a new one is generated.
Definition at line 2891 of file recording.c.
References cThread::Active(), AddDirectory(), DirectoryOk(), INDEXFILECHECKINTERVAL, INDEXFILESUFFIX, cRecording::IsPesRecording(), cRecording::Name(), and cCondWait::SleepMs().
Referenced by main().
void GetRecordingsSortMode | ( | const char * | Directory | ) |
Definition at line 3235 of file recording.c.
References AddDirectory(), constrain(), cSetup::DefaultSortModeRec, RecordingsSortMode, rsmTime, Setup, and SORTMODEFILE.
Referenced by cMenuRecordings::Set().
cString GetRecordingTimerId | ( | const char * | Directory | ) |
Definition at line 3283 of file recording.c.
References AddDirectory(), stripspace(), and TIMERRECFILE.
Referenced by TimerStillRecording().
bool HasRecordingsSortMode | ( | const char * | Directory | ) |
Definition at line 3230 of file recording.c.
References AddDirectory(), and SORTMODEFILE.
int HMSFToIndex | ( | const char * | HMSF, |
double | FramesPerSecond = DEFAULTFRAMESPERSECOND |
||
) |
Definition at line 3194 of file recording.c.
Referenced by cSVDRPServer::CmdPLAY().
void IncRecordingsSortMode | ( | const char * | Directory | ) |
Definition at line 3254 of file recording.c.
References GetRecordingsSortMode(), RecordingsSortMode, rsmTime, and SetRecordingsSortMode().
Referenced by cMenuRecordings::Sort().
cString IndexToHMSF | ( | int | Index, |
bool | WithFrame = false , |
||
double | FramesPerSecond = DEFAULTFRAMESPERSECOND |
||
) |
Definition at line 3178 of file recording.c.
References cString::sprintf().
Referenced by cDvbPlayer::Action(), and cReplayControl::ShowProgress().
int ReadFrame | ( | cUnbufferedFile * | f, |
uchar * | b, | ||
int | Length, | ||
int | Max | ||
) |
Definition at line 3212 of file recording.c.
References esyslog, LOG_ERROR, and cUnbufferedFile::Read().
Referenced by cDvbPlayer::Goto(), and cCuttingThread::LoadFrame().
void RemoveDeletedRecordings | ( | void | ) |
Definition at line 137 of file recording.c.
References cThread::Active(), DELETEDLIFETIME, LOCK_DELETEDRECORDINGS_READ, cListObject::Next(), REMOVECHECKDELTA, RemoveDeletedRecordingsThread, and cThread::Start().
Referenced by main().
int SecondsToFrames | ( | int | Seconds, |
double | FramesPerSecond = DEFAULTFRAMESPERSECOND |
||
) |
Definition at line 3205 of file recording.c.
Referenced by cReplayControl::EditTest(), cReplayControl::MarkJump(), cDvbPlayer::SkipSeconds(), and cReplayControl::TimeSearchProcess().
void SetRecordingsSortMode | ( | const char * | Directory, |
eRecordingsSortMode | SortMode | ||
) |
Definition at line 3246 of file recording.c.
References AddDirectory(), SORTMODEFILE, and cString::sprintf().
void SetRecordingTimerId | ( | const char * | Directory, |
const char * | TimerId | ||
) |
Definition at line 3265 of file recording.c.
References AddDirectory(), dsyslog, LOG_ERROR_STR, and TIMERRECFILE.
Referenced by cRecordControl::cRecordControl(), and cRecordControl::Stop().
|
extern |
Definition at line 78 of file recording.c.
Referenced by main().
|
extern |
Definition at line 77 of file recording.c.
Referenced by main().
|
extern |
Definition at line 76 of file recording.c.
Referenced by main().
|
extern |
Definition at line 3085 of file recording.c.
Referenced by main(), cTimer::Matches(), and cRecordControl::Stop().
|
extern |
Definition at line 79 of file recording.c.
Referenced by main().
|
extern |
Definition at line 2000 of file recording.c.
Referenced by cMenuRecordingEdit::Action(), cSVDRPServer::CmdCPYR(), cSVDRPServer::CmdEDIT(), cShutdownHandler::ConfirmRestart(), cShutdownHandler::ConfirmShutdown(), cMenuRecordings::Delete(), cReplayControl::EditCut(), main(), cVideoDirectory::Move(), cMenuMain::ProcessKey(), and cMenuMain::Update().
|
extern |
Definition at line 3228 of file recording.c.
Referenced by cMenuRecordings::Set().