summaryrefslogtreecommitdiffstats
path: root/options
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-12-01 16:09:25 +0100
committerAlessandro Ghedini <alessandro@ghedini.me>2014-12-01 21:06:00 +0100
commit1b0bf6507ec79afe503db3ffffa70039f5d6b85e (patch)
tree2572bed5b2e5482181ba21ad2732c1f816c66dea /options
parent7ca6aa4ad078f566629a36f4b754576e7b4ed70e (diff)
downloadmpv-1b0bf6507ec79afe503db3ffffa70039f5d6b85e.tar.bz2
mpv-1b0bf6507ec79afe503db3ffffa70039f5d6b85e.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 8044376f07..d85c6ca4b8 100644
--- a/options/m_option.c
+++ b/options/m_option.c
@@ -2146,7 +2146,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,
};