summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2012-10-21 20:19:52 +0100
committerCarl Hetherington <cth@carlh.net>2012-10-21 20:19:52 +0100
commitd3f1e0827be04befcc7dbcaa4f7820ca278770e0 (patch)
tree8ded73d703304d674ef3d99befd9e4de4271ee63 /src/lib
parentd4f0ddf3b0458110db86a1a18a4d1cce2499fa3e (diff)
Bit more error checking; remove a believed-pointless free().
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/dcp_video_frame.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/lib/dcp_video_frame.cc b/src/lib/dcp_video_frame.cc
index 24bf2173c..916a57bc8 100644
--- a/src/lib/dcp_video_frame.cc
+++ b/src/lib/dcp_video_frame.cc
@@ -142,7 +142,6 @@ DCPVideoFrame::~DCPVideoFrame ()
if (_parameters) {
free (_parameters->cp_comment);
- free (_parameters->cp_matrice);
}
delete _parameters;
@@ -276,6 +275,9 @@ DCPVideoFrame::encode_locally ()
/* get a J2K compressor handle */
_cinfo = opj_create_compress (CODEC_J2K);
+ if (_cinfo == 0) {
+ throw EncodeError ("could not create JPEG2000 encoder");
+ }
/* Set event manager to null (openjpeg 1.3 bug) */
_cinfo->event_mgr = 0;
@@ -284,10 +286,13 @@ DCPVideoFrame::encode_locally ()
opj_setup_encoder (_cinfo, _parameters, _image);
_cio = opj_cio_open ((opj_common_ptr) _cinfo, 0, 0);
+ if (_cio == 0) {
+ throw EncodeError ("could not open JPEG2000 stream");
+ }
int const r = opj_encode (_cinfo, _cio, _image, 0);
if (r == 0) {
- throw EncodeError ("jpeg2000 encoding failed");
+ throw EncodeError ("JPEG2000 encoding failed");
}
_log->log (String::compose ("Finished locally-encoded frame %1", _frame));