vdr
1.7.31
|
#include <recording.h>
Public Member Functions | |
cIndexFile (const char *FileName, bool Record, bool IsPesRecording=false, bool PauseLive=false) | |
~cIndexFile () | |
bool | Ok (void) |
bool | Write (bool Independent, uint16_t FileNumber, off_t FileOffset) |
bool | Get (int Index, uint16_t *FileNumber, off_t *FileOffset, bool *Independent=NULL, int *Length=NULL) |
int | GetNextIFrame (int Index, bool Forward, uint16_t *FileNumber=NULL, off_t *FileOffset=NULL, int *Length=NULL) |
int | Get (uint16_t FileNumber, off_t FileOffset) |
int | Last (void) |
int | GetResume (void) |
bool | StoreResume (int Index) |
bool | IsStillRecording (void) |
void | Delete (void) |
cIndexFile (const char *FileName, bool Record, bool IsPesRecording=false, bool PauseLive=false) | |
~cIndexFile () | |
bool | Ok (void) |
bool | Write (bool Independent, uint16_t FileNumber, off_t FileOffset) |
bool | Get (int Index, uint16_t *FileNumber, off_t *FileOffset, bool *Independent=NULL, int *Length=NULL) |
int | GetNextIFrame (int Index, bool Forward, uint16_t *FileNumber=NULL, off_t *FileOffset=NULL, int *Length=NULL) |
int | Get (uint16_t FileNumber, off_t FileOffset) |
int | Last (void) |
int | GetResume (void) |
bool | StoreResume (int Index) |
bool | IsStillRecording (void) |
void | Delete (void) |
Static Public Member Functions | |
static int | GetLength (const char *FileName, bool IsPesRecording=false) |
static cString | IndexFileName (const char *FileName, bool IsPesRecording) |
static int | GetLength (const char *FileName, bool IsPesRecording=false) |
static cString | IndexFileName (const char *FileName, bool IsPesRecording) |
Private Member Functions | |
void | ConvertFromPes (tIndexTs *IndexTs, int Count) |
void | ConvertToPes (tIndexTs *IndexTs, int Count) |
bool | CatchUp (int Index=-1) |
void | ConvertFromPes (tIndexTs *IndexTs, int Count) |
void | ConvertToPes (tIndexTs *IndexTs, int Count) |
bool | CatchUp (int Index=-1) |
Static Private Member Functions | |
static void | AddToIndexList (const cIndexFile *IndexFile) |
static void | RemoveFromIndexList (const cIndexFile *IndexFile) |
static bool | IsInIndexList (const cIndexFile *IndexFile) |
static void | AddToIndexList (const cIndexFile *IndexFile) |
static void | RemoveFromIndexList (const cIndexFile *IndexFile) |
static bool | IsInIndexList (const cIndexFile *IndexFile) |
Private Attributes | |
int | f |
cString | fileName |
int | size |
int | last |
tIndexTs * | index |
bool | isPesRecording |
cResumeFile | resumeFile |
cIndexFileGenerator * | indexFileGenerator |
cMutex | mutex |
Static Private Attributes | |
static cMutex | indexListMutex |
static cVector< const cIndexFile * > | indexList |
Definition at line 278 of file include/vdr/recording.h.
cIndexFile::cIndexFile | ( | const char * | FileName, |
bool | Record, | ||
bool | IsPesRecording = false , |
||
bool | PauseLive = false |
||
) |
Definition at line 1638 of file recording.c.
References AddToIndexList(), ConvertFromPes(), cResumeFile::Delete(), esyslog, f, fileName, FileSize(), index, INDEXFILECHECKINTERVAL, indexFileGenerator, IndexFileName(), INDEXFILETESTINTERVAL, isPesRecording, isyslog, last, LOG_ERROR, LOG_ERROR_STR, MALLOC, MAXWAITFORINDEXFILE, resumeFile, safe_read(), size, cCondWait::SleepMs(), and writechar().
cIndexFile::~cIndexFile | ( | ) |
Definition at line 1722 of file recording.c.
References f, index, indexFileGenerator, and RemoveFromIndexList().
cIndexFile::cIndexFile | ( | const char * | FileName, |
bool | Record, | ||
bool | IsPesRecording = false , |
||
bool | PauseLive = false |
||
) |
cIndexFile::~cIndexFile | ( | ) |
|
staticprivate |
Definition at line 1935 of file recording.c.
References cVector< T >::Append(), indexList, indexListMutex, and cVector< T >::Size().
Referenced by cIndexFile().
|
staticprivate |
|
private |
Definition at line 1761 of file recording.c.
References ConvertFromPes(), esyslog, f, fileName, index, IsInIndexList(), isPesRecording, last, LOG_ERROR_STR, mutex, safe_read(), size, and cCondWait::SleepMs().
Referenced by Get(), GetNextIFrame(), and Last().
|
private |
|
private |
Definition at line 1736 of file recording.c.
References tIndexTs::independent, tIndexPes::number, tIndexTs::number, tIndexPes::offset, tIndexTs::offset, and tIndexPes::type.
Referenced by CatchUp(), and cIndexFile().
|
private |
|
private |
Definition at line 1748 of file recording.c.
References tIndexTs::independent, tIndexPes::number, tIndexTs::number, tIndexPes::offset, tIndexTs::offset, tIndexPes::reserved, and tIndexPes::type.
Referenced by Write().
|
private |
void cIndexFile::Delete | ( | void | ) |
void cIndexFile::Delete | ( | void | ) |
Definition at line 1914 of file recording.c.
References dsyslog, f, and fileName.
Referenced by cIndexFileGenerator::Action().
bool cIndexFile::Get | ( | int | Index, |
uint16_t * | FileNumber, | ||
off_t * | FileOffset, | ||
bool * | Independent = NULL , |
||
int * | Length = NULL |
||
) |
Definition at line 1836 of file recording.c.
References CatchUp(), tIndexTs::independent, index, last, tIndexTs::number, and tIndexTs::offset.
Referenced by cCuttingThread::Action(), cDvbPlayer::Action(), and cDvbPlayer::Resume().
bool cIndexFile::Get | ( | int | Index, |
uint16_t * | FileNumber, | ||
off_t * | FileOffset, | ||
bool * | Independent = NULL , |
||
int * | Length = NULL |
||
) |
int cIndexFile::Get | ( | uint16_t | FileNumber, |
off_t | FileOffset | ||
) |
Definition at line 1895 of file recording.c.
int cIndexFile::Get | ( | uint16_t | FileNumber, |
off_t | FileOffset | ||
) |
|
static |
Calculates the recording length (number of frames) without actually reading the index file.
Returns -1 in case of error.
Definition at line 1926 of file recording.c.
References IndexFileName().
|
static |
Calculates the recording length (number of frames) without actually reading the index file.
Returns -1 in case of error.
int cIndexFile::GetNextIFrame | ( | int | Index, |
bool | Forward, | ||
uint16_t * | FileNumber = NULL , |
||
off_t * | FileOffset = NULL , |
||
int * | Length = NULL |
||
) |
Definition at line 1858 of file recording.c.
References CatchUp(), esyslog, index, last, tIndexTs::number, and tIndexTs::offset.
Referenced by cDvbPlayer::Action(), cDvbPlayer::GetIndex(), cDvbPlayer::Goto(), cDvbPlayer::Save(), cDvbPlayer::SkipFrames(), and cDvbPlayer::SkipSeconds().
int cIndexFile::GetNextIFrame | ( | int | Index, |
bool | Forward, | ||
uint16_t * | FileNumber = NULL , |
||
off_t * | FileOffset = NULL , |
||
int * | Length = NULL |
||
) |
|
inline |
Definition at line 305 of file include/vdr/recording.h.
References cResumeFile::Read(), and resumeFile.
Referenced by cDvbPlayer::Resume().
|
inline |
Definition at line 305 of file recording.h.
References cResumeFile::Read(), and resumeFile.
|
static |
|
static |
Definition at line 1731 of file recording.c.
References INDEXFILESUFFIX, and cString::sprintf().
Referenced by cIndexFile(), cRecording::FileSizeMB(), GetLength(), and cRecording::NumFrames().
|
staticprivate |
|
staticprivate |
Definition at line 1958 of file recording.c.
References fileName, indexList, indexListMutex, and cVector< T >::Size().
Referenced by CatchUp().
bool cIndexFile::IsStillRecording | ( | void | ) |
bool cIndexFile::IsStillRecording | ( | void | ) |
|
inline |
Definition at line 304 of file recording.h.
|
inline |
Definition at line 304 of file include/vdr/recording.h.
References CatchUp(), and last.
Referenced by cCuttingThread::Action(), cDvbPlayer::Action(), cDvbPlayer::GetIndex(), and cDvbPlayer::Save().
|
inline |
Definition at line 299 of file include/vdr/recording.h.
References index.
Referenced by cDvbPlayer::cDvbPlayer().
|
inline |
Definition at line 299 of file recording.h.
References index.
|
staticprivate |
|
staticprivate |
Definition at line 1947 of file recording.c.
References indexList, indexListMutex, and cVector< T >::Size().
Referenced by ~cIndexFile().
|
inline |
Definition at line 306 of file recording.h.
References resumeFile, and cResumeFile::Save().
|
inline |
Definition at line 306 of file include/vdr/recording.h.
References resumeFile, and cResumeFile::Save().
Referenced by cDvbPlayer::Save().
bool cIndexFile::Write | ( | bool | Independent, |
uint16_t | FileNumber, | ||
off_t | FileOffset | ||
) |
Definition at line 1819 of file recording.c.
References ConvertToPes(), f, fileName, isPesRecording, last, LOG_ERROR_STR, and safe_write().
Referenced by cCuttingThread::Action(), cRecorder::Action(), and cIndexFileGenerator::Action().
bool cIndexFile::Write | ( | bool | Independent, |
uint16_t | FileNumber, | ||
off_t | FileOffset | ||
) |
|
private |
Definition at line 280 of file include/vdr/recording.h.
Referenced by CatchUp(), cIndexFile(), Delete(), IsStillRecording(), Write(), and ~cIndexFile().
|
private |
Definition at line 281 of file include/vdr/recording.h.
Referenced by CatchUp(), cIndexFile(), Delete(), IsInIndexList(), and Write().
|
private |
Definition at line 283 of file include/vdr/recording.h.
Referenced by CatchUp(), cIndexFile(), Get(), GetNextIFrame(), Ok(), and ~cIndexFile().
|
private |
Definition at line 286 of file include/vdr/recording.h.
Referenced by cIndexFile(), and ~cIndexFile().
|
staticprivate |
Definition at line 289 of file include/vdr/recording.h.
Referenced by AddToIndexList(), IsInIndexList(), and RemoveFromIndexList().
|
staticprivate |
Definition at line 288 of file include/vdr/recording.h.
Referenced by AddToIndexList(), IsInIndexList(), and RemoveFromIndexList().
|
private |
Definition at line 284 of file include/vdr/recording.h.
Referenced by CatchUp(), cIndexFile(), and Write().
|
private |
Definition at line 282 of file include/vdr/recording.h.
Referenced by CatchUp(), cIndexFile(), Get(), GetNextIFrame(), Last(), and Write().
|
private |
Definition at line 287 of file include/vdr/recording.h.
Referenced by CatchUp().
|
private |
Definition at line 285 of file include/vdr/recording.h.
Referenced by cIndexFile(), GetResume(), and StoreResume().
|
private |
Definition at line 282 of file include/vdr/recording.h.
Referenced by CatchUp(), and cIndexFile().