summaryrefslogtreecommitdiff
path: root/pkg/mpv/patch/0004-Use-memset-to-initialize-large-structures.patch
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2019-07-02 17:26:37 -0700
committerMichael Forney <mforney@mforney.org>2019-07-03 02:43:39 -0700
commitfe1d9804d24cb1efa8d68d0c7e5b444bb9825389 (patch)
tree42dc3ca90a294d31189c3e6f18205f0444590533 /pkg/mpv/patch/0004-Use-memset-to-initialize-large-structures.patch
parent9cd9b35cf50287bb8bc851a9524460a8fadd93e3 (diff)
mpv: Some portability fixes
Diffstat (limited to 'pkg/mpv/patch/0004-Use-memset-to-initialize-large-structures.patch')
-rw-r--r--pkg/mpv/patch/0004-Use-memset-to-initialize-large-structures.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/pkg/mpv/patch/0004-Use-memset-to-initialize-large-structures.patch b/pkg/mpv/patch/0004-Use-memset-to-initialize-large-structures.patch
new file mode 100644
index 00000000..11e28925
--- /dev/null
+++ b/pkg/mpv/patch/0004-Use-memset-to-initialize-large-structures.patch
@@ -0,0 +1,48 @@
+From dcc4b6ceb21cc7422326cb74223ded4e042ce9d9 Mon Sep 17 00:00:00 2001
+From: Michael Forney <mforney@mforney.org>
+Date: Tue, 2 Jul 2019 17:41:43 -0700
+Subject: [PATCH] Use memset to initialize large structures
+
+These are over 256 KiB in size.
+---
+ video/out/gpu/video.c | 17 ++++++++---------
+ 1 file changed, 8 insertions(+), 9 deletions(-)
+
+diff --git a/video/out/gpu/video.c b/video/out/gpu/video.c
+index 26d6e5b9a8..9654bc1c75 100644
+--- a/video/out/gpu/video.c
++++ b/video/out/gpu/video.c
+@@ -3319,7 +3319,7 @@ static void frame_perf_data(struct pass_info pass[], struct mp_frame_perf *out)
+
+ void gl_video_perfdata(struct gl_video *p, struct voctrl_performance_data *out)
+ {
+- *out = (struct voctrl_performance_data){0};
++ memset(out, 0, sizeof(*out));
+ frame_perf_data(p->pass_fresh, &out->fresh);
+ frame_perf_data(p->pass_redraw, &out->redraw);
+ }
+@@ -3783,14 +3783,13 @@ struct gl_video *gl_video_init(struct ra *ra, struct mp_log *log,
+ struct mpv_global *g)
+ {
+ struct gl_video *p = talloc_ptrtype(NULL, p);
+- *p = (struct gl_video) {
+- .ra = ra,
+- .global = g,
+- .log = log,
+- .sc = gl_sc_create(ra, g, log),
+- .video_eq = mp_csp_equalizer_create(p, g),
+- .opts_cache = m_config_cache_alloc(p, g, &gl_video_conf),
+- };
++ memset(p, 0, sizeof(*p));
++ p->ra = ra;
++ p->global = g;
++ p->log = log;
++ p->sc = gl_sc_create(ra, g, log);
++ p->video_eq = mp_csp_equalizer_create(p, g);
++ p->opts_cache = m_config_cache_alloc(p, g, &gl_video_conf);
+ // make sure this variable is initialized to *something*
+ p->pass = p->pass_fresh;
+ struct gl_video_opts *opts = p->opts_cache->opts;
+--
+2.22.0
+