summaryrefslogtreecommitdiffstats
path: root/options
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-12-01 16:09:25 +0100
committerwm4 <wm4@nowhere>2014-12-01 16:09:25 +0100
commit52c51149dbb3717feb6d5600a04f4d922ae675e3 (patch)
tree553bb21106f95c855b04d4edcb783472cfaa7705 /options
parent62998e9709f40f44e0e77a3b0635709b350a24ec (diff)
downloadmpv-52c51149dbb3717feb6d5600a04f4d922ae675e3.tar.bz2
mpv-52c51149dbb3717feb6d5600a04f4d922ae675e3.tar.xz
options: fix channel map options sometimes failing
Channel amp otpions were not copied correctly: it copied the size of a pointer to struct chmap, not the struct itself. Since mp_chmap is currently 9 bytes, this meant the last channel entry was not copied correctly on 64 bit systems, leading to very strange failures. It could be triggered especially when using the client API, because the client API always copies options on access (mpv command line options tend to work directly on options).
Diffstat (limited to 'options')
-rw-r--r--options/m_option.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/options/m_option.c b/options/m_option.c
index 3c53f206bd..f5bf662203 100644
--- a/options/m_option.c
+++ b/options/m_option.c
@@ -2145,7 +2145,7 @@ static int parse_chmap(struct mp_log *log, const m_option_t *opt,
const m_option_type_t m_option_type_chmap = {
.name = "Audio channels or channel map",
- .size = sizeof(struct mp_chmap *),
+ .size = sizeof(struct mp_chmap),
.parse = parse_chmap,
.copy = copy_opt,
};