bk7258_iR58/bk_aidk/projects/soundhub/main/app_audio_arbiter.h
helloyifa 31f179cb76 init
2025-05-15 14:19:56 +08:00

41 lines
1.1 KiB
C

#pragma once
#include <stdint.h>
typedef enum
{
AUDIO_SOURCE_ENTRY_START,
AUDIO_SOURCE_ENTRY_AI = AUDIO_SOURCE_ENTRY_START,
AUDIO_SOURCE_ENTRY_A2DP,
AUDIO_SOURCE_ENTRY_END,
} AUDIO_SOURCE_ENTRY_EMUM;
typedef enum
{
AUDIO_SOURCE_ENTRY_STATUS_IDLE,
AUDIO_SOURCE_ENTRY_STATUS_STOP,
AUDIO_SOURCE_ENTRY_STATUS_PLAY_PENDING,
AUDIO_SOURCE_ENTRY_STATUS_PLAY,
} AUDIO_SOURCE_ENTRY_STATUS;
typedef enum
{
AUDIO_SOURCE_ENTRY_CB_EVT_NEED_START,
AUDIO_SOURCE_ENTRY_CB_EVT_IGNORE,
AUDIO_SOURCE_ENTRY_CB_EVT_NEED_STOP,
} AUDIO_SOURCE_ENTRY_CB_EVT;
typedef enum
{
AUDIO_SOURCE_ENTRY_ACTION_START_REQ,
AUDIO_SOURCE_ENTRY_ACTION_STOP_REQ,
} AUDIO_SOURCE_ENTRY_ACTION;
typedef void (*audio_source_entry_cb)(AUDIO_SOURCE_ENTRY_CB_EVT evt, void *arg);
void app_audio_arbiter_reg_callback(AUDIO_SOURCE_ENTRY_EMUM entry, audio_source_entry_cb cb, void *arg);
AUDIO_SOURCE_ENTRY_STATUS app_audio_arbiter_report_source_req(AUDIO_SOURCE_ENTRY_EMUM entry, AUDIO_SOURCE_ENTRY_ACTION act);
AUDIO_SOURCE_ENTRY_EMUM app_audio_arbiter_get_current_play_entry(void);
void app_audio_arbiter_init(void);
void app_audio_arbiter_deinit(void);