};
+/** @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:
delete reinterpret_cast<ReadBuffer*>(data);
}
+
+static void
+decompress_error_callback (char const * msg, void *)
+{
+ throw J2KDecompressionError (msg);
+}
+
+
static void
-error_callback (char const * msg, void *)
+compress_error_callback (char const * msg, void *)
{
throw MiscError (msg);
}
throw MiscError ("could not create JPEG2000 stream");
}
- opj_set_error_handler(decoder, error_callback, 00);
+ opj_set_error_handler(decoder, decompress_error_callback, 00);
opj_stream_set_read_function (stream, read_function);
ReadBuffer* buffer = new ReadBuffer (data, size);
throw MiscError ("could not create JPEG2000 encoder");
}
- opj_set_error_handler (encoder, error_callback, 0);
+ opj_set_error_handler (encoder, compress_error_callback, 0);
/* Set encoding parameters to default values */
opj_cparameters_t parameters;