diff mbox

[FFmpeg-devel] tools/target_dec_fuzzer: set request_channel_layout

Message ID 20191206145613.874-1-jamrial@gmail.com
State New
Headers show

Commit Message

James Almer Dec. 6, 2019, 2:56 p.m. UTC
Should increase coverage of some decoders.

Signed-off-by: James Almer <jamrial@gmail.com>
---
Passing 6 to av_get_default_channel_layout() will return the 5.1 layout but
never 5.1(side), which is for example what the dts decoder actually looks for.
Any suggestion on how to make the fuzzer pick one of the non default layouts
using a given amount of channels?

 tools/target_dec_fuzzer.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox

Patch

diff --git a/tools/target_dec_fuzzer.c b/tools/target_dec_fuzzer.c
index dcf47b0f4d..fbfbbbc7ac 100644
--- a/tools/target_dec_fuzzer.c
+++ b/tools/target_dec_fuzzer.c
@@ -47,6 +47,7 @@ 
 
 #include "config.h"
 #include "libavutil/avassert.h"
+#include "libavutil/channel_layout.h"
 #include "libavutil/imgutils.h"
 #include "libavutil/intreadwrite.h"
 
@@ -207,6 +208,7 @@  int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
 
         ctx->sample_rate                        = bytestream2_get_le32(&gbc);
         ctx->channels                           = (unsigned)bytestream2_get_le32(&gbc) % FF_SANE_NB_CHANNELS;
+        ctx->request_channel_layout             = av_get_default_channel_layout((unsigned)bytestream2_get_le32(&gbc) % FF_SANE_NB_CHANNELS);
         ctx->block_align                        = bytestream2_get_le32(&gbc);
         ctx->codec_tag                          = bytestream2_get_le32(&gbc);
         keyframes                               = bytestream2_get_le64(&gbc);