14 #include <freertos/FreeRTOS.h> 15 #include <freertos/event_groups.h> 16 #include <freertos/queue.h> 22 static const size_t DEFAULT_TRANSFER_BUFFER_SIZE = 24 * 1024;
73 void start_url(
const std::string &uri);
96 void set_pause_state(
bool pause_state);
101 esp_err_t allocate_communications_();
105 esp_err_t start_tasks_();
108 void delete_tasks_();
113 uint32_t playback_ms_{0};
115 bool hard_stop_{
false};
116 bool is_playing_{
false};
117 bool pause_state_{
false};
121 bool pending_url_{
false};
122 bool pending_file_{
false};
126 std::string current_uri_{};
138 EventGroupHandle_t event_group_{
nullptr};
141 QueueHandle_t info_error_queue_{
nullptr};
144 static void read_task(
void *params);
145 TaskHandle_t read_task_handle_{
nullptr};
147 StackType_t *read_task_stack_buffer_{
nullptr};
150 static void decode_task(
void *params);
151 TaskHandle_t decode_task_handle_{
nullptr};
153 StackType_t *decode_task_stack_buffer_{
nullptr};
StaticTask_t read_task_stack_
optional< DecodingError > decoding_err
StaticTask_t decode_task_stack_
optional< audio::AudioStreamInfo > audio_stream_info
bool task_stack_in_psram_
optional< esp_err_t > err
audio::AudioStreamInfo current_audio_stream_info_
audio::AudioFileType current_audio_file_type_
std::weak_ptr< RingBuffer > raw_file_ring_buffer_
size_t transfer_buffer_size_
optional< audio::AudioFileType > file_type
Implementation of SPI Controller mode.
uint32_t get_playback_ms()