summaryrefslogtreecommitdiffstats
path: root/audio/out/ao_opensles.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2018-01-24 00:02:13 +0100
committerKevin Mitchell <kevmitch@gmail.com>2018-01-25 20:18:32 -0800
commitd36ff64b29031f402184e4946969810e7d9db0e0 (patch)
treee57f501ce20b384d2183af98f3220ddaa4e7d602 /audio/out/ao_opensles.c
parent3dd5621cecdd41c86117d70f93a24aede5e50bbc (diff)
downloadmpv-d36ff64b29031f402184e4946969810e7d9db0e0.tar.bz2
mpv-d36ff64b29031f402184e4946969810e7d9db0e0.tar.xz
audio: fix annyoing af_get_best_sample_formats() definition
The af_get_best_sample_formats() function had an argument of int[AF_FORMAT_COUNT], which is slightly incorrect, because it's 0 terminated and should in theory have AF_FORMAT_COUNT+1 entries. It won't actually write this many formats (since some formats are fundamentally incompatible), but it still feels annoying and incorrect. So fix it, and require that callers pass an AF_FORMAT_COUNT+1 array. Note that the array size has no meaning in C function arguments (just another issue with C static arrays being weird and stupid), so get rid of it completely. Not changing the af_lavcac3enc use, since that is rewritten in another branch anyway.
Diffstat (limited to 'audio/out/ao_opensles.c')
-rw-r--r--audio/out/ao_opensles.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/audio/out/ao_opensles.c b/audio/out/ao_opensles.c
index 5357ab4920..76bd91cb91 100644
--- a/audio/out/ao_opensles.c
+++ b/audio/out/ao_opensles.c
@@ -136,7 +136,7 @@ static int init(struct ao *ao)
pcm.formatType = SL_DATAFORMAT_PCM;
pcm.numChannels = 2;
- int compatible_formats[AF_FORMAT_COUNT];
+ int compatible_formats[AF_FORMAT_COUNT + 1];
af_get_best_sample_formats(ao->format, compatible_formats);
pcm.bitsPerSample = 0;
for (int i = 0; compatible_formats[i] && !pcm.bitsPerSample; ++i)