Henrik Lundin | fe32a76 | 2015-12-08 11:27:27 +0100 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. |
| 3 | * |
| 4 | * Use of this source code is governed by a BSD-style license |
| 5 | * that can be found in the LICENSE file in the root of the source |
| 6 | * tree. An additional intellectual property rights grant can be found |
| 7 | * in the file PATENTS. All contributing project authors may |
| 8 | * be found in the AUTHORS file in the root of the source tree. |
| 9 | */ |
| 10 | |
Mirko Bonadei | 92ea95e | 2017-09-15 06:47:31 +0200 | [diff] [blame] | 11 | #include "modules/audio_coding/codecs/isac/main/include/audio_decoder_isac.h" |
| 12 | #include "test/fuzzers/audio_decoder_fuzzer.h" |
Henrik Lundin | fe32a76 | 2015-12-08 11:27:27 +0100 | [diff] [blame] | 13 | |
| 14 | namespace webrtc { |
| 15 | void FuzzOneInput(const uint8_t* data, size_t size) { |
Sam Zackrisson | 2620470 | 2018-10-25 13:46:26 +0200 | [diff] [blame^] | 16 | if (size > 20000) { |
| 17 | return; |
| 18 | } |
Henrik Lundin | fe32a76 | 2015-12-08 11:27:27 +0100 | [diff] [blame] | 19 | const int sample_rate_hz = size % 2 == 0 ? 16000 : 32000; // 16 or 32 kHz. |
| 20 | static const size_t kAllocatedOuputSizeSamples = 32000 / 10; // 100 ms. |
| 21 | int16_t output[kAllocatedOuputSizeSamples]; |
kwiberg | 6ff045f | 2017-08-17 05:31:02 -0700 | [diff] [blame] | 22 | AudioDecoderIsacFloatImpl dec(sample_rate_hz); |
henrik.lundin | fd2be27 | 2016-02-09 00:00:23 -0800 | [diff] [blame] | 23 | FuzzAudioDecoder(DecoderFunctionType::kNormalDecode, data, size, &dec, |
| 24 | sample_rate_hz, sizeof(output), output); |
Henrik Lundin | fe32a76 | 2015-12-08 11:27:27 +0100 | [diff] [blame] | 25 | } |
| 26 | } // namespace webrtc |