#include "asset.h"
#include "key.h"
#include "metadata.h"
+#include "dcp_assert.h"
#include <boost/signals2.hpp>
class MXF
{
public:
+ MXF (Standard standard);
virtual ~MXF () {}
/** @return true if the data is encrypted */
return _key;
}
+ /** Set the context ID to be used when encrypting.
+ * @param id New ID.
+ */
+ void set_context_id (std::string id) {
+ _context_id = id;
+ }
+
+ /** @return context ID used when encrypting; this starts off as a random value */
+ std::string context_id () const {
+ return _context_id;
+ }
+
/** Set the metadata that is written to the MXF file.
* @param m Metadata.
*/
return _metadata;
}
+ Standard standard () const {
+ DCP_ASSERT (_standard);
+ return *_standard;
+ }
+
protected:
template <class P, class Q>
- friend void start (PictureAssetWriter* writer, boost::shared_ptr<P> state, Standard standard, Q* mxf, uint8_t* data, int size);
+ friend void start (PictureAssetWriter* writer, boost::shared_ptr<P> state, Q* mxf, uint8_t const * data, int size);
+
+ MXF ();
std::string read_writer_info (ASDCP::WriterInfo const &);
/** Fill in a ADSCP::WriteInfo struct.
* @param w struct to fill in.
- * @param standard INTEROP or SMPTE.
*/
- void fill_writer_info (ASDCP::WriterInfo* w, std::string id, Standard standard) const;
+ void fill_writer_info (ASDCP::WriterInfo* w, std::string id) const;
/** ID of the key used for encryption/decryption, if there is one */
boost::optional<std::string> _key_id;
/** Key used for encryption/decryption, if there is one */
boost::optional<Key> _key;
+ std::string _context_id;
MXFMetadata _metadata;
+ boost::optional<Standard> _standard;
};
}