mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
The length (as number of frames) of a recording's index file can now be determined by a call to cIndexFile::GetLength()
This commit is contained in:
parent
ef611229f3
commit
3000906715
@ -2228,6 +2228,8 @@ Christoph Haubrich <christoph1.haubrich@arcor.de>
|
|||||||
the same PID
|
the same PID
|
||||||
for adding HD stream content identifiers to vdr.5
|
for adding HD stream content identifiers to vdr.5
|
||||||
for reporting that Setup.InitialChannel was dereferenced without checking for NULL
|
for reporting that Setup.InitialChannel was dereferenced without checking for NULL
|
||||||
|
for suggesting to implement a function to determine the length of a recording's
|
||||||
|
index file
|
||||||
|
|
||||||
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
|
||||||
|
2
HISTORY
2
HISTORY
@ -6679,3 +6679,5 @@ Video Disk Recorder Revision History
|
|||||||
- Now scanning new transponders before old ones, to make sure transponder changes
|
- Now scanning new transponders before old ones, to make sure transponder changes
|
||||||
are recognized (thanks to Reinhard Nissl).
|
are recognized (thanks to Reinhard Nissl).
|
||||||
- Implemented static cIndexFile::IndexFileName().
|
- Implemented static cIndexFile::IndexFileName().
|
||||||
|
- The length (as number of frames) of a recording's index file can now be determined
|
||||||
|
by a call to cIndexFile::GetLength() (suggested by Christoph Haubrich).
|
||||||
|
11
recording.c
11
recording.c
@ -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 2.32 2011/08/13 10:59:32 kls Exp $
|
* $Id: recording.c 2.33 2011/08/13 12:37:25 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "recording.h"
|
#include "recording.h"
|
||||||
@ -1816,6 +1816,15 @@ void cIndexFile::Delete(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int cIndexFile::GetLength(const char *FileName, bool IsPesRecording)
|
||||||
|
{
|
||||||
|
struct stat buf;
|
||||||
|
cString s = IndexFileName(FileName, IsPesRecording);
|
||||||
|
if (*s && stat(s, &buf) == 0)
|
||||||
|
return buf.st_size / (IsPesRecording ? sizeof(tIndexTs) : sizeof(tIndexPes));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
bool GenerateIndex(const char *FileName)
|
bool GenerateIndex(const char *FileName)
|
||||||
{
|
{
|
||||||
if (DirectoryOk(FileName)) {
|
if (DirectoryOk(FileName)) {
|
||||||
|
@ -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 2.20 2011/08/13 09:52:25 kls Exp $
|
* $Id: recording.h 2.21 2011/08/13 12:36:54 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __RECORDING_H
|
#ifndef __RECORDING_H
|
||||||
@ -260,6 +260,9 @@ public:
|
|||||||
bool StoreResume(int Index) { return resumeFile.Save(Index); }
|
bool StoreResume(int Index) { return resumeFile.Save(Index); }
|
||||||
bool IsStillRecording(void);
|
bool IsStillRecording(void);
|
||||||
void Delete(void);
|
void Delete(void);
|
||||||
|
static int GetLength(const char *FileName, bool IsPesRecording = false);
|
||||||
|
///< Calculates the recording length (numer of frames) without actually reading the index file.
|
||||||
|
///< Returns -1 in case of error.
|
||||||
};
|
};
|
||||||
|
|
||||||
class cFileName {
|
class cFileName {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user