mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-04 11:26:09 +00:00
fb976153d8
Depends on D150726 Differential Revision: https://phabricator.services.mozilla.com/D150727
53 lines
1.8 KiB
Diff
53 lines
1.8 KiB
Diff
# HG changeset patch
|
|
# User Randell Jesup <rjesup@jesup.org>
|
|
# Parent 5d4d728adccff4539e44f697b8011fb2eb1a1ad5
|
|
|
|
diff --git a/source/mjpeg_decoder.cc b/source/mjpeg_decoder.cc
|
|
--- a/source/mjpeg_decoder.cc
|
|
+++ b/source/mjpeg_decoder.cc
|
|
@@ -73,18 +73,20 @@ MJpegDecoder::MJpegDecoder()
|
|
databuf_strides_(NULL) {
|
|
decompress_struct_ = new jpeg_decompress_struct;
|
|
source_mgr_ = new jpeg_source_mgr;
|
|
#ifdef HAVE_SETJMP
|
|
error_mgr_ = new SetJmpErrorMgr;
|
|
decompress_struct_->err = jpeg_std_error(&error_mgr_->base);
|
|
// Override standard exit()-based error handler.
|
|
error_mgr_->base.error_exit = &ErrorHandler;
|
|
+#ifndef DEBUG_MJPEG
|
|
error_mgr_->base.output_message = &OutputHandler;
|
|
#endif
|
|
+#endif
|
|
decompress_struct_->client_data = NULL;
|
|
source_mgr_->init_source = &init_source;
|
|
source_mgr_->fill_input_buffer = &fill_input_buffer;
|
|
source_mgr_->skip_input_data = &skip_input_data;
|
|
source_mgr_->resync_to_restart = &jpeg_resync_to_restart;
|
|
source_mgr_->term_source = &term_source;
|
|
jpeg_create_decompress(decompress_struct_);
|
|
decompress_struct_->src = source_mgr_;
|
|
@@ -450,21 +452,22 @@ void ErrorHandler(j_common_ptr cinfo) {
|
|
#endif
|
|
|
|
SetJmpErrorMgr* mgr = reinterpret_cast<SetJmpErrorMgr*>(cinfo->err);
|
|
// This rewinds the call stack to the point of the corresponding setjmp()
|
|
// and causes it to return (for a second time) with value 1.
|
|
longjmp(mgr->setjmp_buffer, 1);
|
|
}
|
|
|
|
+#ifndef DEBUG_MJPEG
|
|
// Suppress fprintf warnings.
|
|
void OutputHandler(j_common_ptr cinfo) {
|
|
(void)cinfo;
|
|
}
|
|
-
|
|
+#endif
|
|
#endif // HAVE_SETJMP
|
|
|
|
void MJpegDecoder::AllocOutputBuffers(int num_outbufs) {
|
|
if (num_outbufs != num_outbufs_) {
|
|
// We could perhaps optimize this case to resize the output buffers without
|
|
// necessarily having to delete and recreate each one, but it's not worth
|
|
// it.
|
|
DestroyOutputBuffers();
|