summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/ffmpeg.cc1
-rw-r--r--src/lib/ffmpeg_image_proxy.cc3
-rw-r--r--src/lib/image.cc2
-rw-r--r--src/lib/memory_util.cc40
-rw-r--r--src/lib/memory_util.h22
-rw-r--r--src/lib/util.cc10
-rw-r--r--src/lib/util.h1
-rw-r--r--src/lib/wscript1
8 files changed, 67 insertions, 13 deletions
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 <dcp/raw_convert.h>
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 <dcp/raw_convert.h>
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 <dcp/rgb_xyz.h>
#include <dcp/transfer_function.h>
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 <cth@carlh.net>
+
+ 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 <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#include "warnings.h"
+DCPOMATIC_DISABLE_WARNINGS
+extern "C" {
+#include <libavutil/avutil.h>
+}
+DCPOMATIC_ENABLE_WARNINGS
+#include <stdexcept>
+
+
+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 <cth@carlh.net>
+
+ 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 <http://www.gnu.org/licenses/>.
+
+*/
+
+
+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<string, string>
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<std::string, std::string> split_get_request (std::string url);
extern std::string video_asset_filename (std::shared_ptr<dcp::PictureAsset> asset, int reel_index, int reel_count, boost::optional<std::string> 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