summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-05-25 00:13:36 +0100
committerCarl Hetherington <cth@carlh.net>2015-05-25 00:13:36 +0100
commit5ae794047e5ceee4502e59211f0083a60224f4bd (patch)
treeaf66a40208e0f10621ea543d25d2ab662cb20503 /src/lib
parent64840121f4889a79f63a7168da88e5918092329a (diff)
3cb5a4c2064d4cf4d8cbdca75a84615a6c56fb7c from master; use j2c_uuid and pcm_uuid for picture/sound MXF filenames.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/film.cc18
-rw-r--r--src/lib/film.h4
-rw-r--r--src/lib/util.cc20
-rw-r--r--src/lib/util.h9
-rw-r--r--src/lib/writer.cc13
5 files changed, 36 insertions, 28 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc
index 35773c797..0af4c5611 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -228,24 +228,6 @@ Film::internal_video_mxf_filename () const
return video_identifier() + ".mxf";
}
-boost::filesystem::path
-Film::video_mxf_filename () const
-{
- return filename_safe_name() + "_video.mxf";
-}
-
-boost::filesystem::path
-Film::audio_mxf_filename () const
-{
- return filename_safe_name() + "_audio.mxf";
-}
-
-boost::filesystem::path
-Film::subtitle_xml_filename () const
-{
- return filename_safe_name() + "_subtitle.xml";
-}
-
string
Film::filename_safe_name () const
{
diff --git a/src/lib/film.h b/src/lib/film.h
index f61062be0..f55d8182f 100644
--- a/src/lib/film.h
+++ b/src/lib/film.h
@@ -68,10 +68,6 @@ public:
boost::filesystem::path internal_video_mxf_filename () const;
boost::filesystem::path audio_analysis_dir () const;
- boost::filesystem::path video_mxf_filename () const;
- boost::filesystem::path audio_mxf_filename () const;
- boost::filesystem::path subtitle_xml_filename () const;
-
void send_dcp_to_tms ();
void make_dcp ();
diff --git a/src/lib/util.cc b/src/lib/util.cc
index 99d9ba2c4..0b35ad539 100644
--- a/src/lib/util.cc
+++ b/src/lib/util.cc
@@ -37,6 +37,9 @@
#include "safe_stringstream.h"
#include <dcp/util.h>
#include <dcp/signer.h>
+#include <dcp/picture_mxf.h>
+#include <dcp/sound_mxf.h>
+#include <dcp/subtitle_content.h>
#include <glib.h>
#include <pangomm/init.h>
#include <boost/algorithm/string.hpp>
@@ -671,3 +674,20 @@ write_frame_info (FILE* file, int frame, Eyes eyes, dcp::FrameInfo info)
fwrite (info.hash.c_str(), 1, info.hash.size(), file);
}
+string
+video_mxf_filename (shared_ptr<dcp::PictureMXF> mxf)
+{
+ return "j2c_" + mxf->id() + ".mxf";
+}
+
+string
+audio_mxf_filename (shared_ptr<dcp::SoundMXF> mxf)
+{
+ return "pcm_" + mxf->id() + ".mxf";
+}
+
+string
+subtitle_content_filename (shared_ptr<dcp::SubtitleContent> content)
+{
+ return "sub_" + content->id() + ".xml";
+}
diff --git a/src/lib/util.h b/src/lib/util.h
index 44bd7dced..5413e4814 100644
--- a/src/lib/util.h
+++ b/src/lib/util.h
@@ -42,6 +42,12 @@ extern "C" {
#undef check
+namespace dcp {
+ class PictureMXF;
+ class SoundMXF;
+ class SubtitleContent;
+}
+
/** The maximum number of audio channels that we can have in a DCP */
#define MAX_DCP_AUDIO_CHANNELS 12
/** Message broadcast to find possible encoding servers */
@@ -97,6 +103,9 @@ extern dcp::FrameInfo read_frame_info (FILE* file, int frame, Eyes eyes);
extern void write_frame_info (FILE* file, int frame, Eyes eyes, dcp::FrameInfo info);
extern int64_t video_frames_to_audio_frames (VideoFrame v, float audio_sample_rate, float frames_per_second);
extern std::map<std::string, std::string> split_get_request (std::string url);
+extern std::string video_mxf_filename (boost::shared_ptr<dcp::PictureMXF> mxf);
+extern std::string audio_mxf_filename (boost::shared_ptr<dcp::SoundMXF> mxf);
+extern std::string subtitle_content_filename (boost::shared_ptr<dcp::SubtitleContent> content);
#endif
diff --git a/src/lib/writer.cc b/src/lib/writer.cc
index 802877188..b71ff2891 100644
--- a/src/lib/writer.cc
+++ b/src/lib/writer.cc
@@ -33,6 +33,7 @@
#include "encoded_data.h"
#include "version.h"
#include "font.h"
+#include "util.h"
#include <dcp/mono_picture_mxf.h>
#include <dcp/stereo_picture_mxf.h>
#include <dcp/sound_mxf.h>
@@ -125,7 +126,7 @@ Writer::Writer (shared_ptr<const Film> f, weak_ptr<Job> j)
/* Write the sound MXF into the film directory so that we leave the creation
of the DCP directory until the last minute.
*/
- _sound_mxf_writer = _sound_mxf->start_write (_film->directory() / _film->audio_mxf_filename(), _film->interop() ? dcp::INTEROP : dcp::SMPTE);
+ _sound_mxf_writer = _sound_mxf->start_write (_film->directory() / audio_mxf_filename (_sound_mxf), _film->interop() ? dcp::INTEROP : dcp::SMPTE);
}
/* Check that the signer is OK if we need one */
@@ -445,7 +446,7 @@ Writer::finish ()
boost::filesystem::path video_to;
video_to /= _film->dir (_film->dcp_name());
- video_to /= _film->video_mxf_filename ();
+ video_to /= video_mxf_filename (_picture_mxf);
boost::system::error_code ec;
boost::filesystem::create_hard_link (video_from, video_to, ec);
@@ -465,12 +466,12 @@ Writer::finish ()
if (_sound_mxf) {
boost::filesystem::path audio_to;
audio_to /= _film->dir (_film->dcp_name ());
- audio_to /= _film->audio_mxf_filename ();
+ audio_to /= audio_mxf_filename (_sound_mxf);
- boost::filesystem::rename (_film->file (_film->audio_mxf_filename ()), audio_to, ec);
+ boost::filesystem::rename (_film->file (audio_mxf_filename (_sound_mxf)), audio_to, ec);
if (ec) {
throw FileError (
- String::compose (_("could not move audio MXF into the DCP (%1)"), ec.value ()), _film->file (_film->audio_mxf_filename ())
+ String::compose (_("could not move audio MXF into the DCP (%1)"), ec.value ()), audio_mxf_filename (_sound_mxf)
);
}
@@ -532,7 +533,7 @@ Writer::finish ()
dcp.add (shared_ptr<dcp::Font> (new dcp::Font (to)));
}
- _subtitle_content->write_xml (_film->dir (_film->dcp_name ()) / _subtitle_content->id () / _film->subtitle_xml_filename ());
+ _subtitle_content->write_xml (_film->dir (_film->dcp_name ()) / _subtitle_content->id () / subtitle_content_filename (_subtitle_content));
reel->add (shared_ptr<dcp::ReelSubtitleAsset> (
new dcp::ReelSubtitleAsset (
_subtitle_content,