diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-05-25 00:13:36 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-05-25 00:13:36 +0100 |
| commit | 5ae794047e5ceee4502e59211f0083a60224f4bd (patch) | |
| tree | af66a40208e0f10621ea543d25d2ab662cb20503 /src/lib | |
| parent | 64840121f4889a79f63a7168da88e5918092329a (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.cc | 18 | ||||
| -rw-r--r-- | src/lib/film.h | 4 | ||||
| -rw-r--r-- | src/lib/util.cc | 20 | ||||
| -rw-r--r-- | src/lib/util.h | 9 | ||||
| -rw-r--r-- | src/lib/writer.cc | 13 |
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, |
