Bump libdcp to get timed text ContainerDuration check (#1963).
authorCarl Hetherington <cth@carlh.net>
Fri, 9 Apr 2021 22:11:40 +0000 (00:11 +0200)
committerCarl Hetherington <cth@carlh.net>
Fri, 9 Apr 2021 22:11:40 +0000 (00:11 +0200)
cscript
doc/bv21.md
src/wx/verify_dcp_dialog.cc

diff --git a/cscript b/cscript
index 58f95dc91bded88f2bd4d403cd2db72201eee68a..04b1a89f4c706065293f1ebedeea8c1f42ac1e6d 100644 (file)
--- a/cscript
+++ b/cscript
@@ -385,8 +385,8 @@ def dependencies(target, options):
         # Use distro-provided FFmpeg on Arch
         deps = []
 
-    deps.append(('libdcp', '4552587'))
-    deps.append(('libsub', '9901351'))
+    deps.append(('libdcp', 'c59e6c0'))
+    deps.append(('libsub', '3fd82fc'))
     deps.append(('leqm-nrt', '131f971'))
     deps.append(('rtaudio', 'f619b76'))
     # We get our OpenSSL libraries from the environment, but we
index 3b4821e19171c9b38037d0f083bf1128afe7696d..ce4f17d7ab260292904cb1366bc91ce9733bb8f6 100644 (file)
@@ -9,7 +9,6 @@ Don't have access to SMPTE ST 429-19 so I don't know what that requires.
 # 6.2 XML Constraints
 
 - Create: should mostly meet these constraints.
-TODO#1950: can languages from imported things get into the output?
 - Verify: yes.
 - Hint: probably not required.
 
@@ -33,13 +32,13 @@ We don't warn specifically about non-24fps 3D; maybe we should.
 
 - Create: TODO#1952
 - Verify: yes.
-- Hint: TODO#1953
+- Hint: yes.
 
 # 7.2.2 Language Element
 
 - Create: not enforced.
 - Verify: yes.
-- Hint: TODO#1954
+- Hint: yes.
 
 # 7.2.3 StartTime Element
 
@@ -176,7 +175,7 @@ We don't warn specifically about non-24fps 3D; maybe we should.
 # 10.2.1 JPEG2000 Compression
 
 - Create: yes.
-- Verify: TODO#1958 done but nobody is calling it AFAICS!
+- Verify: yes.
 - Hint: n/a.
 
 # 10.3 Sound Track Files
@@ -210,14 +209,14 @@ This is difficult to be sure about because I'm lacking some of the standards.
 
 # 10.4.2 Resource ID
 
-- Create: TODO#1962 check
-- Verify: TODO#1962 check
+- Create: yes.
+- Verify: yes.
 - Hint: n/a.
 
 # 10.4.3 Container Duration
 
 - Create: TODO#1963 check
-- Verify; TODO#1963 check
+- Verify; yes.
 - Hint: n/a.
 
 # Annex A Sign Language Video Encoding
index f39f6fa3bc0a22597d64b1dfafe08ad15b427c4c..1c70e5e0d3baabf47524066248afb2e4dd8fb7c4 100644 (file)
 
 */
 
+
 #include "verify_dcp_dialog.h"
 #include "wx_util.h"
 #include "lib/verify_dcp_job.h"
 #include "lib/warnings.h"
 #include <dcp/verify.h>
 #include <dcp/raw_convert.h>
+#include <boost/algorithm/string.hpp>
 DCPOMATIC_DISABLE_WARNINGS
 #include <wx/richtext/richtextctrl.h>
 #include <wx/notebook.h>
 DCPOMATIC_ENABLE_WARNINGS
 
+
 using std::list;
 using std::map;
 using std::shared_ptr;
 using std::string;
+using std::vector;
+
 
 VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, shared_ptr<VerifyDCPJob> job)
        : wxDialog (parent, wxID_ANY, _("DCP verification"), wxDefaultPosition, {600, 400})
@@ -344,6 +349,13 @@ VerifyDCPDialog::VerifyDCPDialog (wxWindow* parent, shared_ptr<VerifyDCPJob> job
                case dcp::VerificationNote::Code::INCORRECT_TIMED_TEXT_ASSET_ID:
                        add(i, _("The Asset ID in a timed text MXF is the same as the Resource ID or that of the contained XML."));
                        break;
+               case dcp::VerificationNote::Code::MISMATCHED_TIMED_TEXT_DURATION:
+               {
+                       vector<string> parts;
+                       boost::split (parts, i.note().get(), boost::is_any_of(" "));
+                       add(i, wxString::Format(_("The reel duration (%s) of some timed text is not the same as the ContainerDuration (%s) of its MXF."), std_to_wx(parts[0]), std_to_wx(parts[1])));
+                       break;
+               }
                }
        }