#include "lib/ratio.h"
#include "lib/log_entry.h"
#include <dcp/dcp.h>
+#include <asdcp/AS_DCP.h>
#include <sndfile.h>
#include <libxml++/libxml++.h>
#include <Magick++.h>
Config::instance()->set_default_audio_delay (0);
Config::instance()->set_default_j2k_bandwidth (100000000);
Config::instance()->set_default_interop (false);
+ Config::instance()->set_default_still_length (10);
Config::instance()->set_log_types (LogEntry::TYPE_GENERAL | LogEntry::TYPE_WARNING | LogEntry::TYPE_ERROR);
EncodeServerFinder::instance()->stop ();
}
void
-check_audio_file (boost::filesystem::path ref, boost::filesystem::path check)
+check_wav_file (boost::filesystem::path ref, boost::filesystem::path check)
{
SF_INFO ref_info;
ref_info.format = 0;
}
}
+void
+check_mxf_audio_file (boost::filesystem::path ref, boost::filesystem::path check)
+{
+ ASDCP::PCM::MXFReader ref_reader;
+ BOOST_REQUIRE (!ASDCP_FAILURE (ref_reader.OpenRead (ref.string().c_str())));
+
+ ASDCP::PCM::AudioDescriptor ref_desc;
+ BOOST_REQUIRE (!ASDCP_FAILURE (ref_reader.FillAudioDescriptor (ref_desc)));
+
+ ASDCP::PCM::MXFReader check_reader;
+ BOOST_REQUIRE (!ASDCP_FAILURE (check_reader.OpenRead (check.string().c_str())));
+
+ ASDCP::PCM::AudioDescriptor check_desc;
+ BOOST_REQUIRE (!ASDCP_FAILURE (check_reader.FillAudioDescriptor (check_desc)));
+
+ BOOST_REQUIRE_EQUAL (ref_desc.ContainerDuration, check_desc.ContainerDuration);
+
+ ASDCP::PCM::FrameBuffer ref_buffer (Kumu::Megabyte);
+ ASDCP::PCM::FrameBuffer check_buffer (Kumu::Megabyte);
+ for (size_t i = 0; i < ref_desc.ContainerDuration; ++i) {
+ ref_reader.ReadFrame (i, ref_buffer, 0);
+ check_reader.ReadFrame (i, check_buffer, 0);
+ BOOST_REQUIRE (memcmp(ref_buffer.RoData(), check_buffer.RoData(), ref_buffer.Size()) == 0);
+ }
+}
+
void
check_image (boost::filesystem::path ref, boost::filesystem::path check)
{
xmlpp::Element::NodeList ref_children = ref->get_children ();
xmlpp::Element::NodeList test_children = test->get_children ();
- BOOST_CHECK_MESSAGE (
+ BOOST_REQUIRE_MESSAGE (
ref_children.size() == test_children.size(),
ref->get_name() << " has " << ref_children.size() << " or " << test_children.size() << " children"
);