summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2024-02-06 11:51:24 +0100
committerCarl Hetherington <cth@carlh.net>2024-04-18 12:11:43 +0200
commit6801a43a489b3e55ab062b0db46e0e03d20e9bcb (patch)
treef46d8a54dc00852d015d59c7b7a37e1654381dae
parentc7de16512dad5f4a1e9c1acdaddfc300e428ed3e (diff)
Move Behaviour enum out of J2KPictureAsset.
-rw-r--r--examples/make_dcp.cc2
-rw-r--r--src/behaviour.h52
-rw-r--r--src/j2k_picture_asset.h6
-rw-r--r--src/wscript1
-rw-r--r--test/dcp_test.cc4
-rw-r--r--test/decryption_test.cc2
-rw-r--r--test/encryption_test.cc2
-rw-r--r--test/frame_info_hash_test.cc2
-rw-r--r--test/kdm_test.cc2
-rw-r--r--test/recovery_test.cc4
-rw-r--r--test/round_trip_test.cc2
-rw-r--r--test/test.cc4
-rw-r--r--test/verify_test.cc8
-rw-r--r--tools/dcpdecryptmxf.cc2
14 files changed, 71 insertions, 22 deletions
diff --git a/examples/make_dcp.cc b/examples/make_dcp.cc
index b5663a99..80e5f52b 100644
--- a/examples/make_dcp.cc
+++ b/examples/make_dcp.cc
@@ -59,7 +59,7 @@ main ()
auto picture_asset = std::make_shared<dcp::MonoJ2KPictureAsset>(dcp::Fraction(24, 1), dcp::Standard::SMPTE);
/* Start off a write to it */
- auto picture_writer = picture_asset->start_write("DCP/picture.mxf", dcp::J2KPictureAsset::Behaviour::MAKE_NEW);
+ auto picture_writer = picture_asset->start_write("DCP/picture.mxf", dcp::Behaviour::MAKE_NEW);
/* Write 24 frames of the same JPEG2000 file */
dcp::ArrayData picture("examples/help.j2c");
diff --git a/src/behaviour.h b/src/behaviour.h
new file mode 100644
index 00000000..1600966c
--- /dev/null
+++ b/src/behaviour.h
@@ -0,0 +1,52 @@
+/*
+ Copyright (C) 2024 Carl Hetherington <cth@carlh.net>
+
+ This file is part of libdcp.
+
+ libdcp is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ libdcp is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with libdcp. If not, see <http://www.gnu.org/licenses/>.
+
+ In addition, as a special exception, the copyright holders give
+ permission to link the code of portions of this program with the
+ OpenSSL library under certain conditions as described in each
+ individual source file, and distribute linked combinations
+ including the two.
+
+ You must obey the GNU General Public License in all respects
+ for all of the code used other than OpenSSL. If you modify
+ file(s) with this exception, you may extend this exception to your
+ version of the file(s), but you are not obligated to do so. If you
+ do not wish to do so, delete this exception statement from your
+ version. If you delete this exception statement from all source
+ files in the program, then also delete it here.
+*/
+
+
+#ifndef LIBDCP_BEHAVIOUR_H
+#define LIBDCP_BEHAVIOUR_H
+
+
+namespace dcp {
+
+
+enum class Behaviour {
+ OVERWRITE_EXISTING,
+ MAKE_NEW
+};
+
+
+}
+
+
+#endif
+
diff --git a/src/j2k_picture_asset.h b/src/j2k_picture_asset.h
index 7ebfed10..972de43e 100644
--- a/src/j2k_picture_asset.h
+++ b/src/j2k_picture_asset.h
@@ -41,6 +41,7 @@
#define LIBDCP_J2K_PICTURE_ASSET_H
+#include "behaviour.h"
#include "mxf.h"
#include "metadata.h"
#include "picture_asset.h"
@@ -74,11 +75,6 @@ public:
/** Create a new J2KPictureAsset with a given edit rate and standard */
J2KPictureAsset (Fraction edit_rate, Standard standard);
- enum class Behaviour {
- OVERWRITE_EXISTING,
- MAKE_NEW
- };
-
virtual std::shared_ptr<J2KPictureAssetWriter> start_write (
boost::filesystem::path file,
Behaviour behaviour
diff --git a/src/wscript b/src/wscript
index ba063298..0a26bf30 100644
--- a/src/wscript
+++ b/src/wscript
@@ -141,6 +141,7 @@ def build(bld):
atmos_asset_reader.h
atmos_asset_writer.h
atmos_frame.h
+ behaviour.h
certificate.h
certificate_chain.h
chromaticity.h
diff --git a/test/dcp_test.cc b/test/dcp_test.cc
index dbbf1e45..4647d8ae 100644
--- a/test/dcp_test.cc
+++ b/test/dcp_test.cc
@@ -107,7 +107,7 @@ BOOST_AUTO_TEST_CASE (dcp_test2)
auto mp = make_shared<dcp::StereoJ2KPictureAsset>(dcp::Fraction (24, 1), dcp::Standard::SMPTE);
mp->set_metadata (mxf_meta);
- auto picture_writer = mp->start_write("build/test/DCP/dcp_test2/video.mxf", dcp::J2KPictureAsset::Behaviour::MAKE_NEW);
+ auto picture_writer = mp->start_write("build/test/DCP/dcp_test2/video.mxf", dcp::Behaviour::MAKE_NEW);
dcp::ArrayData j2c ("test/data/flat_red.j2c");
for (int i = 0; i < 24; ++i) {
/* Left */
@@ -292,7 +292,7 @@ BOOST_AUTO_TEST_CASE (dcp_test5)
auto mp = make_shared<dcp::MonoJ2KPictureAsset>(dcp::Fraction (24, 1), dcp::Standard::SMPTE);
mp->set_metadata (mxf_meta);
- auto picture_writer = mp->start_write("build/test/DCP/dcp_test5/video.mxf", dcp::J2KPictureAsset::Behaviour::MAKE_NEW);
+ auto picture_writer = mp->start_write("build/test/DCP/dcp_test5/video.mxf", dcp::Behaviour::MAKE_NEW);
dcp::ArrayData j2c ("test/data/flat_red.j2c");
for (int i = 0; i < 24; ++i) {
picture_writer->write (j2c.data (), j2c.size ());
diff --git a/test/decryption_test.cc b/test/decryption_test.cc
index 30b301a5..1aadc461 100644
--- a/test/decryption_test.cc
+++ b/test/decryption_test.cc
@@ -155,7 +155,7 @@ BOOST_AUTO_TEST_CASE (decryption_test2)
auto picture_asset = std::make_shared<dcp::MonoJ2KPictureAsset>(dcp::Fraction(24, 1), dcp::Standard::SMPTE);
picture_asset->set_key (key);
picture_asset->set_context_id (context_id);
- auto picture_writer = picture_asset->start_write(dir / "picture.mxf", dcp::J2KPictureAsset::Behaviour::MAKE_NEW);
+ auto picture_writer = picture_asset->start_write(dir / "picture.mxf", dcp::Behaviour::MAKE_NEW);
dcp::ArrayData picture("test/data/flat_red.j2c");
for (int i = 0; i < 24; ++i) {
picture_writer->write(picture);
diff --git a/test/encryption_test.cc b/test/encryption_test.cc
index e3ff8a2d..a927a5df 100644
--- a/test/encryption_test.cc
+++ b/test/encryption_test.cc
@@ -94,7 +94,7 @@ BOOST_AUTO_TEST_CASE (encryption_test)
mp->set_metadata (mxf_metadata);
mp->set_key (key);
- auto writer = mp->start_write("build/test/DCP/encryption_test/video.mxf", dcp::J2KPictureAsset::Behaviour::MAKE_NEW);
+ auto writer = mp->start_write("build/test/DCP/encryption_test/video.mxf", dcp::Behaviour::MAKE_NEW);
dcp::ArrayData j2c ("test/data/flat_red.j2c");
for (int i = 0; i < 24; ++i) {
writer->write (j2c.data (), j2c.size ());
diff --git a/test/frame_info_hash_test.cc b/test/frame_info_hash_test.cc
index 5f29ebab..331eabf1 100644
--- a/test/frame_info_hash_test.cc
+++ b/test/frame_info_hash_test.cc
@@ -67,7 +67,7 @@ check (shared_ptr<dcp::J2KPictureAssetWriter> writer, boost::random::uniform_int
BOOST_AUTO_TEST_CASE (frame_info_hash_test)
{
auto mp = make_shared<dcp::MonoJ2KPictureAsset>(dcp::Fraction (24, 1), dcp::Standard::SMPTE);
- auto writer = mp->start_write("build/test/frame_info_hash_test.mxf", dcp::J2KPictureAsset::Behaviour::MAKE_NEW);
+ auto writer = mp->start_write("build/test/frame_info_hash_test.mxf", dcp::Behaviour::MAKE_NEW);
boost::random::mt19937 rng(1);
boost::random::uniform_int_distribution<> dist(0, 4095);
diff --git a/test/kdm_test.cc b/test/kdm_test.cc
index a3835d23..4b261d48 100644
--- a/test/kdm_test.cc
+++ b/test/kdm_test.cc
@@ -258,7 +258,7 @@ BOOST_AUTO_TEST_CASE (validity_period_test1)
auto asset = make_shared<dcp::MonoJ2KPictureAsset>(dcp::Fraction(24, 1), dcp::Standard::SMPTE);
asset->set_key (dcp::Key());
- auto writer = asset->start_write("build/test/validity_period_test1.mxf", dcp::J2KPictureAsset::Behaviour::MAKE_NEW);
+ auto writer = asset->start_write("build/test/validity_period_test1.mxf", dcp::Behaviour::MAKE_NEW);
dcp::ArrayData frame ("test/data/flat_red.j2c");
writer->write (frame.data(), frame.size());
writer->finalize ();
diff --git a/test/recovery_test.cc b/test/recovery_test.cc
index feb480bb..0e1dce11 100644
--- a/test/recovery_test.cc
+++ b/test/recovery_test.cc
@@ -56,7 +56,7 @@ BOOST_AUTO_TEST_CASE (recovery)
boost::filesystem::remove_all ("build/test/baz");
boost::filesystem::create_directories ("build/test/baz");
auto mp = make_shared<dcp::MonoJ2KPictureAsset>(dcp::Fraction (24, 1), dcp::Standard::SMPTE);
- auto writer = mp->start_write("build/test/baz/video1.mxf", dcp::J2KPictureAsset::Behaviour::MAKE_NEW);
+ auto writer = mp->start_write("build/test/baz/video1.mxf", dcp::Behaviour::MAKE_NEW);
int written_size = 0;
for (int i = 0; i < 24; ++i) {
@@ -83,7 +83,7 @@ BOOST_AUTO_TEST_CASE (recovery)
Kumu::ResetTestRNG ();
mp = make_shared<dcp::MonoJ2KPictureAsset>(dcp::Fraction (24, 1), dcp::Standard::SMPTE);
- writer = mp->start_write("build/test/baz/video2.mxf", dcp::J2KPictureAsset::Behaviour::OVERWRITE_EXISTING);
+ writer = mp->start_write("build/test/baz/video2.mxf", dcp::Behaviour::OVERWRITE_EXISTING);
writer->write (data.data(), data.size());
diff --git a/test/round_trip_test.cc b/test/round_trip_test.cc
index 926441ab..ffba5cbd 100644
--- a/test/round_trip_test.cc
+++ b/test/round_trip_test.cc
@@ -71,7 +71,7 @@ BOOST_AUTO_TEST_CASE (round_trip_test)
boost::filesystem::create_directory (work_dir);
auto asset_A = make_shared<dcp::MonoJ2KPictureAsset>(dcp::Fraction (24, 1), dcp::Standard::SMPTE);
- auto writer = asset_A->start_write(work_dir / "video.mxf", dcp::J2KPictureAsset::Behaviour::MAKE_NEW);
+ auto writer = asset_A->start_write(work_dir / "video.mxf", dcp::Behaviour::MAKE_NEW);
dcp::ArrayData j2c ("test/data/flat_red.j2c");
for (int i = 0; i < 24; ++i) {
writer->write (j2c.data (), j2c.size ());
diff --git a/test/test.cc b/test/test.cc
index 56ea32cd..51a631d2 100644
--- a/test/test.cc
+++ b/test/test.cc
@@ -284,7 +284,7 @@ simple_picture (boost::filesystem::path path, string suffix, int frames, optiona
if (key) {
mp->set_key (*key);
}
- auto picture_writer = mp->start_write(path / dcp::String::compose("video%1.mxf", suffix), dcp::J2KPictureAsset::Behaviour::MAKE_NEW);
+ auto picture_writer = mp->start_write(path / dcp::String::compose("video%1.mxf", suffix), dcp::Behaviour::MAKE_NEW);
dcp::Size const size (1998, 1080);
auto image = make_shared<dcp::OpenJPEGImage>(size);
@@ -533,7 +533,7 @@ black_picture_asset (boost::filesystem::path dir, int frames)
auto asset = make_shared<dcp::MonoJ2KPictureAsset>(dcp::Fraction(24, 1), dcp::Standard::SMPTE);
asset->set_metadata (dcp::MXFMetadata("libdcp", "libdcp", "1.6.4devel"));
boost::filesystem::create_directories (dir);
- auto writer = asset->start_write(dir / "pic.mxf", dcp::J2KPictureAsset::Behaviour::MAKE_NEW);
+ auto writer = asset->start_write(dir / "pic.mxf", dcp::Behaviour::MAKE_NEW);
for (int i = 0; i < frames; ++i) {
writer->write (frame.data(), frame.size());
}
diff --git a/test/verify_test.cc b/test/verify_test.cc
index 47292c46..80d0490e 100644
--- a/test/verify_test.cc
+++ b/test/verify_test.cc
@@ -1027,7 +1027,7 @@ dcp_from_frame (dcp::ArrayData const& frame, path dir)
{
auto asset = make_shared<dcp::MonoJ2KPictureAsset>(dcp::Fraction(24, 1), dcp::Standard::SMPTE);
create_directories (dir);
- auto writer = asset->start_write(dir / "pic.mxf", dcp::J2KPictureAsset::Behaviour::MAKE_NEW);
+ auto writer = asset->start_write(dir / "pic.mxf", dcp::Behaviour::MAKE_NEW);
for (int i = 0; i < 24; ++i) {
writer->write (frame.data(), frame.size());
}
@@ -1832,7 +1832,7 @@ check_picture_size (int width, int height, int frame_rate, bool three_d)
} else {
mp = make_shared<dcp::MonoJ2KPictureAsset>(dcp::Fraction(frame_rate, 1), dcp::Standard::SMPTE);
}
- auto picture_writer = mp->start_write(dcp_path / "video.mxf", dcp::J2KPictureAsset::Behaviour::MAKE_NEW);
+ auto picture_writer = mp->start_write(dcp_path / "video.mxf", dcp::Behaviour::MAKE_NEW);
auto image = black_image (dcp::Size(width, height));
auto j2c = dcp::compress_j2k (image, 100000000, frame_rate, three_d, width > 2048);
@@ -4673,7 +4673,7 @@ BOOST_AUTO_TEST_CASE (verify_partially_encrypted)
auto mp = make_shared<dcp::MonoJ2KPictureAsset>(dcp::Fraction (24, 1), dcp::Standard::SMPTE);
mp->set_key (key);
- auto writer = mp->start_write(dir / "video.mxf", dcp::J2KPictureAsset::Behaviour::MAKE_NEW);
+ auto writer = mp->start_write(dir / "video.mxf", dcp::Behaviour::MAKE_NEW);
dcp::ArrayData j2c ("test/data/flat_red.j2c");
for (int i = 0; i < 24; ++i) {
writer->write (j2c.data(), j2c.size());
@@ -5441,7 +5441,7 @@ BOOST_AUTO_TEST_CASE(verify_invalid_tile_part_size)
boost::filesystem::create_directories(path);
auto mp = make_shared<dcp::MonoJ2KPictureAsset>(dcp::Fraction(24, 1), dcp::Standard::SMPTE);
- auto picture_writer = mp->start_write(path / "video.mxf", dcp::J2KPictureAsset::Behaviour::MAKE_NEW);
+ auto picture_writer = mp->start_write(path / "video.mxf", dcp::Behaviour::MAKE_NEW);
dcp::Size const size(1998, 1080);
auto image = make_shared<dcp::OpenJPEGImage>(size);
diff --git a/tools/dcpdecryptmxf.cc b/tools/dcpdecryptmxf.cc
index ea90c34e..1145d77d 100644
--- a/tools/dcpdecryptmxf.cc
+++ b/tools/dcpdecryptmxf.cc
@@ -235,7 +235,7 @@ main (int argc, char* argv[])
dcp::MonoJ2KPictureAsset in (input_file);
add_key (in, decrypted_kdm);
dcp::MonoJ2KPictureAsset out (in.edit_rate(), dcp::Standard::SMPTE);
- auto writer = out.start_write(output_file.get(), dcp::J2KPictureAsset::Behaviour::MAKE_NEW);
+ auto writer = out.start_write(output_file.get(), dcp::Behaviour::MAKE_NEW);
copy (in, writer, ignore_hmac);
break;
}