diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-02-06 11:51:24 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-04-18 12:11:43 +0200 |
| commit | 6801a43a489b3e55ab062b0db46e0e03d20e9bcb (patch) | |
| tree | f46d8a54dc00852d015d59c7b7a37e1654381dae | |
| parent | c7de16512dad5f4a1e9c1acdaddfc300e428ed3e (diff) | |
Move Behaviour enum out of J2KPictureAsset.
| -rw-r--r-- | examples/make_dcp.cc | 2 | ||||
| -rw-r--r-- | src/behaviour.h | 52 | ||||
| -rw-r--r-- | src/j2k_picture_asset.h | 6 | ||||
| -rw-r--r-- | src/wscript | 1 | ||||
| -rw-r--r-- | test/dcp_test.cc | 4 | ||||
| -rw-r--r-- | test/decryption_test.cc | 2 | ||||
| -rw-r--r-- | test/encryption_test.cc | 2 | ||||
| -rw-r--r-- | test/frame_info_hash_test.cc | 2 | ||||
| -rw-r--r-- | test/kdm_test.cc | 2 | ||||
| -rw-r--r-- | test/recovery_test.cc | 4 | ||||
| -rw-r--r-- | test/round_trip_test.cc | 2 | ||||
| -rw-r--r-- | test/test.cc | 4 | ||||
| -rw-r--r-- | test/verify_test.cc | 8 | ||||
| -rw-r--r-- | tools/dcpdecryptmxf.cc | 2 |
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; } |
