summaryrefslogtreecommitdiff
path: root/src/picture_asset.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-01-18 21:46:20 +0000
committerCarl Hetherington <cth@carlh.net>2013-01-18 21:46:20 +0000
commit6a5bb039b3bfd508cc87b6b15102b9eb60c62f8d (patch)
tree65a8213237670f33a1f5383f5a973fd5f1b82b5b /src/picture_asset.cc
parent2489080f9a5d2891da0fc313b2c0ac1450a630ad (diff)
Add basics for progressive sound asset writing.
Diffstat (limited to 'src/picture_asset.cc')
-rw-r--r--src/picture_asset.cc14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/picture_asset.cc b/src/picture_asset.cc
index f3d52396..a7d5243a 100644
--- a/src/picture_asset.cc
+++ b/src/picture_asset.cc
@@ -53,6 +53,12 @@ PictureAsset::PictureAsset (string directory, string mxf_name, boost::signals2::
}
+PictureAsset::PictureAsset (string directory, string mxf_name)
+ : MXFAsset (directory, mxf_name)
+{
+
+}
+
void
PictureAsset::write_to_cpl (ostream& s) const
{
@@ -161,8 +167,8 @@ MonoPictureAsset::MonoPictureAsset (string directory, string mxf_name, int fps,
}
-MonoPictureAsset::MonoPictureAsset (string directory, string mxf_name, int fps, int intrinsic_duration)
- : PictureAsset (directory, mxf_name, 0, fps, intrinsic_duration, Size (0, 0))
+MonoPictureAsset::MonoPictureAsset (string directory, string mxf_name)
+ : PictureAsset (directory, mxf_name)
{
ASDCP::JP2K::MXFReader reader;
if (ASDCP_FAILURE (reader.OpenRead (path().string().c_str()))) {
@@ -176,6 +182,9 @@ MonoPictureAsset::MonoPictureAsset (string directory, string mxf_name, int fps,
_size.width = desc.StoredWidth;
_size.height = desc.StoredHeight;
+ _fps = desc.EditRate.Numerator;
+ assert (desc.EditRate.Denominator == 1);
+ _intrinsic_duration = desc.ContainerDuration;
}
void
@@ -434,6 +443,7 @@ MonoPictureAssetWriter::finalize ()
_finalized = true;
_asset->set_intrinsic_duration (_frames_written);
+ _asset->set_duration (_frames_written);
}
MonoPictureAssetWriter::~MonoPictureAssetWriter ()