Merge master; specify libdcp-1.0.
authorCarl Hetherington <cth@carlh.net>
Mon, 24 Feb 2014 12:19:50 +0000 (12:19 +0000)
committerCarl Hetherington <cth@carlh.net>
Mon, 24 Feb 2014 12:19:50 +0000 (12:19 +0000)
20 files changed:
1  2 
cscript
src/lib/analyse_audio_job.cc
src/lib/analyse_audio_job.h
src/lib/content.cc
src/lib/content.h
src/lib/ffmpeg_content.cc
src/lib/ffmpeg_content.h
src/lib/ffmpeg_decoder.cc
src/lib/ffmpeg_examiner.cc
src/lib/ffmpeg_examiner.h
src/lib/film.cc
src/lib/film.h
src/lib/job.cc
src/lib/transcode_job.cc
src/lib/util.cc
src/lib/util.h
src/lib/wscript
src/wx/audio_mapping_view.cc
test/stream_test.cc
wscript

diff --cc cscript
index d6a04aba6e2ae9797a04d75346ee1d9d94d01d19,14e3347a19703ddf1a125a39a8b85ca2164fb91a..b8b0580063ee0490652cd2c8e0b0132360bcf349
+++ b/cscript
@@@ -129,8 -129,8 +129,8 @@@ def make_control(debian_version, bits, 
          print >>f,''
  
  def dependencies(target):
-     return (('ffmpeg-cdist', '5ac3a6af077c10f07c31954c372a8f29e4e18e2a'),
+     return (('ffmpeg-cdist', '08827fa4e1d483511e6135c424d2ca9c56a9ed50'),
 -            ('libdcp', '5839998'))
 +            ('libdcp', '1.0'))
  
  def build(target, options):
      cmd = './waf configure --prefix=%s' % target.work_dir_cscript()
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc src/lib/film.cc
index 774c1b392c715c7da834d6b0dd0dce1886477cd1,1d07ec77f4a0ff50ebc105970709cde687c29099..901c512844c9da3585c74fe5149c3a2e1df2b702
@@@ -420,8 -426,8 +426,8 @@@ Film::read_metadata (
        _sequence_video = f.bool_child ("SequenceVideo");
        _three_d = f.bool_child ("ThreeD");
        _interop = f.bool_child ("Interop");
 -      _key = libdcp::Key (f.string_child ("Key"));
 +      _key = dcp::Key (f.string_child ("Key"));
-       _playlist->set_from_xml (shared_from_this(), f.node_child ("Playlist"), version);
+       _playlist->set_from_xml (shared_from_this(), f.node_child ("Playlist"), _state_version);
  
        _dirty = false;
  }
diff --cc src/lib/film.h
index 68916c7b097202509ab77e8f832d416b7ff42c72,7e65ecb16346107efe63da496176f5cf2f014adf..0a474bab7f91b52b530cf12cb261da437e22f545
@@@ -323,8 -327,10 +328,10 @@@ private
        bool _three_d;
        bool _sequence_video;
        bool _interop;
 -      libdcp::Key _key;
 +      dcp::Key _key;
  
+       int _state_version;
        /** true if our state has changed since we last saved it */
        mutable bool _dirty;
  
diff --cc src/lib/job.cc
Simple merge
Simple merge
diff --cc src/lib/util.cc
index fd3a318b03419c043787db235f990efc638f3729,25fbc130b1be445a3e71df42459f4433970568e1..63b1a5395f23ac6036cc35a93b55ce0849451f2f
@@@ -939,24 -940,63 +943,70 @@@ make_signer (
        boost::filesystem::path signer_key (sd);
        signer_key /= "leaf.key";
  
 -      return shared_ptr<const libdcp::Signer> (new libdcp::Signer (chain, signer_key));
 +      return shared_ptr<const dcp::Signer> (new dcp::Signer (chain, signer_key));
  }
  
- dcp::Size
- fit_ratio_within (float ratio, dcp::Size full_frame)
+ map<string, string>
+ split_get_request (string url)
+ {
+       enum {
+               AWAITING_QUESTION_MARK,
+               KEY,
+               VALUE
+       } state = AWAITING_QUESTION_MARK;
+       
+       map<string, string> r;
+       string k;
+       string v;
+       for (size_t i = 0; i < url.length(); ++i) {
+               switch (state) {
+               case AWAITING_QUESTION_MARK:
+                       if (url[i] == '?') {
+                               state = KEY;
+                       }
+                       break;
+               case KEY:
+                       if (url[i] == '=') {
+                               v.clear ();
+                               state = VALUE;
+                       } else {
+                               k += url[i];
+                       }
+                       break;
+               case VALUE:
+                       if (url[i] == '&') {
+                               r.insert (make_pair (k, v));
+                               k.clear ();
+                               state = KEY;
+                       } else {
+                               v += url[i];
+                       }
+                       break;
+               }
+       }
+       if (state == VALUE) {
+               r.insert (make_pair (k, v));
+       }
+       return r;
+ }
+ libdcp::Size
+ fit_ratio_within (float ratio, libdcp::Size full_frame)
  {
        if (ratio < full_frame.ratio ()) {
 -              return libdcp::Size (rint (full_frame.height * ratio), full_frame.height);
 +              return dcp::Size (rint (full_frame.height * ratio), full_frame.height);
        }
        
 -      return libdcp::Size (full_frame.width, rint (full_frame.width / ratio));
 +      return dcp::Size (full_frame.width, rint (full_frame.width / ratio));
 +}
 +
 +DCPTime
 +time_round_up (DCPTime t, DCPTime nearest)
 +{
 +      DCPTime const a = t + nearest - 1;
 +      return a - (a % nearest);
  }
  
  void *
diff --cc src/lib/util.h
index b89c71eee096de3092ef5b7217892f271088a863,ef29cc08f27f3ff411d74904b99632d70548cda1..76dbda190d7b2960c335014cc56626085c816f15
@@@ -77,12 -76,14 +77,14 @@@ extern bool valid_image_file (boost::fi
  extern boost::filesystem::path mo_path ();
  #endif
  extern std::string tidy_for_filename (std::string);
 -extern boost::shared_ptr<const libdcp::Signer> make_signer ();
 -extern libdcp::Size fit_ratio_within (float ratio, libdcp::Size);
 +extern boost::shared_ptr<const dcp::Signer> make_signer ();
 +extern dcp::Size fit_ratio_within (float ratio, dcp::Size);
+ extern std::string entities_to_text (std::string e);
+ extern std::map<std::string, std::string> split_get_request (std::string url);
  
 -struct FrameRateConversion
 +struct FrameRateChange
  {
 -      FrameRateConversion (float, int);
 +      FrameRateChange (float, int);
  
        /** @return factor by which to multiply a source frame rate
            to get the effective rate after any skip or repeat has happened.
diff --cc src/lib/wscript
Simple merge
Simple merge
Simple merge
diff --cc wscript
index ebf444c8f6dc1566b7f51ab6c58bd91a4c66b483,64616eb73266c5306ddcd37f201dadc289e8c990..708e48910977ceb7c68017281e735b5293bb4eb9
+++ b/wscript
@@@ -55,9 -55,9 +55,9 @@@ def dynamic_openjpeg(conf)
      conf.check_cfg(package='libopenjpeg', args='--cflags --libs', max_version='1.5.1', mandatory=True)
  
  def static_dcp(conf, static_boost, static_xmlpp, static_xmlsec, static_ssh):
--    conf.check_cfg(package='libdcp', atleast_version='0.92', args='--cflags', uselib_store='DCP', mandatory=True)
++    conf.check_cfg(package='libdcp-1.0', atleast_version='0.92', args='--cflags', uselib_store='DCP', mandatory=True)
      conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP]
--    conf.env.STLIB_DCP = ['dcp', 'asdcp-libdcp', 'kumu-libdcp']
++    conf.env.STLIB_DCP = ['dcp-1.0', 'asdcp-libdcp', 'kumu-libdcp']
      conf.env.LIB_DCP = ['glibmm-2.4', 'ssl', 'crypto', 'bz2', 'xslt']
  
      if static_boost:
@@@ -81,7 -81,7 +81,7 @@@
          conf.env.LIB_DCP.append('ssh')
  
  def dynamic_dcp(conf):
--    conf.check_cfg(package='libdcp', atleast_version='0.92', args='--cflags --libs', uselib_store='DCP', mandatory=True)
++    conf.check_cfg(package='libdcp-1.0', atleast_version='0.92', args='--cflags --libs', uselib_store='DCP', mandatory=True)
      conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP]
  
  def dynamic_ssh(conf):