.init = opus_afh_init,
#endif
},
- {
- .name = NULL,
- }
};
+/** This includes audio formats not compiled in. */
+#define NUM_AUDIO_FORMATS (ARRAY_SIZE(afl))
+
/**
* Get the name of the given audio format.
*
*/
const char *audio_format_name(int i)
{
- if (i < 0 || i >= ARRAY_SIZE(afl) - 1)
+ if (i < 0 || i >= NUM_AUDIO_FORMATS)
return "???";
return afl[i].name;
}
static inline int next_audio_format(int format)
{
for (;;) {
- if (!afl[format].name)
- return format;
format++;
+ if (format >= NUM_AUDIO_FORMATS)
+ return format;
if (afl[format].init)
return format;
}
}
/** Iterate over each supported audio format. */
-#define FOR_EACH_AUDIO_FORMAT(i) for (i = 0; afl[i].name; i = next_audio_format(i))
+#define FOR_EACH_AUDIO_FORMAT(i) \
+ for (i = 0; i < NUM_AUDIO_FORMATS; i = next_audio_format(i))
/**
* Call the init function of each supported audio format handler.