diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-10-03 13:37:32 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-10-03 13:37:32 +0100 |
| commit | 5309c18b764f6f5f4adf8f89b917096d30b42a89 (patch) | |
| tree | 0cbe9734d6c3632cc027e2bdf947fde98f138c4d | |
| parent | 259da4fa739f6f8a551a20e6285b2966a5d1e8c0 (diff) | |
| parent | 782f18d12280ab48b4673c5550f02ca1fb71f7f3 (diff) | |
Merge branch 'master' of /home/carl/git/libdcp
| -rw-r--r-- | doc/design | 35 |
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 |
