summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2026-03-08 00:55:00 +0100
committerCarl Hetherington <cth@carlh.net>2026-03-08 00:55:00 +0100
commit5211b423bffb59c2001d1f8a97e256a01b447b34 (patch)
treeda0adfd056e015e261697cae1590c84b5cb95248 /src/lib
parente310b50c80eb218ea296483ddfac0859c9c5ab80 (diff)
Require "non-standard" config checkbox to use MPEG2.
Carsten reports that some users were choosing it because it sounded familiar.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/config.cc4
-rw-r--r--src/lib/config.h9
2 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc
index a2469ed8a..b0239b4bb 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -217,6 +217,7 @@ Config::set_defaults()
_auto_crop_threshold = 0.1;
_last_release_notes_version = boost::none;
_allow_smpte_bv20 = false;
+ _allow_mpeg2 = false;
_isdcf_name_part_length = 14;
_enable_player_http_server = false;
_player_http_server_port = 8080;
@@ -657,6 +658,7 @@ try
}
_allow_smpte_bv20 = f.optional_bool_child("AllowSMPTEBv20").get_value_or(false);
+ _allow_mpeg2 = f.optional_bool_child("AllowMPEG2").get_value_or(false);
_isdcf_name_part_length = f.optional_number_child<int>("ISDCFNamePartLength").get_value_or(14);
_enable_player_http_server = f.optional_bool_child("EnablePlayerHTTPServer").get_value_or(false);
_player_http_server_port = f.optional_number_child<int>("PlayerHTTPServerPort").get_value_or(8080);
@@ -1141,6 +1143,8 @@ Config::write_config() const
/* [XML] AllowSMPTEBv20 1 to allow the user to choose SMPTE (Bv2.0 only) as a standard, otherwise 0 */
cxml::add_text_child(root, "AllowSMPTEBv20", _allow_smpte_bv20 ? "1" : "0");
+ /* [XML] AllowMPEG2 1 to allow the user to choose MPEG2 Interop as a standard, otherwise 0 */
+ cxml::add_text_child(root, "AllowMPEG2", _allow_mpeg2 ? "1" : "0");
/* [XML] ISDCFNamePartLength Maximum length of the "name" part of an ISDCF name, which should be 14 according to the standard */
cxml::add_text_child(root, "ISDCFNamePartLength", fmt::to_string(_isdcf_name_part_length));
/* [XML] EnablePlayerHTTPServer 1 to enable a HTTP server to control the player, otherwise 0 */
diff --git a/src/lib/config.h b/src/lib/config.h
index abe97d2d4..e628c840c 100644
--- a/src/lib/config.h
+++ b/src/lib/config.h
@@ -644,6 +644,10 @@ public:
return _allow_smpte_bv20;
}
+ bool allow_mpeg2() const {
+ return _allow_mpeg2;
+ }
+
#ifdef DCPOMATIC_GROK
class Grok
{
@@ -1237,6 +1241,10 @@ public:
maybe_set(_allow_smpte_bv20, allow, ALLOW_SMPTE_BV20);
}
+ void set_allow_mpeg2(bool allow) {
+ maybe_set(_allow_mpeg2, allow, ALLOW_SMPTE_BV20);
+ }
+
#ifdef DCPOMATIC_GROK
void set_grok(Grok const& grok);
#endif
@@ -1502,6 +1510,7 @@ private:
boost::optional<int> _main_content_divider_sash_position;
DefaultAddFileLocation _default_add_file_location;
bool _allow_smpte_bv20;
+ bool _allow_mpeg2;
int _isdcf_name_part_length;
bool _enable_player_http_server;
int _player_http_server_port;