From 8eb951b71fa90e54c8da64e54cf5ddf6bf0809cf Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 24 Jan 2022 22:30:52 +0100 Subject: [PATCH] Cleanup: move some methods from util to memory_util. --- src/lib/ffmpeg.cc | 1 + src/lib/ffmpeg_image_proxy.cc | 3 ++- src/lib/image.cc | 2 +- src/lib/memory_util.cc | 40 +++++++++++++++++++++++++++++++++++ src/lib/memory_util.h | 22 +++++++++++++++++++ src/lib/util.cc | 10 --------- src/lib/util.h | 1 - src/lib/wscript | 1 + 8 files changed, 67 insertions(+), 13 deletions(-) create mode 100644 src/lib/memory_util.cc create mode 100644 src/lib/memory_util.h diff --git a/src/lib/ffmpeg.cc b/src/lib/ffmpeg.cc index 77717a38f..a54b4fc01 100644 --- a/src/lib/ffmpeg.cc +++ b/src/lib/ffmpeg.cc @@ -30,6 +30,7 @@ #include "ffmpeg_subtitle_stream.h" #include "film.h" #include "log.h" +#include "memory_util.h" #include "util.h" #include extern "C" { diff --git a/src/lib/ffmpeg_image_proxy.cc b/src/lib/ffmpeg_image_proxy.cc index 4b3c3084c..94385eabd 100644 --- a/src/lib/ffmpeg_image_proxy.cc +++ b/src/lib/ffmpeg_image_proxy.cc @@ -21,11 +21,12 @@ #include "compose.hpp" #include "cross.h" +#include "dcpomatic_assert.h" #include "dcpomatic_socket.h" #include "exceptions.h" #include "ffmpeg_image_proxy.h" #include "image.h" -#include "util.h" +#include "memory_util.h" #include "warnings.h" #include DCPOMATIC_DISABLE_WARNINGS diff --git a/src/lib/image.cc b/src/lib/image.cc index 297578866..19b3ea5a8 100644 --- a/src/lib/image.cc +++ b/src/lib/image.cc @@ -30,9 +30,9 @@ #include "exceptions.h" #include "image.h" #include "maths_util.h" +#include "memory_util.h" #include "rect.h" #include "timer.h" -#include "util.h" #include "warnings.h" #include #include diff --git a/src/lib/memory_util.cc b/src/lib/memory_util.cc new file mode 100644 index 000000000..95d8275b1 --- /dev/null +++ b/src/lib/memory_util.cc @@ -0,0 +1,40 @@ +/* + Copyright (C) 2012-2022 Carl Hetherington + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see . + +*/ + + +#include "warnings.h" +DCPOMATIC_DISABLE_WARNINGS +extern "C" { +#include +} +DCPOMATIC_ENABLE_WARNINGS +#include + + +void * +wrapped_av_malloc (size_t s) +{ + auto p = av_malloc (s); + if (!p) { + throw std::bad_alloc (); + } + return p; +} + diff --git a/src/lib/memory_util.h b/src/lib/memory_util.h new file mode 100644 index 000000000..eccc4a857 --- /dev/null +++ b/src/lib/memory_util.h @@ -0,0 +1,22 @@ +/* + Copyright (C) 2012-2022 Carl Hetherington + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see . + +*/ + + +extern void* wrapped_av_malloc (size_t); diff --git a/src/lib/util.cc b/src/lib/util.cc index eeaa4cd91..f2d35fa2f 100644 --- a/src/lib/util.cc +++ b/src/lib/util.cc @@ -652,16 +652,6 @@ fit_ratio_within (float ratio, dcp::Size full_frame) return dcp::Size (full_frame.width, lrintf (full_frame.width / ratio)); } -void * -wrapped_av_malloc (size_t s) -{ - auto p = av_malloc (s); - if (!p) { - throw bad_alloc (); - } - return p; -} - map split_get_request (string url) { diff --git a/src/lib/util.h b/src/lib/util.h index fd11fffbd..e335434d8 100644 --- a/src/lib/util.h +++ b/src/lib/util.h @@ -102,7 +102,6 @@ extern boost::filesystem::path mo_path (); #endif extern std::string tidy_for_filename (std::string); extern dcp::Size fit_ratio_within (float ratio, dcp::Size); -extern void* wrapped_av_malloc (size_t); extern void set_backtrace_file (boost::filesystem::path); extern std::map split_get_request (std::string url); extern std::string video_asset_filename (std::shared_ptr asset, int reel_index, int reel_count, boost::optional content_summary); diff --git a/src/lib/wscript b/src/lib/wscript index 6d7e2330e..5f8a6cff7 100644 --- a/src/lib/wscript +++ b/src/lib/wscript @@ -133,6 +133,7 @@ sources = """ log.cc log_entry.cc maths_util.cc + memory_util.cc mid_side_decoder.cc overlaps.cc pixel_quanta.cc -- 2.30.2