summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2022-09-03 14:49:25 +0200
committerCarl Hetherington <cth@carlh.net>2022-09-03 14:49:25 +0200
commit421563caf2d104b67e2ccf6f657aab829afb7cde (patch)
treef52d98795b632ff6d8c49f9cbffbd8fafe19448f
parent34eb57979b5293ac3b864310f8fc8c77c26343e2 (diff)
Bump libdcp for better ContentKind support.
-rw-r--r--cscript4
-rw-r--r--src/lib/dcp_content.cc4
-rw-r--r--src/lib/dcp_content.h1
-rw-r--r--src/lib/dcp_content_type.cc6
-rw-r--r--src/lib/dcp_content_type.h1
-rw-r--r--src/lib/dcp_examiner.h5
-rw-r--r--src/lib/ffmpeg_decoder.cc3
-rw-r--r--src/lib/log_entry.cc1
-rw-r--r--src/lib/spl_entry.h4
-rw-r--r--src/tools/dcpomatic_playlist.cc2
-rw-r--r--src/wx/content_view.cc2
11 files changed, 21 insertions, 12 deletions
diff --git a/cscript b/cscript
index 475a67aae..4363f5a64 100644
--- a/cscript
+++ b/cscript
@@ -427,8 +427,8 @@ def dependencies(target, options):
# Use distro-provided FFmpeg on Arch
deps = []
- deps.append(('libdcp', 'v1.8.25'))
- deps.append(('libsub', 'v1.6.28'))
+ deps.append(('libdcp', '1d13ce8be4df51e85b7222a7c9d357366c841a89'))
+ deps.append(('libsub', '40d51bff005f7e8c53ef7b815a2714927473bd03'))
deps.append(('leqm-nrt', '93ae9e6'))
deps.append(('rtaudio', 'f619b76'))
# We get our OpenSSL libraries from the environment, but we
diff --git a/src/lib/dcp_content.cc b/src/lib/dcp_content.cc
index 62b74be90..193c9995a 100644
--- a/src/lib/dcp_content.cc
+++ b/src/lib/dcp_content.cc
@@ -148,7 +148,7 @@ DCPContent::DCPContent (cxml::ConstNodePtr node, int version)
auto ck = node->optional_string_child("ContentKind");
if (ck) {
- _content_kind = dcp::content_kind_from_string (*ck);
+ _content_kind = dcp::ContentKind::from_name(*ck);
}
_cpl = node->optional_string_child("CPL");
for (auto i: node->node_children("ReelLength")) {
@@ -388,7 +388,7 @@ DCPContent::as_xml (xmlpp::Node* node, bool with_paths) const
}
node->add_child("ThreeD")->add_child_text (_three_d ? "1" : "0");
if (_content_kind) {
- node->add_child("ContentKind")->add_child_text(dcp::content_kind_to_string(*_content_kind));
+ node->add_child("ContentKind")->add_child_text(_content_kind->name());
}
if (_cpl) {
node->add_child("CPL")->add_child_text (_cpl.get ());
diff --git a/src/lib/dcp_content.h b/src/lib/dcp_content.h
index 1b73e8fc7..efdfe30f7 100644
--- a/src/lib/dcp_content.h
+++ b/src/lib/dcp_content.h
@@ -31,6 +31,7 @@
#include "content.h"
#include "font.h"
#include <libcxml/cxml.h>
+#include <dcp/content_kind.h>
#include <dcp/encrypted_kdm.h>
#include <dcp/rating.h>
diff --git a/src/lib/dcp_content_type.cc b/src/lib/dcp_content_type.cc
index f3cd02e9f..ce54ce01c 100644
--- a/src/lib/dcp_content_type.cc
+++ b/src/lib/dcp_content_type.cc
@@ -58,8 +58,12 @@ DCPContentType::setup_dcp_content_types ()
DCPContentType(_("Policy"), dcp::ContentKind::POLICY, N_("POL")),
DCPContentType(_("Public Service Announcement"), dcp::ContentKind::PUBLIC_SERVICE_ANNOUNCEMENT, N_("PSA")),
DCPContentType(_("Advertisement"), dcp::ContentKind::ADVERTISEMENT, N_("ADV")),
+ DCPContentType(_("Clip"), dcp::ContentKind::CLIP, N_("CLP")),
+ DCPContentType(_("Promo"), dcp::ContentKind::PROMO, N_("PRO")),
+ DCPContentType(_("Stereo card"), dcp::ContentKind::STEREOCARD, N_("STR")),
DCPContentType(_("Episode"), dcp::ContentKind::EPISODE, N_("EPS")),
- DCPContentType(_("Promo"), dcp::ContentKind::PROMO, N_("PRO"))
+ DCPContentType(_("Highlights"), dcp::ContentKind::HIGHLIGHTS, N_("HLT")),
+ DCPContentType(_("Event"), dcp::ContentKind::EVENT, N_("EVT")),
};
}
diff --git a/src/lib/dcp_content_type.h b/src/lib/dcp_content_type.h
index 117ff3b16..f08db883a 100644
--- a/src/lib/dcp_content_type.h
+++ b/src/lib/dcp_content_type.h
@@ -28,6 +28,7 @@
*/
+#include <dcp/content_kind.h>
#include <dcp/dcp.h>
#include <string>
#include <vector>
diff --git a/src/lib/dcp_examiner.h b/src/lib/dcp_examiner.h
index ac4380597..6b88a3c0d 100644
--- a/src/lib/dcp_examiner.h
+++ b/src/lib/dcp_examiner.h
@@ -131,7 +131,8 @@ public:
}
dcp::ContentKind content_kind () const {
- return _content_kind;
+ DCPOMATIC_ASSERT(_content_kind);
+ return *_content_kind;
}
std::string cpl () const {
@@ -194,7 +195,7 @@ private:
bool _kdm_valid = false;
boost::optional<dcp::Standard> _standard;
bool _three_d = false;
- dcp::ContentKind _content_kind;
+ boost::optional<dcp::ContentKind> _content_kind;
std::string _cpl;
std::list<int64_t> _reel_lengths;
std::map<dcp::Marker, dcp::Time> _markers;
diff --git a/src/lib/ffmpeg_decoder.cc b/src/lib/ffmpeg_decoder.cc
index 82eccb576..331ab313d 100644
--- a/src/lib/ffmpeg_decoder.cc
+++ b/src/lib/ffmpeg_decoder.cc
@@ -791,7 +791,8 @@ FFmpegDecoder::process_ass_subtitle (string ass, ContentTime from)
base,
text,
_ffmpeg_content->video->size().width,
- _ffmpeg_content->video->size().height
+ _ffmpeg_content->video->size().height,
+ sub::Colour(1, 1, 1)
);
for (auto const& i: sub::collect<vector<sub::Subtitle>>(raw)) {
diff --git a/src/lib/log_entry.cc b/src/lib/log_entry.cc
index 2980e438b..d5065e03a 100644
--- a/src/lib/log_entry.cc
+++ b/src/lib/log_entry.cc
@@ -22,6 +22,7 @@
#include "log_entry.h"
#include <inttypes.h>
#include <cstdio>
+#include <ctime>
#include "i18n.h"
diff --git a/src/lib/spl_entry.h b/src/lib/spl_entry.h
index b2977c8aa..6fa3dd32c 100644
--- a/src/lib/spl_entry.h
+++ b/src/lib/spl_entry.h
@@ -24,7 +24,7 @@
#include <libcxml/cxml.h>
-#include <dcp/types.h>
+#include <dcp/content_kind.h>
namespace xmlpp {
@@ -47,7 +47,7 @@ public:
std::string digest;
/** CPL ID */
std::string id;
- dcp::ContentKind kind;
+ boost::optional<dcp::ContentKind> kind;
bool encrypted;
private:
diff --git a/src/tools/dcpomatic_playlist.cc b/src/tools/dcpomatic_playlist.cc
index dea8e81d5..c327a8603 100644
--- a/src/tools/dcpomatic_playlist.cc
+++ b/src/tools/dcpomatic_playlist.cc
@@ -360,7 +360,7 @@ private:
{
_list->SetItem (N, 0, std_to_wx(e.name));
_list->SetItem (N, 1, std_to_wx(e.id));
- _list->SetItem (N, 2, std_to_wx(dcp::content_kind_to_string(e.kind)));
+ _list->SetItem (N, 2, std_to_wx(e.kind->name()));
_list->SetItem (N, 3, e.encrypted ? S_("Question|Y") : S_("Question|N"));
}
diff --git a/src/wx/content_view.cc b/src/wx/content_view.cc
index 95b481e0b..468b3bf97 100644
--- a/src/wx/content_view.cc
+++ b/src/wx/content_view.cc
@@ -155,7 +155,7 @@ ContentView::add (shared_ptr<Content> content)
if (dcp && dcp->content_kind()) {
it.SetId(N);
it.SetColumn(1);
- it.SetText(std_to_wx(dcp::content_kind_to_string(*dcp->content_kind())));
+ it.SetText(std_to_wx(dcp->content_kind()->name()));
SetItem(it);
}