+class NetworkError : public std::runtime_error
+{
+public:
+ explicit NetworkError (std::string s)
+ : std::runtime_error (s)
+ {}
+};
+
+/** @class KDMError
+ * @brief A problem with a KDM.
+ */
+class KDMError : public std::runtime_error
+{
+public:
+ KDMError (std::string s, std::string d);
+ ~KDMError () throw() {}
+
+ std::string summary () const {
+ return _summary;
+ }
+
+ std::string detail () const {
+ return _detail;
+ }
+
+private:
+ std::string _summary;
+ std::string _detail;
+};
+
+/** @class PixelFormatError
+ * @brief A problem with an unsupported pixel format.
+ */
+class PixelFormatError : public std::runtime_error
+{
+public:
+ PixelFormatError (std::string o, AVPixelFormat f);
+};
+
+/** @class TextSubtitleError
+ * @brief An error that occurs while parsing a TextSubtitleError file.
+ */
+class TextSubtitleError : public FileError