Arduino A2DP
Loading...
Searching...
No Matches
BluetoothA2DPSinkQueued.h
1#pragma once
2
3#include "BluetoothA2DPSink.h"
4
13 public:
14 BluetoothA2DPSinkQueued() = default;
15
17 void set_i2s_stack_size(int size){
18 i2s_stack_size = size;
19 }
20
23 i2s_ringbuffer_size = size;
24 }
25
27 void set_i2s_task_priority(UBaseType_t prio){
28 i2s_task_priority = prio;
29 }
30
31 protected:
32 xTaskHandle s_bt_i2s_task_handle = nullptr; /* handle of I2S task */
33 RingbufHandle_t s_ringbuf_i2s = nullptr; /* handle of ringbuffer for I2S */
34 // I2S task
35 int i2s_stack_size = 2048;
36 int i2s_ringbuffer_size = 3 * 5120;
37 UBaseType_t i2s_task_priority = configMAX_PRIORITIES - 0;
38
39 void bt_i2s_task_start_up(void) override;
40 void bt_i2s_task_shut_down(void) override;
41 void i2s_task_handler(void *arg) override;
42 size_t write_audio(const uint8_t *data, size_t size) override;
43
44};
A2DP Bluethooth Sink - We initialize and start the Bluetooth A2DP Sink. The example https://github....
Definition: BluetoothA2DPSink.h:63
The BluetoothA2DPSinkQueued is using a separate Task with an additinal Queue to write the I2S data....
Definition: BluetoothA2DPSinkQueued.h:12
size_t write_audio(const uint8_t *data, size_t size) override
output audio data e.g. to i2s or to queue
Definition: BluetoothA2DPSinkQueued.cpp:54
void set_i2s_task_priority(UBaseType_t prio)
Defines the priority of the I2S task.
Definition: BluetoothA2DPSinkQueued.h:27
void set_i2s_stack_size(int size)
Defines the stack size of the i2s task (in bytes)
Definition: BluetoothA2DPSinkQueued.h:17
void i2s_task_handler(void *arg) override
dummy functions needed for BluetoothA2DPSinkQueued
Definition: BluetoothA2DPSinkQueued.cpp:35
void set_i2s_ringbuffer_size(int size)
Defines the ringbuffer size used by the i2s task (in bytes)
Definition: BluetoothA2DPSinkQueued.h:22