add transition caching with pref, rev read frame caching, cache lock tweaks, fix...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / file.h
index c86a1b4f72b1d9b8911798d1b297779de665ab7d..e0cf4fa37f94cbc91fa57097ded6967ba413f23a 100644 (file)
@@ -45,7 +45,6 @@
 #include "preferences.inc"
 #include "samples.inc"
 #include "vframe.inc"
-#include "packagingengine.h"
 
 // ======================================= include file types here
 
@@ -56,7 +55,7 @@ class File
 {
 public:
        File();
-       ~File();
+       virtual ~File();
 
        int probe();
 // Get attributes for various file formats.
@@ -237,6 +236,11 @@ public:
 // Get nearest colormodel that can be decoded without a temporary frame.
 // Used by read_frame.
        int colormodel_supported(int colormodel);
+// create frame_cache vframe for position, use template vframe
+// clear cache if first frame is a read miss
+       VFrame *new_cache_frame(VFrame *vframe, int64_t position, int first_frame);
+       void put_cache_frame();
+       int get_use_cache();
 
 // stubs for now
        static const char *compressiontostr(const char *codec) { return codec; }
@@ -266,6 +270,8 @@ public:
        int bytes_per_sample(int bits); // Convert the bit descriptor into a byte count.
 // get record stream file descriptor
        int record_fd();
+// brender update video map
+       virtual int write_frame_done(int64_t position) { return 0; }
 
        Asset *asset;    // Copy of asset since File outlives EDL
        FileBase *file; // virtual class for file type