summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-10-02 23:17:57 +0100
committerCarl Hetherington <cth@carlh.net>2013-10-02 23:17:57 +0100
commit782f18d12280ab48b4673c5550f02ca1fb71f7f3 (patch)
treef4b25516ba10fbb65ee9286903f0532e219db093
parent0ac57f39253d75b2376bc9214c43f0df32440a0d (diff)
Add some design rambles.
-rw-r--r--doc/design35
1 files changed, 35 insertions, 0 deletions
diff --git a/doc/design b/doc/design
new file mode 100644
index 00000000..ee170673
--- /dev/null
+++ b/doc/design
@@ -0,0 +1,35 @@
+
+Read an existing DCP, adjust it, write it back out again, preserving things we didn't adjust;
+perhaps being variably strict and pointing out errors.
+Read multiple DCPs and pull bits out
+Create a new DCP without having to remember to fill in every detail
+
+Structures & their unique (important) components
+
+-- CPL
+"playlist"; entry points, durations of assets, frame rates, aspect ratios
+
+-- PKL
+Hashes, sizes
+
+-- ASSETMAP
+MXF filenames (also CPL/PKL filenames)
+
+-- VOLINDEX
+Nothing (unless we support multiple volumes)
+
+-- MXFs
+actual data
+
+
+Approaches
+
+1.
+Load a DCP -> we get some assets [each with hash, size, filename] and a CPL (pointing to assets via real pointer or ID)
+CPL its own class; then we can do things like
+cpl = new CPL
+cpl->add_asset (picture, ...)
+DCP dcp (cpl);
+dcp.write_xml ();
+
+Can't see a drawback with this, and it's pretty much what is happening now. \ No newline at end of file