summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2022-06-07 12:36:40 +0200
committerCarl Hetherington <cth@carlh.net>2022-06-07 12:36:40 +0200
commit6a3c03c5eed3cab8fdfdb04fcbaf6cabe8c715e9 (patch)
tree8b5a7a47aff2a066f304c6bd31c2780c6f92ca98 /src/lib
parentfcba100f0dfd1d4214291abb76f22ebd696c24d4 (diff)
Fix incorrect extension on interop subtitle files (#2270).
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/reel_writer.cc4
-rw-r--r--src/lib/util.cc14
-rw-r--r--src/lib/util.h2
3 files changed, 10 insertions, 10 deletions
diff --git a/src/lib/reel_writer.cc b/src/lib/reel_writer.cc
index d64cfb81a..2f28ef9d4 100644
--- a/src/lib/reel_writer.cc
+++ b/src/lib/reel_writer.cc
@@ -484,7 +484,7 @@ maybe_add_text (
if (auto interop = dynamic_pointer_cast<dcp::InteropSubtitleAsset>(asset)) {
auto directory = output_dcp / interop->id ();
boost::filesystem::create_directories (directory);
- interop->write (directory / subtitle_asset_filename(asset, reel_index, reel_count, content_summary));
+ interop->write (directory / subtitle_asset_filename(asset, reel_index, reel_count, content_summary, ".xml"));
reel_asset = make_shared<Interop> (
interop,
dcp::Fraction(film->video_frame_rate(), 1),
@@ -499,7 +499,7 @@ maybe_add_text (
*/
smpte->set_intrinsic_duration(picture_duration);
smpte->write (
- output_dcp / subtitle_asset_filename(asset, reel_index, reel_count, content_summary)
+ output_dcp / subtitle_asset_filename(asset, reel_index, reel_count, content_summary, ".mxf")
);
reel_asset = make_shared<SMPTE> (
smpte,
diff --git a/src/lib/util.cc b/src/lib/util.cc
index 2c38257b4..79730d347 100644
--- a/src/lib/util.cc
+++ b/src/lib/util.cc
@@ -708,7 +708,7 @@ split_get_request (string url)
static
string
-asset_filename (shared_ptr<dcp::Asset> asset, string type, int reel_index, int reel_count, optional<string> summary)
+asset_filename (shared_ptr<dcp::Asset> asset, string type, int reel_index, int reel_count, optional<string> summary, string extension)
{
dcp::NameFormat::Map values;
values['t'] = type;
@@ -717,35 +717,35 @@ asset_filename (shared_ptr<dcp::Asset> asset, string type, int reel_index, int r
if (summary) {
values['c'] = careful_string_filter(summary.get());
}
- return Config::instance()->dcp_asset_filename_format().get(values, "_" + asset->id() + ".mxf");
+ return Config::instance()->dcp_asset_filename_format().get(values, "_" + asset->id() + extension);
}
string
video_asset_filename (shared_ptr<dcp::PictureAsset> asset, int reel_index, int reel_count, optional<string> summary)
{
- return asset_filename(asset, "j2c", reel_index, reel_count, summary);
+ return asset_filename(asset, "j2c", reel_index, reel_count, summary, ".mxf");
}
string
audio_asset_filename (shared_ptr<dcp::SoundAsset> asset, int reel_index, int reel_count, optional<string> summary)
{
- return asset_filename(asset, "pcm", reel_index, reel_count, summary);
+ return asset_filename(asset, "pcm", reel_index, reel_count, summary, ".mxf");
}
string
-subtitle_asset_filename (shared_ptr<dcp::SubtitleAsset> asset, int reel_index, int reel_count, optional<string> summary)
+subtitle_asset_filename (shared_ptr<dcp::SubtitleAsset> asset, int reel_index, int reel_count, optional<string> summary, string extension)
{
- return asset_filename(asset, "sub", reel_index, reel_count, summary);
+ return asset_filename(asset, "sub", reel_index, reel_count, summary, extension);
}
string
atmos_asset_filename (shared_ptr<dcp::AtmosAsset> asset, int reel_index, int reel_count, optional<string> summary)
{
- return asset_filename(asset, "atmos", reel_index, reel_count, summary);
+ return asset_filename(asset, "atmos", reel_index, reel_count, summary, ".mxf");
}
diff --git a/src/lib/util.h b/src/lib/util.h
index cd5a1c2c5..5878d5937 100644
--- a/src/lib/util.h
+++ b/src/lib/util.h
@@ -108,7 +108,7 @@ extern void set_backtrace_file (boost::filesystem::path);
extern std::map<std::string, std::string> split_get_request (std::string url);
extern std::string video_asset_filename (std::shared_ptr<dcp::PictureAsset> asset, int reel_index, int reel_count, boost::optional<std::string> content_summary);
extern std::string audio_asset_filename (std::shared_ptr<dcp::SoundAsset> asset, int reel_index, int reel_count, boost::optional<std::string> content_summary);
-extern std::string subtitle_asset_filename (std::shared_ptr<dcp::SubtitleAsset> asset, int reel_index, int reel_count, boost::optional<std::string> content_summary);
+extern std::string subtitle_asset_filename (std::shared_ptr<dcp::SubtitleAsset> asset, int reel_index, int reel_count, boost::optional<std::string> content_summary, std::string extension);
extern std::string atmos_asset_filename (std::shared_ptr<dcp::AtmosAsset> asset, int reel_index, int reel_count, boost::optional<std::string> content_summary);
extern float relaxed_string_to_float (std::string);
extern std::string careful_string_filter (std::string);