|  | /* | 
|  | *  Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 
|  | * | 
|  | *  Use of this source code is governed by a BSD-style license | 
|  | *  that can be found in the LICENSE file in the root of the source | 
|  | *  tree. An additional intellectual property rights grant can be found | 
|  | *  in the file PATENTS.  All contributing project authors may | 
|  | *  be found in the AUTHORS file in the root of the source tree. | 
|  | */ | 
|  |  | 
|  | #include "modules/audio_coding/codecs/opus/audio_decoder_opus.h" | 
|  | #include "test/fuzzers/audio_decoder_fuzzer.h" | 
|  |  | 
|  | namespace webrtc { | 
|  | void FuzzOneInput(const uint8_t* data, size_t size) { | 
|  | const size_t channels = (size % 2) + 1;  // 1 or 2 channels. | 
|  | AudioDecoderOpusImpl dec(channels); | 
|  | const int kSampleRateHz = 48000; | 
|  | const size_t kAllocatedOuputSizeSamples = kSampleRateHz / 10;  // 100 ms. | 
|  | int16_t output[kAllocatedOuputSizeSamples]; | 
|  | FuzzAudioDecoder(DecoderFunctionType::kNormalDecode, data, size, &dec, | 
|  | kSampleRateHz, sizeof(output), output); | 
|  | } | 
|  | }  // namespace webrtc |