#include "AS_DCP.h"
#include "KM_fileio.h"
#include "exceptions.h"
+#include "dcp_assert.h"
#include "mono_picture_frame.h"
+#include "compose.hpp"
using std::string;
using std::vector;
using boost::shared_ptr;
using boost::dynamic_pointer_cast;
-using boost::lexical_cast;
using namespace dcp;
MonoPictureMXF::MonoPictureMXF (boost::filesystem::path file)
}
read_picture_descriptor (desc);
+
+ ASDCP::WriterInfo info;
+ if (ASDCP_FAILURE (reader.FillWriterInfo (info))) {
+ boost::throw_exception (DCPReadError ("could not read video MXF information"));
+ }
+
+ read_writer_info (info);
}
MonoPictureMXF::MonoPictureMXF (Fraction edit_rate)
}
bool
-MonoPictureMXF::equals (shared_ptr<const Content> other, EqualityOptions opt, boost::function<void (NoteType, string)> note) const
+MonoPictureMXF::equals (shared_ptr<const Asset> other, EqualityOptions opt, NoteHandler note) const
{
+ if (!dynamic_pointer_cast<const MonoPictureMXF> (other)) {
+ return false;
+ }
+
if (!MXF::equals (other, opt, note)) {
return false;
}
}
shared_ptr<const MonoPictureMXF> other_picture = dynamic_pointer_cast<const MonoPictureMXF> (other);
- assert (other_picture);
+ DCP_ASSERT (other_picture);
for (int i = 0; i < _intrinsic_duration; ++i) {
if (i >= other_picture->intrinsic_duration()) {
return false;
}
- note (PROGRESS, "Comparing video frame " + lexical_cast<string> (i) + " of " + lexical_cast<string> (_intrinsic_duration));
+ note (DCP_PROGRESS, String::compose ("Comparing video frame %1 of %2", i, _intrinsic_duration));
shared_ptr<const MonoPictureFrame> frame_A = get_frame (i);
shared_ptr<const MonoPictureFrame> frame_B = other_picture->get_frame (i);
{
return "MainPicture";
}
-
-int
-MonoPictureMXF::edit_rate_factor () const
-{
- return 1;
-}