43 lines
2.0 KiB
C

/*
* Espressif Modified MIT License
*
* Copyright (c) 2025 Espressif Systems (Shanghai) Co., LTD
*
* Permission is hereby granted for use **exclusively** with Espressif Systems products.
* This includes the right to use, copy, modify, merge, publish, distribute, and sublicense
* the Software, subject to the following conditions:
*
* 1. This Software **must be used in conjunction with Espressif Systems products**.
* 2. The above copyright notice and this permission notice shall be included in all copies
* or substantial portions of the Software.
* 3. Redistribution of the Software in source or binary form **for use with non-Espressif products**
* is strictly prohibited.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
* PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
* FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
* SPDX-License-Identifier: MIT-ESPRESSIF
*/
#pragma once
typedef struct audio_player_s *audio_player_handle_t;
typedef struct audio_recorder_s *audio_recorder_handle_t;
audio_recorder_handle_t recorder_pipeline_open();
esp_err_t recorder_pipeline_run(audio_recorder_handle_t recorder);
esp_err_t recorder_pipeline_read(audio_recorder_handle_t recorder, char *buffer, int len);
esp_err_t recorder_pipeline_stop(audio_recorder_handle_t recorder);
esp_err_t recorder_pipeline_close(audio_recorder_handle_t recorder);
audio_player_handle_t player_pipeline_open();
esp_err_t player_pipeline_run(audio_player_handle_t player);
esp_err_t player_pipeline_stop(audio_player_handle_t player);
esp_err_t player_pipeline_write(audio_player_handle_t player, char *buffer, int len);
esp_err_t player_pipeline_close(audio_player_handle_t player);