summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/reel.cc16
-rw-r--r--src/reel.h2
2 files changed, 18 insertions, 0 deletions
diff --git a/src/reel.cc b/src/reel.cc
index 1e31f1e1..95ed58f7 100644
--- a/src/reel.cc
+++ b/src/reel.cc
@@ -524,3 +524,19 @@ Reel::can_be_read() const
return std::all_of(assets.begin(), assets.end(), [](shared_ptr<const ReelFileAsset> asset) { return asset->can_be_read(); });
}
+
+PictureEncoding
+Reel::picture_encoding() const
+{
+ if (!_main_picture || !_main_picture->asset_ref().resolved()) {
+ return PictureEncoding::NO_VIDEO;
+ }
+
+ auto pic = _main_picture->asset_ref().asset();
+ if (dynamic_pointer_cast<MPEG2PictureAsset>(pic)) {
+ return PictureEncoding::MPEG2;
+ }
+
+ return PictureEncoding::JPEG2000;
+}
+
diff --git a/src/reel.h b/src/reel.h
index 31e11abc..40e014a8 100644
--- a/src/reel.h
+++ b/src/reel.h
@@ -152,6 +152,8 @@ public:
void resolve_refs (std::vector<std::shared_ptr<Asset>>);
+ PictureEncoding picture_encoding() const;
+
private:
friend struct ::dcp_add_kdm_test;