summaryrefslogtreecommitdiff
path: root/src/content.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-01-26 21:35:02 +0000
committerCarl Hetherington <cth@carlh.net>2014-01-26 21:35:02 +0000
commit59886567974bd3e79d30a4a9425d86d50bf425f3 (patch)
tree68e583a64144f5cbffede882e1187ecf737b2e43 /src/content.cc
parent0703842433013ac1d5f79c09d7a8361dc2e565c8 (diff)
It builds again.
Diffstat (limited to 'src/content.cc')
-rw-r--r--src/content.cc59
1 files changed, 18 insertions, 41 deletions
diff --git a/src/content.cc b/src/content.cc
index 9a035c80..06e2806d 100644
--- a/src/content.cc
+++ b/src/content.cc
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -33,59 +33,36 @@ using namespace boost;
using namespace dcp;
Content::Content (boost::filesystem::path file)
- : _file (file)
- , _edit_rate (0)
+ : Asset (file)
+ , _edit_rate (24, 1)
, _intrinsic_duration (0)
{
}
-Content::Content (int edit_rate)
+Content::Content (Fraction edit_rate)
: _edit_rate (edit_rate)
, _intrinsic_duration (0)
{
}
-void
-Content::write_to_pkl (xmlpp::Node* node) const
-{
- xmlpp::Node* asset = node->add_child ("Asset");
- asset->add_child("Id")->add_child_text ("urn:uuid:" + _id);
- asset->add_child("AnnotationText")->add_child_text (_id);
-//XXX asset->add_child("Hash")->add_child_text (digest ());
- asset->add_child("Size")->add_child_text (lexical_cast<string> (filesystem::file_size (_file)));
- asset->add_child("Type")->add_child_text ("application/mxf");
-}
-
-void
-Content::write_to_assetmap (xmlpp::Node* node) const
-{
- xmlpp::Node* asset = node->add_child ("Asset");
- asset->add_child("Id")->add_child_text ("urn:uuid:" + _id);
- xmlpp::Node* chunk_list = asset->add_child ("ChunkList");
- xmlpp::Node* chunk = chunk_list->add_child ("Chunk");
- chunk->add_child("Path")->add_child_text (_file.string ());
- chunk->add_child("VolumeIndex")->add_child_text ("1");
- chunk->add_child("Offset")->add_child_text ("0");
- chunk->add_child("Length")->add_child_text (lexical_cast<string> (filesystem::file_size (_file)));
-}
-
bool
-Content::equals (shared_ptr<const Content> other, EqualityOptions, boost::function<void (NoteType, string)> note) const
+Content::equals (shared_ptr<const Content> other, EqualityOptions opt, boost::function<void (NoteType, string)> note) const
{
- // if (_edit_rate != other->_edit_rate) {
- // note (ERROR, "asset edit rates differ");
- // return false;
- // }
+ if (!Asset::equals (other, opt, note)) {
+ return false;
+ }
- // if (_intrinsic_duration != other->_intrinsic_duration) {
- // note (ERROR, "asset intrinsic durations differ");
- // }
-
- // if (_duration != other->_duration) {
- // note (ERROR, "asset durations differ");
- // }
+ if (_edit_rate != other->_edit_rate) {
+ note (ERROR, "content edit rates differ");
+ return false;
+ }
+
+ if (_intrinsic_duration != other->_intrinsic_duration) {
+ note (ERROR, "asset intrinsic durations differ");
+ return false;
+ }
- // return true;
+ return true;
}