Fix to allow re-writing of SMPTE subtitles.
[libdcp.git] / src / exceptions.h
index cd4f5fbbd504a128b837b35868fe1e1881478ea8..76a66808d3a83caa524576081380e8b9913b1382 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2019 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2020 Carl Hetherington <cth@carlh.net>
 
     This file is part of libdcp.
 
@@ -121,6 +121,18 @@ private:
 };
 
 
+/** @class J2KDecompressionError
+ *  @brief An error that occurs during decompression of JPEG2000 data.
+ */
+class J2KDecompressionError : public ReadError
+{
+public:
+       explicit J2KDecompressionError (std::string message)
+               : ReadError (message)
+       {}
+};
+
+
 class BadContentKindError : public ReadError
 {
 public:
@@ -218,6 +230,7 @@ class StartCompressionError : public std::runtime_error
 {
 public:
        explicit StartCompressionError (boost::optional<int> code = boost::optional<int>());
+       ~StartCompressionError () throw () {}
 
        boost::optional<int> code () const {
                return _code;
@@ -227,6 +240,55 @@ private:
        boost::optional<int> _code;
 };
 
+
+class CombineError : public std::runtime_error
+{
+public:
+       explicit CombineError (std::string message);
+};
+
+
+class LanguageTagError : public std::runtime_error
+{
+public:
+       LanguageTagError (std::string message);
+};
+
+
+class BadSettingError : public std::runtime_error
+{
+public:
+       BadSettingError (std::string message);
+};
+
+
+class DuplicateIdError : public std::runtime_error
+{
+public:
+       DuplicateIdError (std::string message);
+};
+
+
+class MainSoundConfigurationError : public std::runtime_error
+{
+public:
+       MainSoundConfigurationError (std::string s);
+};
+
+
+class UnknownChannelIdError : public std::runtime_error
+{
+public:
+       UnknownChannelIdError (std::string s);
+};
+
+
+class NoReelsError : public std::runtime_error
+{
+public:
+       NoReelsError ();
+};
+
 }
 
 #endif