summaryrefslogtreecommitdiffstats
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
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).
-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,
};