using namespace boost::filesystem;
boost::filesystem::path const out = "build/test/combine_two_dcps_with_same_asset_filenames_test";
- shared_ptr<dcp::DCP> second = make_simple ("build/test/combine_input2");
+ auto second = make_simple ("build/test/combine_input2");
second->write_xml ();
remove_all (out);
first->write_xml ();
auto second = make_simple_with_interop_subs ("build/test/combine_input2");
+ second->write_xml ();
remove_all (out);
- vector<path> inputs;
- inputs.push_back ("build/test/combine_input1");
- inputs.push_back ("build/test/combine_input2");
+ vector<path> inputs = {"build/test/combine_input1", "build/test/combine_input2"};
dcp::combine (inputs, out);
check_no_errors (out);
using namespace boost::filesystem;
boost::filesystem::path const out = "build/test/combine_two_dcps_with_smpte_subs_test";
- shared_ptr<dcp::DCP> first = make_simple_with_smpte_subs ("build/test/combine_input1");
+ auto first = make_simple_with_smpte_subs ("build/test/combine_input1");
first->write_xml ();
- shared_ptr<dcp::DCP> second = make_simple_with_smpte_subs ("build/test/combine_input2");
+ auto second = make_simple_with_smpte_subs ("build/test/combine_input2");
second->write_xml ();
remove_all (out);
using namespace boost::filesystem;
boost::filesystem::path const out = "build/test/combine_two_dcps_with_interop_ccaps_test";
- shared_ptr<dcp::DCP> first = make_simple_with_interop_ccaps ("build/test/combine_input1");
+ auto first = make_simple_with_interop_ccaps ("build/test/combine_input1");
first->write_xml ();
- shared_ptr<dcp::DCP> second = make_simple_with_interop_ccaps ("build/test/combine_input2");
+ auto second = make_simple_with_interop_ccaps ("build/test/combine_input2");
second->write_xml ();
remove_all (out);
using namespace boost::filesystem;
boost::filesystem::path const out = "build/test/combine_two_dcps_with_interop_ccaps_test";
- shared_ptr<dcp::DCP> first = make_simple_with_smpte_ccaps ("build/test/combine_input1");
+ auto first = make_simple_with_smpte_ccaps ("build/test/combine_input1");
first->write_xml ();
- shared_ptr<dcp::DCP> second = make_simple_with_smpte_ccaps ("build/test/combine_input2");
+ auto second = make_simple_with_smpte_ccaps ("build/test/combine_input2");
second->write_xml ();
remove_all (out);
using namespace boost::filesystem;
boost::filesystem::path const out = "build/test/combine_two_multi_reel_dcps";
- shared_ptr<dcp::DCP> first = make_simple ("build/test/combine_input1", 4);
+ auto first = make_simple ("build/test/combine_input1", 4);
first->write_xml ();
- shared_ptr<dcp::DCP> second = make_simple ("build/test/combine_input2", 4);
+ auto second = make_simple ("build/test/combine_input2", 4);
second->write_xml ();
remove_all (out);
using namespace boost::filesystem;
boost::filesystem::path const out = "build/test/combine_two_dcps_with_shared_asset";
- shared_ptr<dcp::DCP> first = make_simple ("build/test/combine_input1", 1);
+ auto first = make_simple ("build/test/combine_input1", 1);
first->write_xml ();
remove_all ("build/test/combine_input2");
- shared_ptr<dcp::DCP> second(new dcp::DCP("build/test/combine_input2"));
+ auto second = make_shared<dcp::DCP>("build/test/combine_input2");
dcp::MXFMetadata mxf_meta;
mxf_meta.company_name = "OpenDCP";
dcp::CPL cpl("", dcp::ContentKind::FEATURE, dcp::Standard::SMPTE);
BOOST_CHECK_THROW (cpl.set_version_number(-1), dcp::BadSettingError);
- vector<dcp::ContentVersion> cv;
- cv.push_back (dcp::ContentVersion("same-id", "version 1"));
- cv.push_back (dcp::ContentVersion("same-id", "version 2"));
+ vector<dcp::ContentVersion> cv = {
+ dcp::ContentVersion("same-id", "version 1"),
+ dcp::ContentVersion("same-id", "version 2")
+ };
BOOST_CHECK_THROW (cpl.set_content_versions(cv), dcp::DuplicateIdError);
}
BOOST_AUTO_TEST_CASE (luminance_test2)
{
- shared_ptr<cxml::Document> doc (new cxml::Document("Luminance"));
+ auto doc = make_shared<cxml::Document>("Luminance");
doc->read_string (
"<Luminance units=\"candela-per-square-metre\">4.5</Luminance>"
BOOST_AUTO_TEST_CASE (luminance_test3)
{
- shared_ptr<cxml::Document> doc (new cxml::Document("Luminance"));
+ auto doc = make_shared<cxml::Document>("Luminance");
doc->read_string (
"<Luminance units=\"candela-per-square-motre\">4.5</Luminance>"
BOOST_AUTO_TEST_CASE (luminance_test4)
{
- shared_ptr<cxml::Document> doc (new cxml::Document("Luminance"));
+ auto doc = make_shared<cxml::Document>("Luminance");
doc->read_string (
"<Luminance units=\"candela-per-square-metre\">-4.5</Luminance>"
BOOST_REQUIRE (reels.front()->main_subtitle()->language());
BOOST_CHECK_EQUAL (reels.front()->main_subtitle()->language().get(), "de-DE");
- vector<string> asl = cpl.additional_subtitle_languages();
+ auto asl = cpl.additional_subtitle_languages();
BOOST_REQUIRE_EQUAL (asl.size(), 2);
BOOST_CHECK_EQUAL (asl[0], "en-US");
BOOST_CHECK_EQUAL (asl[1], "fr-ZA");
dcp::CPL cpl("", dcp::ContentKind::FEATURE, dcp::Standard::SMPTE);
cpl.set_issue_date ("2020-08-28T13:35:06+02:00");
- vector<dcp::ContentVersion> cv;
- cv.push_back (dcp::ContentVersion("some-id", "version 1"));
- cv.push_back (dcp::ContentVersion("another-id", "version 2"));
+ vector<dcp::ContentVersion> cv = {
+ dcp::ContentVersion("some-id", "version 1"),
+ dcp::ContentVersion("another-id", "version 2")
+ };;
cpl.set_content_versions (cv);
cpl.set_full_content_title_text ("full-content-title");
cpl.set_main_picture_stored_area (dcp::Size(1998, 1080));
cpl.set_main_picture_active_area (dcp::Size(1440, 1080));
- shared_ptr<cxml::Document> doc (new cxml::Document("MainSubtitle"));
+ auto doc = make_shared<cxml::Document>("MainSubtitle");
doc->read_string (
"<MainSubtitle>"
"</MainSubtitle>"
);
- shared_ptr<dcp::Reel> reel(new dcp::Reel());
+ auto reel = make_shared<dcp::Reel>();
reel->add (black_picture_asset("build/test/cpl_metadata_write_test1"));
reel->add (make_shared<dcp::ReelSMPTESubtitleAsset>(doc));
cpl.add (reel);
BOOST_AUTO_TEST_CASE (cpl_metadata_roundtrip_test_2)
{
dcp::CPL cpl ("test/ref/cpl_metadata_test2.xml");
- vector<string> ignore;
- ignore.push_back ("Id");
cpl.write_xml ("build/test/cpl_metadata_roundtrip_test2.xml", shared_ptr<dcp::CertificateChain>());
check_xml (
dcp::file_to_string("test/ref/cpl_metadata_test2.xml"),
dcp::file_to_string("build/test/cpl_metadata_roundtrip_test2.xml"),
- ignore
+ {"Id"}
);
}
files in the program, then also delete it here.
*/
+
#include "cpl.h"
#include "test.h"
#include <boost/test/unit_test.hpp>
+
using std::list;
using std::string;
using std::vector;
using std::shared_ptr;
+using std::make_shared;
+
BOOST_AUTO_TEST_CASE (cpl_ratings)
{
dcp::CPL cpl ("annotation", dcp::ContentKind::FEATURE, dcp::Standard::SMPTE);
- vector<dcp::Rating> ratings;
- ratings.push_back (dcp::Rating("http://www.mpaa.org/2003-ratings", "PG-13"));
- ratings.push_back (dcp::Rating("http://www.movielabs.com/md/ratings/GB/BBFC/1/12A%3C/Agency", "12A"));
+ vector<dcp::Rating> ratings = {
+ dcp::Rating("http://www.mpaa.org/2003-ratings", "PG-13"),
+ dcp::Rating("http://www.movielabs.com/md/ratings/GB/BBFC/1/12A%3C/Agency", "12A")
+ };
cpl.set_ratings (ratings);
- shared_ptr<dcp::Reel> reel(new dcp::Reel());
+ auto reel = make_shared<dcp::Reel>();
cpl.add (reel);
cpl.write_xml ("build/test/cpl_ratings.xml", {});
- vector<string> ignore;
- ignore.push_back ("Id");
- ignore.push_back ("Issuer");
- ignore.push_back ("Creator");
- ignore.push_back ("IssueDate");
- ignore.push_back ("LabelText");
+ vector<string> ignore = { "Id", "Issuer", "Creator", "IssueDate", "LabelText" };
check_xml (
dcp::file_to_string("build/test/cpl_ratings.xml"),
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
);
dcp::CPL cpl2 ("build/test/cpl_ratings.xml");
- auto ratings2 = cpl2.ratings ();
- BOOST_TEST(ratings == ratings2);
+ BOOST_TEST(ratings == cpl2.ratings());
}
cpl->set_issue_date ("2012-07-17T04:45:18+00:00");
cpl->set_annotation_text ("A Test DCP");
- shared_ptr<dcp::StereoPictureAsset> mp (new dcp::StereoPictureAsset (dcp::Fraction (24, 1), dcp::Standard::SMPTE));
+ auto mp = make_shared<dcp::StereoPictureAsset>(dcp::Fraction (24, 1), dcp::Standard::SMPTE);
mp->set_metadata (mxf_meta);
- shared_ptr<dcp::PictureAssetWriter> picture_writer = mp->start_write ("build/test/DCP/dcp_test2/video.mxf", false);
+ auto picture_writer = mp->start_write ("build/test/DCP/dcp_test2/video.mxf", false);
dcp::ArrayData j2c ("test/data/flat_red.j2c");
for (int i = 0; i < 24; ++i) {
/* Left */
}
picture_writer->finalize ();
- shared_ptr<dcp::SoundAsset> ms (new dcp::SoundAsset(dcp::Fraction(24, 1), 48000, 1, dcp::LanguageTag("en-GB"), dcp::Standard::SMPTE));
+ auto ms = make_shared<dcp::SoundAsset>(dcp::Fraction(24, 1), 48000, 1, dcp::LanguageTag("en-GB"), dcp::Standard::SMPTE);
ms->set_metadata (mxf_meta);
- shared_ptr<dcp::SoundAssetWriter> sound_writer = ms->start_write ("build/test/DCP/dcp_test2/audio.mxf");
+ auto sound_writer = ms->start_write ("build/test/DCP/dcp_test2/audio.mxf");
SF_INFO info;
info.format = 0;
- SNDFILE* sndfile = sf_open ("test/data/1s_24-bit_48k_silence.wav", SFM_READ, &info);
+ auto sndfile = sf_open ("test/data/1s_24-bit_48k_silence.wav", SFM_READ, &info);
BOOST_CHECK (sndfile);
float buffer[4096*6];
float* channels[1];
channels[0] = buffer;
- while (1) {
- sf_count_t N = sf_readf_float (sndfile, buffer, 4096);
+ while (true) {
+ auto N = sf_readf_float (sndfile, buffer, 4096);
sound_writer->write (channels, N);
if (N < 4096) {
break;
auto ms = make_shared<dcp::SoundAsset>(dcp::Fraction(24, 1), 48000, 1, dcp::LanguageTag("en-GB"), dcp::Standard::SMPTE);
ms->set_metadata (mxf_meta);
- shared_ptr<dcp::SoundAssetWriter> sound_writer = ms->start_write ("build/test/DCP/dcp_test5/audio.mxf");
+ auto sound_writer = ms->start_write ("build/test/DCP/dcp_test5/audio.mxf");
SF_INFO info;
info.format = 0;
#include <boost/test/unit_test.hpp>
#include <memory>
+
using std::vector;
using std::string;
using std::shared_ptr;
+using std::make_shared;
+
/** Load a certificate chain from build/test/data/ *.pem and then build
* an encrypted DCP and a KDM using it.
dcp::DCP d ("build/test/DCP/encryption_test");
/* Use test/ref/crypt so this test is repeatable */
- shared_ptr<dcp::CertificateChain> signer (new dcp::CertificateChain ());
- signer->add (dcp::Certificate (dcp::file_to_string ("test/ref/crypt/ca.self-signed.pem")));
- signer->add (dcp::Certificate (dcp::file_to_string ("test/ref/crypt/intermediate.signed.pem")));
- signer->add (dcp::Certificate (dcp::file_to_string ("test/ref/crypt/leaf.signed.pem")));
- signer->set_key (dcp::file_to_string ("test/ref/crypt/leaf.key"));
+ auto signer = make_shared<dcp::CertificateChain>();
+ signer->add (dcp::Certificate(dcp::file_to_string("test/ref/crypt/ca.self-signed.pem")));
+ signer->add (dcp::Certificate(dcp::file_to_string("test/ref/crypt/intermediate.signed.pem")));
+ signer->add (dcp::Certificate(dcp::file_to_string("test/ref/crypt/leaf.signed.pem")));
+ signer->set_key (dcp::file_to_string("test/ref/crypt/leaf.key"));
auto cpl = make_shared<dcp::CPL>("A Test DCP", dcp::ContentKind::FEATURE, dcp::Standard::SMPTE);
dcp::Key key;
- shared_ptr<dcp::MonoPictureAsset> mp (new dcp::MonoPictureAsset (dcp::Fraction (24, 1), dcp::Standard::SMPTE));
+ auto mp = make_shared<dcp::MonoPictureAsset>(dcp::Fraction (24, 1), dcp::Standard::SMPTE);
mp->set_metadata (mxf_metadata);
mp->set_key (key);
- shared_ptr<dcp::PictureAssetWriter> writer = mp->start_write ("build/test/DCP/encryption_test/video.mxf", false);
+ auto writer = mp->start_write ("build/test/DCP/encryption_test/video.mxf", false);
dcp::ArrayData j2c ("test/data/flat_red.j2c");
for (int i = 0; i < 24; ++i) {
writer->write (j2c.data (), j2c.size ());
}
writer->finalize ();
- shared_ptr<dcp::SoundAsset> ms (new dcp::SoundAsset (dcp::Fraction (24, 1), 48000, 1, dcp::LanguageTag("en-GB"), dcp::Standard::SMPTE));
+ auto ms = make_shared<dcp::SoundAsset>(dcp::Fraction (24, 1), 48000, 1, dcp::LanguageTag("en-GB"), dcp::Standard::SMPTE);
ms->set_metadata (mxf_metadata);
ms->set_key (key);
- shared_ptr<dcp::SoundAssetWriter> sound_writer = ms->start_write ("build/test/DCP/encryption_test/audio.mxf");
+ auto sound_writer = ms->start_write ("build/test/DCP/encryption_test/audio.mxf");
SF_INFO info;
info.format = 0;
- SNDFILE* sndfile = sf_open ("test/data/1s_24-bit_48k_silence.wav", SFM_READ, &info);
+ auto sndfile = sf_open ("test/data/1s_24-bit_48k_silence.wav", SFM_READ, &info);
BOOST_CHECK (sndfile);
float buffer[4096*6];
float* channels[1];
channels[0] = buffer;
- while (1) {
- sf_count_t N = sf_readf_float (sndfile, buffer, 4096);
+ while (true) {
+ auto N = sf_readf_float (sndfile, buffer, 4096);
sound_writer->write (channels, N);
if (N < 4096) {
break;
sound_writer->finalize ();
- cpl->add (shared_ptr<dcp::Reel> (new dcp::Reel (
- shared_ptr<dcp::ReelMonoPictureAsset> (new dcp::ReelMonoPictureAsset (mp, 0)),
- shared_ptr<dcp::ReelSoundAsset> (new dcp::ReelSoundAsset (ms, 0)),
- shared_ptr<dcp::ReelSubtitleAsset> ()
- )));
+ cpl->add (make_shared<dcp::Reel>(
+ make_shared<dcp::ReelMonoPictureAsset>(mp, 0),
+ make_shared<dcp::ReelSoundAsset>(ms, 0),
+ shared_ptr<dcp::ReelSubtitleAsset>()
+ ));
cpl->set_content_version (
dcp::ContentVersion("urn:uri:81fb54df-e1bf-4647-8788-ea7ba154375b_2012-07-17T04:45:18+00:00", "81fb54df-e1bf-4647-8788-ea7ba154375b_2012-07-17T04:45:18+00:00")
);
#include "reel.h"
#include "reel_markers_asset.h"
+
using std::string;
using std::shared_ptr;
using std::make_shared;
+
BOOST_AUTO_TEST_CASE (markers_write_test)
{
dcp::CPL cpl("Markers test", dcp::ContentKind::TEST, dcp::Standard::SMPTE);
asset->set (dcp::Marker::FFMC, dcp::Time(4, 2, 8, 18, 24));
asset->set (dcp::Marker::LFMC, dcp::Time(4, 3, 8, 18, 24));
- shared_ptr<dcp::Reel> reel (new dcp::Reel());
+ auto reel = make_shared<dcp::Reel>();
reel->add (asset);
cpl.add (reel);
cpl.write_xml ("build/test/markers_test.xml", {});
}
-static void
-note_handler (dcp::NoteType, string)
-{
-
-}
BOOST_AUTO_TEST_CASE (markers_read_test, * boost::unit_test::depends_on("markers_write_test"))
{
dcp::CPL cpl ("build/test/markers_test.xml");
BOOST_CHECK_EQUAL (cpl.reels().size(), 1);
- shared_ptr<dcp::Reel> reel = cpl.reels().front();
- shared_ptr<dcp::ReelMarkersAsset> markers = reel->main_markers ();
+ auto reel = cpl.reels().front();
+ auto markers = reel->main_markers ();
BOOST_REQUIRE (markers);
BOOST_REQUIRE (markers->get(dcp::Marker::FFOC));
BOOST_REQUIRE (markers->get(dcp::Marker::LFMC));
BOOST_CHECK (markers->get (dcp::Marker::LFMC) == dcp::Time(4, 3, 8, 18, 24));
- BOOST_CHECK (markers->equals(markers, dcp::EqualityOptions(), boost::bind(¬e_handler, _1, _2)));
+ BOOST_CHECK (markers->equals(markers, dcp::EqualityOptions(), [](dcp::NoteType, string) {}));
auto markers2 = make_shared<dcp::ReelMarkersAsset>(dcp::Fraction(24, 1), 432000, 0);
- BOOST_CHECK (!markers->equals(markers2, dcp::EqualityOptions(), boost::bind(¬e_handler, _1, _2)));
+ BOOST_CHECK (!markers->equals(markers2, dcp::EqualityOptions(), [](dcp::NoteType, string) {}));
}
using std::list;
+using std::make_shared;
+using std::shared_ptr;
using std::string;
using std::vector;
-using std::shared_ptr;
/** Check that when we read a MXF and write its MCA metadata to a CPL we get the same answer
BOOST_AUTO_TEST_CASE (parse_mca_descriptors_from_mxf_test)
{
for (int i = 1; i < 3; ++i) {
- shared_ptr<dcp::SoundAsset> sound_asset(new dcp::SoundAsset(private_test / "data" / dcp::String::compose("51_sound_with_mca_%1.mxf", i)));
- shared_ptr<dcp::ReelSoundAsset> reel_sound_asset(new dcp::ReelSoundAsset(sound_asset, 0));
- shared_ptr<dcp::Reel> reel(new dcp::Reel());
+ auto sound_asset = make_shared<dcp::SoundAsset>(private_test / "data" / dcp::String::compose("51_sound_with_mca_%1.mxf", i));
+ auto reel_sound_asset = make_shared<dcp::ReelSoundAsset>(sound_asset, 0);
+ auto reel = make_shared<dcp::Reel>();
reel->add (black_picture_asset(dcp::String::compose("build/test/parse_mca_descriptors_from_mxf_test%1", i), 24));
reel->add (reel_sound_asset);
/** Reproduce the MCA tags from one of the example files using libdcp */
BOOST_AUTO_TEST_CASE (write_mca_descriptors_to_mxf_test)
{
- shared_ptr<dcp::SoundAsset> sound_asset(new dcp::SoundAsset(dcp::Fraction(24, 1), 48000, 6, dcp::LanguageTag("en-US"), dcp::Standard::SMPTE));
- shared_ptr<dcp::SoundAssetWriter> writer = sound_asset->start_write("build/test/write_mca_descriptors_to_mxf_test.mxf");
+ auto sound_asset = make_shared<dcp::SoundAsset>(dcp::Fraction(24, 1), 48000, 6, dcp::LanguageTag("en-US"), dcp::Standard::SMPTE);
+ auto writer = sound_asset->start_write("build/test/write_mca_descriptors_to_mxf_test.mxf");
float* samples[6];
for (int i = 0; i < 6; ++i) {
cxml::Document ref("CompositionPlaylist", private_test / "51_sound_with_mca_1.cpl");
cxml::Document check("CompositionPlaylist", "build/test/write_mca_descriptors_to_mxf_test/cpl.xml");
- vector<string> ignore;
- ignore.push_back ("InstanceID");
- ignore.push_back ("MCALinkID");
- ignore.push_back ("SoundfieldGroupLinkID");
-
check_xml (
dynamic_cast<xmlpp::Element*>(
- ref.node_child("ReelList")->node_children("Reel").front()->node_child("AssetList")->node_child("CompositionMetadataAsset")->node_child("MCASubDescriptors")->node()
+ ref.node_child("ReelList")->node_children("Reel")[0]->node_child("AssetList")->node_child("CompositionMetadataAsset")->node_child("MCASubDescriptors")->node()
),
dynamic_cast<xmlpp::Element*>(
- check.node_child("ReelList")->node_children("Reel").front()->node_child("AssetList")->node_child("CompositionMetadataAsset")->node_child("MCASubDescriptors")->node()
+ check.node_child("ReelList")->node_children("Reel")[0]->node_child("AssetList")->node_child("CompositionMetadataAsset")->node_child("MCASubDescriptors")->node()
),
- ignore,
+ { "InstanceID", "MCALinkID", "SoundfieldGroupLinkID" },
true
);
}
#include <boost/scoped_array.hpp>
#include <iostream>
+
using std::list;
-using std::vector;
-using std::string;
+using std::make_shared;
using std::shared_ptr;
+using std::string;
+using std::vector;
using boost::scoped_array;
+
/** Build an encrypted picture asset and a KDM for it and check that the KDM can be decrypted */
BOOST_AUTO_TEST_CASE (round_trip_test)
{
- shared_ptr<dcp::CertificateChain> signer (new dcp::CertificateChain (boost::filesystem::path ("openssl")));
+ auto signer = make_shared<dcp::CertificateChain>(boost::filesystem::path ("openssl"));
boost::filesystem::path work_dir = "build/test/round_trip_test";
boost::filesystem::create_directory (work_dir);
- shared_ptr<dcp::MonoPictureAsset> asset_A (new dcp::MonoPictureAsset (dcp::Fraction (24, 1), dcp::Standard::SMPTE));
- shared_ptr<dcp::PictureAssetWriter> writer = asset_A->start_write (work_dir / "video.mxf", false);
+ auto asset_A = make_shared<dcp::MonoPictureAsset>(dcp::Fraction (24, 1), dcp::Standard::SMPTE);
+ auto writer = asset_A->start_write (work_dir / "video.mxf", false);
dcp::ArrayData j2c ("test/data/flat_red.j2c");
for (int i = 0; i < 24; ++i) {
writer->write (j2c.data (), j2c.size ());
asset_A->set_key (key);
- shared_ptr<dcp::Reel> reel (new dcp::Reel ());
- reel->add (shared_ptr<dcp::ReelMonoPictureAsset> (new dcp::ReelMonoPictureAsset (asset_A, 0)));
auto cpl = make_shared<dcp::CPL>("A Test DCP", dcp::ContentKind::FEATURE, dcp::Standard::SMPTE);
+ auto reel = make_shared<dcp::Reel>();
+ reel->add (make_shared<dcp::ReelMonoPictureAsset>(asset_A, 0));
cpl->add (reel);
dcp::LocalTime start;
}
/* Reload the picture asset */
- shared_ptr<dcp::MonoPictureAsset> asset_B (
- new dcp::MonoPictureAsset (work_dir / "video.mxf")
- );
+ auto asset_B = make_shared<dcp::MonoPictureAsset>(work_dir / "video.mxf");
BOOST_CHECK (!kdm_B.keys().empty ());
asset_B->set_key (kdm_B.keys().front().key());
- shared_ptr<dcp::OpenJPEGImage> xyz_A = asset_A->start_read()->get_frame(0)->xyz_image ();
- shared_ptr<dcp::OpenJPEGImage> xyz_B = asset_B->start_read()->get_frame(0)->xyz_image ();
+ auto xyz_A = asset_A->start_read()->get_frame(0)->xyz_image ();
+ auto xyz_B = asset_B->start_read()->get_frame(0)->xyz_image ();
scoped_array<uint8_t> frame_A (new uint8_t[xyz_A->size().width * xyz_A->size().height * 4]);
dcp::xyz_to_rgba (xyz_A, dcp::ColourConversion::srgb_to_xyz(), frame_A.get(), xyz_A->size().width * 4);
{
auto dcp = make_simple (path, 1, 24, dcp::Standard::INTEROP);
- shared_ptr<dcp::InteropSubtitleAsset> subs(new dcp::InteropSubtitleAsset());
+ auto subs = make_shared<dcp::InteropSubtitleAsset>();
subs->add (simple_subtitle());
boost::filesystem::create_directory (path / "subs");
shared_ptr<dcp::DCP>
make_simple_with_smpte_subs (boost::filesystem::path path)
{
- shared_ptr<dcp::DCP> dcp = make_simple (path, 1, 192);
+ auto dcp = make_simple (path, 1, 192);
- shared_ptr<dcp::SMPTESubtitleAsset> subs(new dcp::SMPTESubtitleAsset());
+ auto subs = make_shared<dcp::SMPTESubtitleAsset>();
subs->set_language (dcp::LanguageTag("de-DE"));
subs->set_start_time (dcp::Time());
subs->add (simple_subtitle());
{
auto dcp = make_simple (path, 1, 24, dcp::Standard::INTEROP);
- shared_ptr<dcp::InteropSubtitleAsset> subs(new dcp::InteropSubtitleAsset());
+ auto subs = make_shared<dcp::InteropSubtitleAsset>();
subs->add (simple_subtitle());
subs->write (path / "ccap.xml");
- shared_ptr<dcp::ReelClosedCaptionAsset> reel_caps(new dcp::ReelClosedCaptionAsset(subs, dcp::Fraction(24, 1), 240, 0));
+ auto reel_caps = make_shared<dcp::ReelClosedCaptionAsset>(subs, dcp::Fraction(24, 1), 240, 0);
dcp->cpls().front()->reels().front()->add (reel_caps);
return dcp;
shared_ptr<dcp::DCP>
make_simple_with_smpte_ccaps (boost::filesystem::path path)
{
- shared_ptr<dcp::DCP> dcp = make_simple (path, 1, 192);
+ auto dcp = make_simple (path, 1, 192);
- shared_ptr<dcp::SMPTESubtitleAsset> subs(new dcp::SMPTESubtitleAsset());
+ auto subs = make_shared<dcp::SMPTESubtitleAsset>();
subs->set_language (dcp::LanguageTag("de-DE"));
subs->set_start_time (dcp::Time());
subs->add (simple_subtitle());
subs->write (path / "ccap.mxf");
- shared_ptr<dcp::ReelClosedCaptionAsset> reel_caps(new dcp::ReelClosedCaptionAsset(subs, dcp::Fraction(24, 1), 192, 0));
- dcp->cpls().front()->reels().front()->add (reel_caps);
+ auto reel_caps = make_shared<dcp::ReelClosedCaptionAsset>(subs, dcp::Fraction(24, 1), 192, 0);
+ dcp->cpls()[0]->reels()[0]->add(reel_caps);
return dcp;
}
shared_ptr<dcp::OpenJPEGImage>
black_image (dcp::Size size)
{
- shared_ptr<dcp::OpenJPEGImage> image(new dcp::OpenJPEGImage(size));
+ auto image = make_shared<dcp::OpenJPEGImage>(size);
int const pixels = size.width * size.height;
for (int i = 0; i < 3; ++i) {
memset (image->data(i), 0, pixels * sizeof(int));
shared_ptr<dcp::ReelAsset>
black_picture_asset (boost::filesystem::path dir, int frames)
{
- shared_ptr<dcp::OpenJPEGImage> image = black_image ();
- dcp::ArrayData frame = dcp::compress_j2k (image, 100000000, 24, false, false);
+ auto image = black_image ();
+ auto frame = dcp::compress_j2k (image, 100000000, 24, false, false);
BOOST_REQUIRE (frame.size() < 230000000 / (24 * 8));
auto asset = make_shared<dcp::MonoPictureAsset>(dcp::Fraction(24, 1), dcp::Standard::SMPTE);
asset->set_metadata (dcp::MXFMetadata("libdcp", "libdcp", "1.6.4devel"));
boost::filesystem::create_directories (dir);
- shared_ptr<dcp::PictureAssetWriter> writer = asset->start_write (dir / "pic.mxf", true);
+ auto writer = asset->start_write (dir / "pic.mxf", true);
for (int i = 0; i < frames; ++i) {
writer->write (frame.data(), frame.size());
}
writer->finalize ();
- return shared_ptr<dcp::ReelAsset>(new dcp::ReelMonoPictureAsset(asset, 0));
+ return make_shared<dcp::ReelMonoPictureAsset>(asset, 0);
}
#include <cstdio>
#include <iostream>
+
using std::list;
using std::pair;
using std::string;
subs->write (dir / "subs.mxf");
auto reel_subs = make_shared<dcp::ReelSMPTESubtitleAsset>(subs, dcp::Fraction(24, 1), 106, 0);
- dcp->cpls().front()->reels().front()->add(reel_subs);
+ dcp->cpls()[0]->reels()[0]->add(reel_subs);
dcp->write_xml (
dcp::String::compose("libdcp %1", dcp::version),
dcp::String::compose("libdcp %1", dcp::version),
subs->write (dir / "subs.mxf");
auto reel_subs = make_shared<dcp::ReelSMPTESubtitleAsset>(subs, dcp::Fraction(24, 1), 106, 0);
- dcp->cpls().front()->reels().front()->add(reel_subs);
+ dcp->cpls()[0]->reels()[0]->add(reel_subs);
dcp->write_xml (
dcp::String::compose("libdcp %1", dcp::version),
dcp::String::compose("libdcp %1", dcp::version),
{
RNGFixer fix;
- shared_ptr<dcp::InteropSubtitleAsset> c (new dcp::InteropSubtitleAsset());
+ auto c = make_shared<dcp::InteropSubtitleAsset>();
c->set_reel_number ("1");
c->set_language ("EN");
c->set_movie_title ("Test");
c->add (
- shared_ptr<dcp::Subtitle> (
- new dcp::SubtitleImage (
- dcp::ArrayData ("test/data/sub.png"),
- dcp::Time (0, 4, 9, 22, 24),
- dcp::Time (0, 4, 11, 22, 24),
- 0,
- dcp::HAlign::CENTER,
- 0.8,
- dcp::VAlign::TOP,
- dcp::Time (0, 0, 0, 0, 24),
- dcp::Time (0, 0, 0, 0, 24)
- )
+ make_shared<dcp::SubtitleImage>(
+ dcp::ArrayData ("test/data/sub.png"),
+ dcp::Time (0, 4, 9, 22, 24),
+ dcp::Time (0, 4, 11, 22, 24),
+ 0,
+ dcp::HAlign::CENTER,
+ 0.8,
+ dcp::VAlign::TOP,
+ dcp::Time (0, 0, 0, 0, 24),
+ dcp::Time (0, 0, 0, 0, 24)
)
);