-};
-
-class MonoPictureAsset;
-
-struct FrameInfo
-{
- FrameInfo (uint64_t o, uint64_t l, std::string h)
- : offset (o)
- , length (l)
- , hash (h)
- {}
-
- FrameInfo (std::istream& s);
-
- void write (std::ostream& s);
-
- uint64_t offset;
- uint64_t length;
- std::string hash;
-};
-
-/** A helper class for writing to MonoPictureAssets progressively (i.e. writing frame-by-frame,
- * rather than giving libdcp all the frames in one go).
- *
- * Objects of this class can only be created with MonoPictureAsset::start_write().
- *
- * Frames can be written to the MonoPictureAsset by calling write() with a JPEG2000 image
- * (a verbatim .j2 file). finalize() must be called after the last frame has been written.
- * The action of finalize() can't be done in MonoPictureAssetWriter's destructor as it may
- * throw an exception.
- */
-class MonoPictureAssetWriter
-{
-public:
- ~MonoPictureAssetWriter ();
-
- FrameInfo write (uint8_t* data, int size);
- void fake_write (int size);
- void finalize ();