#ifndef AUDIOPIPELINE_AUDIO_SOURCE_TESTTONE_H__INCLUDED
#define AUDIOPIPELINE_AUDIO_SOURCE_TESTTONE_H__INCLUDED

#include "audio.h"

/**
 * Create a test-tone audio source with the provided settings
 *
 * @param sample_rate  Sample rate to generate in Hz
 * @param channels Number of channels
 * @param bits_per_sample Number of bits per sample, one of 8, 16, 24, 32
 *
 * @returns Initialized `AudioPipelineElement` that can be used in call to `audio_pipeline_assemble`
 */
AudioPipelineElement *audio_source_testtone(uint16_t sample_rate, uint8_t channels, uint8_t bits_per_sample);

#endif /* AUDIOPIPELINE_AUDIO_SOURCE_TESTTONE_H__INCLUDED */