summaryrefslogtreecommitdiff
path: root/dvbapi.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2000-12-28 12:57:16 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2000-12-28 12:57:16 +0100
commit4e354bc9a0f9a67e842932b1de9da889488c8a2b (patch)
treea07ad700367cef6a4058aecb6e6e47549c4fb9ed /dvbapi.h
parentbe137ee37f0e9f6f9a90b3c57922b7d65fbde5d2 (diff)
downloadvdr-4e354bc9a0f9a67e842932b1de9da889488c8a2b.tar.gz
vdr-4e354bc9a0f9a67e842932b1de9da889488c8a2b.tar.bz2
Implemented 'on disk editing'
Diffstat (limited to 'dvbapi.h')
-rw-r--r--dvbapi.h32
1 files changed, 28 insertions, 4 deletions
diff --git a/dvbapi.h b/dvbapi.h
index 85828410..9b579e2c 100644
--- a/dvbapi.h
+++ b/dvbapi.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbapi.h 1.28 2000/12/09 10:54:09 kls Exp $
+ * $Id: dvbapi.h 1.29 2000/12/25 15:17:03 kls Exp $
*/
#ifndef __DVBAPI_H
@@ -22,6 +22,7 @@ typedef unsigned char __u8;
#include <dvb.h>
#include "dvbosd.h"
#include "eit.h"
+#include "thread.h"
// Overlay facilities
#define MAXCLIPRECTS 100
@@ -42,11 +43,24 @@ public:
bool Save(int Index);
};
-const char *IndexToStr(int Index, bool WithFrame = false);
+const char *IndexToHMSF(int Index, bool WithFrame = false);
// Converts the given index to a string, optionally containing the frame number.
+int HMSFToIndex(const char *HMSF);
+ // Converts the given string (format: "hh:mm:ss.ff") to an index.
+
class cRecordBuffer;
class cReplayBuffer;
class cTransferBuffer;
+class cCuttingBuffer;
+
+class cVideoCutter {
+private:
+ static cCuttingBuffer *cuttingBuffer;
+public:
+ static bool Start(const char *FileName);
+ static void Stop(void);
+ static bool Active(void);
+ };
class cDvbApi {
private:
@@ -180,6 +194,8 @@ protected:
// Returns the priority of the current recording session (0..99),
// or -1 if no recording is currently active.
public:
+ int SecondsToFrames(int Seconds);
+ // Returns the number of frames corresponding to the given number of seconds.
bool Recording(void);
// Returns true if we are currently recording.
bool Replaying(void);
@@ -211,12 +227,20 @@ public:
// Runs the current replay session forward at a higher speed.
void Backward(void);
// Runs the current replay session backwards at a higher speed.
- void Skip(int Seconds);
+ void SkipSeconds(int Seconds);
// Skips the given number of seconds in the current replay session.
// The sign of 'Seconds' determines the direction in which to skip.
// Use a very large negative value to go all the way back to the
// beginning of the recording.
- bool GetIndex(int &Current, int &Total);
+ int SkipFrames(int Frames);
+ // Returns the new index into the current replay session after skipping
+ // the given number of frames (no actual repositioning is done!).
+ // The sign of 'Frames' determines the direction in which to skip.
+ bool GetIndex(int &Current, int &Total, bool SnapToIFrame = false);
+ // Returns the current and total frame index, optionally snapped to the
+ // nearest I-frame.
+ void Goto(int Index);
+ // Positions to the given index and displays that frame as a still picture.
};
class cEITScanner {