Do audio/video pts sync in a hopefully much more sensible way.
[dcpomatic.git] / src / lib / config.cc
index 92044d81a57764b9072691ca00a6ef9e54739296..44d110689352e5b81c92305bceb078690c608182 100644 (file)
@@ -27,6 +27,7 @@
 #include "scaler.h"
 #include "screen.h"
 #include "filter.h"
+#include "sound_processor.h"
 
 using namespace std;
 using namespace boost;
@@ -41,6 +42,7 @@ Config::Config ()
        , _j2k_bandwidth (250000000)
        , _reference_scaler (Scaler::from_id ("bicubic"))
        , _tms_path (".")
+       , _sound_processor (SoundProcessor::from_id ("dolby_cp750"))
 {
        ifstream f (file().c_str ());
        string line;
@@ -74,7 +76,7 @@ Config::Config ()
                } else if (k == "reference_filter") {
                        _reference_filters.push_back (Filter::from_id (v));
                } else if (k == "server") {
-                       _servers.push_back (Server::create_from_metadata (v));
+                       _servers.push_back (ServerDescription::create_from_metadata (v));
                } else if (k == "screen") {
                        _screens.push_back (Screen::create_from_metadata (v));
                } else if (k == "tms_ip") {
@@ -85,6 +87,8 @@ Config::Config ()
                        _tms_user = v;
                } else if (k == "tms_password") {
                        _tms_password = v;
+               } else if (k == "sound_processor") {
+                       _sound_processor = SoundProcessor::from_id (v);
                }
        }
 
@@ -127,7 +131,7 @@ Config::write () const
                f << "reference_filter " << (*i)->id () << "\n";
        }
        
-       for (vector<Server*>::const_iterator i = _servers.begin(); i != _servers.end(); ++i) {
+       for (vector<ServerDescription*>::const_iterator i = _servers.begin(); i != _servers.end(); ++i) {
                f << "server " << (*i)->as_metadata () << "\n";
        }
 
@@ -139,4 +143,5 @@ Config::write () const
        f << "tms_path " << _tms_path << "\n";
        f << "tms_user " << _tms_user << "\n";
        f << "tms_password " << _tms_password << "\n";
+       f << "sound_processor " << _sound_processor->id ();
 }