vdr
2.4.0
|
#include <recording.h>
Public Member Functions | |
cMarks (void) | |
bool | Load (const char *RecordingFileName, double FramesPerSecond=DEFAULTFRAMESPERSECOND, bool IsPesRecording=false) |
bool | Update (void) |
bool | Save (void) |
void | Align (void) |
void | Sort (void) |
void | Add (int Position) |
const cMark * | Get (int Position) const |
const cMark * | GetPrev (int Position) const |
const cMark * | GetNext (int Position) const |
const cMark * | GetNextBegin (const cMark *EndMark=NULL) const |
const cMark * | GetNextEnd (const cMark *BeginMark) const |
int | GetNumSequences (void) const |
cMark * | Get (int Position) |
cMark * | GetPrev (int Position) |
cMark * | GetNext (int Position) |
cMark * | GetNextBegin (const cMark *EndMark=NULL) |
cMark * | GetNextEnd (const cMark *BeginMark) |
![]() | |
cConfig (const char *NeedsLocking=NULL) | |
virtual | ~cConfig () |
const char * | FileName (void) |
bool | Load (const char *FileName=NULL, bool AllowComments=false, bool MustExist=false) |
bool | Save (void) const |
![]() | |
cList (const char *NeedsLocking=NULL) | |
const cMark * | Get (int Index) const |
cMark * | Get (int Index) |
const cMark * | First (void) const |
cMark * | First (void) |
const cMark * | Last (void) const |
cMark * | Last (void) |
const cMark * | Prev (const cMark *Object) const |
cMark * | Prev (const cMark *Object) |
const cMark * | Next (const cMark *Object) const |
cMark * | Next (const cMark *Object) |
![]() | |
virtual | ~cListBase () |
bool | Lock (cStateKey &StateKey, bool Write=false, int TimeoutMs=0) const |
void | SetSyncStateKey (cStateKey &StateKey) |
void | SetUseGarbageCollector (void) |
void | SetExplicitModify (void) |
void | SetModified (void) |
void | Add (cListObject *Object, cListObject *After=NULL) |
void | Ins (cListObject *Object, cListObject *Before=NULL) |
void | Del (cListObject *Object, bool DeleteObject=true) |
virtual void | Move (int From, int To) |
void | Move (cListObject *From, cListObject *To) |
bool | Contains (const cListObject *Object) const |
const cListObject * | Get (int Index) const |
cListObject * | Get (int Index) |
int | Count (void) const |
void | Sort (void) |
Static Public Member Functions | |
static cString | MarksFileName (const cRecording *Recording) |
static bool | DeleteMarksFile (const cRecording *Recording) |
Private Attributes | |
cString | recordingFileName |
cString | fileName |
double | framesPerSecond |
bool | isPesRecording |
time_t | nextUpdate |
time_t | lastFileTime |
time_t | lastChange |
Additional Inherited Members | |
![]() | |
cListBase (const char *NeedsLocking=NULL) | |
![]() | |
cListObject * | objects |
cListObject * | lastObject |
int | count |
cStateLock | stateLock |
const char * | needsLocking |
bool | useGarbageCollector |
Definition at line 371 of file recording.h.
|
inline |
Definition at line 381 of file recording.h.
void cMarks::Add | ( | int | Position | ) |
If this cMarks object is used by multiple threads, the caller must Lock() it before calling Add() and Unlock() it afterwards.
The same applies to calls to Del(), or any of the functions that return a "cMark *", in case an other thread might modifiy the list while the returned pointer is considered valid.
Definition at line 2213 of file recording.c.
References cListBase::Add(), framesPerSecond, and Sort().
Referenced by cReplayControl::MarkToggle(), and cCuttingThread::ProcessSequence().
void cMarks::Align | ( | void | ) |
Definition at line 2189 of file recording.c.
References cList< cMark >::First(), cIndexFile::GetClosestIFrame(), isPesRecording, cList< cMark >::Next(), and recordingFileName.
Referenced by Update().
|
static |
Definition at line 2126 of file recording.c.
References cRecording::FileName(), LOG_ERROR_STR, and MarksFileName().
Referenced by cRecording::DeleteMarks(), and cMenuRecordingEdit::DeleteMarks().
const cMark * cMarks::Get | ( | int | Position | ) | const |
Definition at line 2219 of file recording.c.
References cList< cMark >::First(), and cList< cMark >::Next().
Referenced by cDvbPlayer::Action(), cReplayControl::EditTest(), cReplayControl::MarkMove(), and cReplayControl::MarkToggle().
|
inline |
const cMark * cMarks::GetNext | ( | int | Position | ) | const |
Definition at line 2237 of file recording.c.
References cList< cMark >::First(), and cList< cMark >::Next().
Referenced by cReplayControl::EditTest(), and cReplayControl::MarkJump().
|
inline |
Returns the next "begin" mark after EndMark, skipping any marks at the same position as EndMark.
If EndMark is NULL, the first actual "begin" will be returned (if any).
Definition at line 2246 of file recording.c.
References cList< cMark >::First(), cList< cMark >::Next(), and cMark::Position().
Referenced by cCuttingThread::Action(), cDvbPlayer::Action(), cCutter::EditedFileName(), and GetNumSequences().
Definition at line 416 of file recording.h.
References GetNextBegin().
Referenced by GetNextBegin().
Returns the next "end" mark after BeginMark, skipping any marks at the same position as BeginMark.
Definition at line 2262 of file recording.c.
References cList< cMark >::Next(), and cMark::Position().
Referenced by cCuttingThread::Action(), and GetNumSequences().
int cMarks::GetNumSequences | ( | void | ) | const |
Returns the actual number of sequences to be cut from the recording.
If there is only one actual "begin" mark, and it is positioned at index 0 (the beginning of the recording), and there is no "end" mark, the return value is 0, which means that the result is the same as the original recording.
Definition at line 2280 of file recording.c.
References GetNextBegin(), and GetNextEnd().
Referenced by cCuttingThread::cCuttingThread(), CutRecording(), and cReplayControl::EditCut().
const cMark * cMarks::GetPrev | ( | int | Position | ) | const |
Definition at line 2228 of file recording.c.
References cList< cMark >::Last(), and cList< cMark >::Prev().
Referenced by cReplayControl::MarkJump().
|
inline |
bool cMarks::Load | ( | const char * | RecordingFileName, |
double | FramesPerSecond = DEFAULTFRAMESPERSECOND , |
||
bool | IsPesRecording = false |
||
) |
Definition at line 2137 of file recording.c.
References AddDirectory(), fileName, framesPerSecond, isPesRecording, lastChange, lastFileTime, MARKSFILESUFFIX, nextUpdate, recordingFileName, and Update().
Referenced by cCuttingThread::cCuttingThread(), cSVDRPServer::CmdEDIT(), cReplayControl::cReplayControl(), CutRecording(), and cCutter::EditedFileName().
|
static |
Returns the marks file name for the given Recording (regardless whether such a file actually exists).
Definition at line 2121 of file recording.c.
References AddDirectory(), cRecording::FileName(), cRecording::IsPesRecording(), and MARKSFILESUFFIX.
Referenced by DeleteMarksFile(), and cRecording::HasMarks().
bool cMarks::Save | ( | void | ) |
Definition at line 2180 of file recording.c.
References fileName, lastFileTime, and LastModifiedTime().
Referenced by cReplayControl::Hide(), and cCuttingThread::ProcessSequence().
void cMarks::Sort | ( | void | ) |
Definition at line 2201 of file recording.c.
References cList< cMark >::First(), cList< cMark >::Next(), and swap().
bool cMarks::Update | ( | void | ) |
Definition at line 2149 of file recording.c.
References Align(), fileName, framesPerSecond, lastChange, lastFileTime, LastModifiedTime(), MarkFramesPerSecond, MutexMarkFramesPerSecond, nextUpdate, and Sort().
Referenced by Load(), and cReplayControl::ProcessKey().
|
private |
Definition at line 374 of file recording.h.
|
private |
Definition at line 375 of file recording.h.
|
private |
Definition at line 376 of file recording.h.
|
private |
Definition at line 379 of file recording.h.
|
private |
Definition at line 378 of file recording.h.
|
private |
Definition at line 377 of file recording.h.
|
private |
Definition at line 373 of file recording.h.