/*
- Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2014-2015 Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "compose.hpp"
#include <dcp/dcp.h>
#include <dcp/exceptions.h>
+#include <libxml++/libxml++.h>
#include <iterator>
+#include <iostream>
#include "i18n.h"
using std::string;
using std::cout;
using std::distance;
+using std::pair;
+using std::list;
using boost::shared_ptr;
using boost::optional;
, _kdm_valid (false)
{
read_directory (p);
- /* Default to no colour conversion for DCPs */
- unset_colour_conversion (false);
}
DCPContent::DCPContent (shared_ptr<const Film> film, cxml::ConstNodePtr node, int version)
DCPContent::examine (shared_ptr<Job> job)
{
bool const could_be_played = can_be_played ();
-
+
job->set_progress_unknown ();
Content::examine (job);
-
+
shared_ptr<DCPExaminer> examiner (new DCPExaminer (shared_from_this ()));
take_from_video_examiner (examiner);
take_from_audio_examiner (examiner);
shared_ptr<const Film> film = _film.lock ();
DCPOMATIC_ASSERT (film);
FrameRateChange const frc (video_frame_rate (), film->video_frame_rate ());
- return DCPTime::from_frames (rint (video_length () * frc.factor ()), film->video_frame_rate ());
+ return DCPTime::from_frames (llrint (video_length () * frc.factor ()), film->video_frame_rate ());
}
string
DCPContent::identifier () const
{
- return SubtitleContent::identifier ();
+ SafeStringStream s;
+ s << VideoContent::identifier() << "_" << SubtitleContent::identifier ();
+ return s.str ();
}
void
return dir;
}
+
+void
+DCPContent::add_properties (list<pair<string, string> >& p) const
+{
+ SingleStreamAudioContent::add_properties (p);
+}
+
+void
+DCPContent::set_default_colour_conversion ()
+{
+ /* Default to no colour conversion for DCPs */
+ unset_colour_conversion ();
+}