_server_port_base = 6192;
_use_any_servers = true;
_servers.clear ();
+ _only_servers_encode = false;
_tms_protocol = PROTOCOL_SCP;
_tms_ip = "";
_tms_path = ".";
}
}
+ _only_servers_encode = f.optional_bool_child ("OnlyServersEncode").get_value_or (false);
_tms_protocol = static_cast<Protocol> (f.optional_number_child<int> ("TMSProtocol").get_value_or (static_cast<int> (PROTOCOL_SCP)));
_tms_ip = f.string_child ("TMSIP");
_tms_path = f.string_child ("TMSPath");
root->add_child("Server")->add_child_text (*i);
}
+ root->add_child("OnlyServersEncode")->add_child_text (_only_servers_encode ? "1" : "0");
root->add_child("TMSProtocol")->add_child_text (raw_convert<string> (_tms_protocol));
root->add_child("TMSIP")->add_child_text (_tms_ip);
root->add_child("TMSPath")->add_child_text (_tms_path);
return _servers;
}
+ bool only_servers_encode () const {
+ return _only_servers_encode;
+ }
+
Protocol tms_protocol () const {
return _tms_protocol;
}
maybe_set (_server_port_base, p);
}
+ void set_only_servers_encode (bool o) {
+ maybe_set (_only_servers_encode, o);
+ }
+
void set_tms_protocol (Protocol p) {
maybe_set (_tms_protocol, p);
}
bool _use_any_servers;
/** J2K encoding servers that should definitely be used */
std::vector<std::string> _servers;
+ bool _only_servers_encode;
Protocol _tms_protocol;
/** The IP address of a TMS that we can copy DCPs to */
std::string _tms_ip;
void
Encoder::begin ()
{
- for (int i = 0; i < Config::instance()->num_local_encoding_threads (); ++i) {
- _threads.push_back (new boost::thread (boost::bind (&Encoder::encoder_thread, this, optional<ServerDescription> ())));
+ if (!Config::instance()->only_servers_encode ()) {
+ for (int i = 0; i < Config::instance()->num_local_encoding_threads (); ++i) {
+ _threads.push_back (new boost::thread (boost::bind (&Encoder::encoder_thread, this, optional<ServerDescription> ())));
+ }
}
_writer->set_encoder_threads (_threads.size ());
LOG_GENERAL ("Content: %1", i->technical_summary());
}
LOG_GENERAL ("DCP video rate %1 fps", video_frame_rate());
- LOG_GENERAL ("%1 threads", Config::instance()->num_local_encoding_threads());
+ if (Config::instance()->only_servers_encode ()) {
+ LOG_GENERAL_NC ("0 threads: ONLY SERVERS SET TO ENCODE");
+ } else {
+ LOG_GENERAL ("%1 threads", Config::instance()->num_local_encoding_threads());
+ }
LOG_GENERAL ("J2K bandwidth %1", j2k_bandwidth());
if (container() == 0) {
: StockPage (Kind_Advanced, panel_size, border)
, _maximum_j2k_bandwidth (0)
, _allow_any_dcp_frame_rate (0)
+ , _only_servers_encode (0)
, _log_general (0)
, _log_warning (0)
, _log_error (0)
table->Add (_allow_any_dcp_frame_rate, 1, wxEXPAND | wxALL);
table->AddSpacer (0);
+ _only_servers_encode = new wxCheckBox (_panel, wxID_ANY, _("Only servers encode"));
+ table->Add (_only_servers_encode, 1, wxEXPAND | wxALL);
+ table->AddSpacer (0);
+
#ifdef __WXOSX__
wxStaticText* m = new wxStaticText (_panel, wxID_ANY, _("Log:"));
table->Add (m, 0, wxALIGN_TOP | wxLEFT | wxRIGHT | wxEXPAND | wxALL | wxALIGN_RIGHT, 6);
_maximum_j2k_bandwidth->SetRange (1, 1000);
_maximum_j2k_bandwidth->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&AdvancedPage::maximum_j2k_bandwidth_changed, this));
_allow_any_dcp_frame_rate->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&AdvancedPage::allow_any_dcp_frame_rate_changed, this));
+ _only_servers_encode->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&AdvancedPage::only_servers_encode_changed, this));
_log_general->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&AdvancedPage::log_changed, this));
_log_warning->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&AdvancedPage::log_changed, this));
_log_error->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&AdvancedPage::log_changed, this));
checked_set (_maximum_j2k_bandwidth, config->maximum_j2k_bandwidth() / 1000000);
checked_set (_allow_any_dcp_frame_rate, config->allow_any_dcp_frame_rate ());
+ checked_set (_only_servers_encode, config->only_servers_encode ());
checked_set (_log_general, config->log_types() & Log::TYPE_GENERAL);
checked_set (_log_warning, config->log_types() & Log::TYPE_WARNING);
checked_set (_log_error, config->log_types() & Log::TYPE_ERROR);
Config::instance()->set_allow_any_dcp_frame_rate (_allow_any_dcp_frame_rate->GetValue ());
}
+ void only_servers_encode_changed ()
+ {
+ Config::instance()->set_only_servers_encode (_only_servers_encode->GetValue ());
+ }
+
void log_changed ()
{
int types = 0;
wxSpinCtrl* _maximum_j2k_bandwidth;
wxCheckBox* _allow_any_dcp_frame_rate;
+ wxCheckBox* _only_servers_encode;
wxCheckBox* _log_general;
wxCheckBox* _log_warning;
wxCheckBox* _log_error;