forked from xiaozhi/xiaozhi-esp32
remove data mutex from read/write
This commit is contained in:
@@ -230,7 +230,6 @@ void BoxAudioCodec::EnableOutput(bool enable) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int BoxAudioCodec::Read(int16_t* dest, int samples) {
|
int BoxAudioCodec::Read(int16_t* dest, int samples) {
|
||||||
std::lock_guard<std::mutex> lock(data_if_mutex_);
|
|
||||||
if (input_enabled_) {
|
if (input_enabled_) {
|
||||||
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_read(input_dev_, (void*)dest, samples * sizeof(int16_t)));
|
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_read(input_dev_, (void*)dest, samples * sizeof(int16_t)));
|
||||||
}
|
}
|
||||||
@@ -238,7 +237,6 @@ int BoxAudioCodec::Read(int16_t* dest, int samples) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int BoxAudioCodec::Write(const int16_t* data, int samples) {
|
int BoxAudioCodec::Write(const int16_t* data, int samples) {
|
||||||
std::lock_guard<std::mutex> lock(data_if_mutex_);
|
|
||||||
if (output_enabled_) {
|
if (output_enabled_) {
|
||||||
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_write(output_dev_, (void*)data, samples * sizeof(int16_t)));
|
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_write(output_dev_, (void*)data, samples * sizeof(int16_t)));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -173,7 +173,6 @@ void Es8311AudioCodec::EnableOutput(bool enable) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int Es8311AudioCodec::Read(int16_t* dest, int samples) {
|
int Es8311AudioCodec::Read(int16_t* dest, int samples) {
|
||||||
std::lock_guard<std::mutex> lock(data_if_mutex_);
|
|
||||||
if (input_enabled_) {
|
if (input_enabled_) {
|
||||||
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_read(dev_, (void*)dest, samples * sizeof(int16_t)));
|
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_read(dev_, (void*)dest, samples * sizeof(int16_t)));
|
||||||
}
|
}
|
||||||
@@ -181,7 +180,6 @@ int Es8311AudioCodec::Read(int16_t* dest, int samples) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int Es8311AudioCodec::Write(const int16_t* data, int samples) {
|
int Es8311AudioCodec::Write(const int16_t* data, int samples) {
|
||||||
std::lock_guard<std::mutex> lock(data_if_mutex_);
|
|
||||||
if (output_enabled_) {
|
if (output_enabled_) {
|
||||||
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_write(dev_, (void*)data, samples * sizeof(int16_t)));
|
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_write(dev_, (void*)data, samples * sizeof(int16_t)));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -182,7 +182,6 @@ void Es8374AudioCodec::EnableOutput(bool enable) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int Es8374AudioCodec::Read(int16_t* dest, int samples) {
|
int Es8374AudioCodec::Read(int16_t* dest, int samples) {
|
||||||
std::lock_guard<std::mutex> lock(data_if_mutex_);
|
|
||||||
if (input_enabled_) {
|
if (input_enabled_) {
|
||||||
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_read(input_dev_, (void*)dest, samples * sizeof(int16_t)));
|
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_read(input_dev_, (void*)dest, samples * sizeof(int16_t)));
|
||||||
}
|
}
|
||||||
@@ -190,7 +189,6 @@ int Es8374AudioCodec::Read(int16_t* dest, int samples) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int Es8374AudioCodec::Write(const int16_t* data, int samples) {
|
int Es8374AudioCodec::Write(const int16_t* data, int samples) {
|
||||||
std::lock_guard<std::mutex> lock(data_if_mutex_);
|
|
||||||
if (output_enabled_) {
|
if (output_enabled_) {
|
||||||
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_write(output_dev_, (void*)data, samples * sizeof(int16_t)));
|
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_write(output_dev_, (void*)data, samples * sizeof(int16_t)));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -193,7 +193,6 @@ void Es8388AudioCodec::EnableOutput(bool enable) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int Es8388AudioCodec::Read(int16_t* dest, int samples) {
|
int Es8388AudioCodec::Read(int16_t* dest, int samples) {
|
||||||
std::lock_guard<std::mutex> lock(data_if_mutex_);
|
|
||||||
if (input_enabled_) {
|
if (input_enabled_) {
|
||||||
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_read(input_dev_, (void*)dest, samples * sizeof(int16_t)));
|
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_read(input_dev_, (void*)dest, samples * sizeof(int16_t)));
|
||||||
}
|
}
|
||||||
@@ -201,7 +200,6 @@ int Es8388AudioCodec::Read(int16_t* dest, int samples) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int Es8388AudioCodec::Write(const int16_t* data, int samples) {
|
int Es8388AudioCodec::Write(const int16_t* data, int samples) {
|
||||||
std::lock_guard<std::mutex> lock(data_if_mutex_);
|
|
||||||
if (output_enabled_) {
|
if (output_enabled_) {
|
||||||
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_write(output_dev_, (void*)data, samples * sizeof(int16_t)));
|
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_write(output_dev_, (void*)data, samples * sizeof(int16_t)));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -189,7 +189,6 @@ void Es8389AudioCodec::EnableOutput(bool enable) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int Es8389AudioCodec::Read(int16_t* dest, int samples) {
|
int Es8389AudioCodec::Read(int16_t* dest, int samples) {
|
||||||
std::lock_guard<std::mutex> lock(data_if_mutex_);
|
|
||||||
if (input_enabled_) {
|
if (input_enabled_) {
|
||||||
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_read(input_dev_, (void*)dest, samples * sizeof(int16_t)));
|
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_read(input_dev_, (void*)dest, samples * sizeof(int16_t)));
|
||||||
}
|
}
|
||||||
@@ -197,7 +196,6 @@ int Es8389AudioCodec::Read(int16_t* dest, int samples) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int Es8389AudioCodec::Write(const int16_t* data, int samples) {
|
int Es8389AudioCodec::Write(const int16_t* data, int samples) {
|
||||||
std::lock_guard<std::mutex> lock(data_if_mutex_);
|
|
||||||
if (output_enabled_) {
|
if (output_enabled_) {
|
||||||
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_write(output_dev_, (void*)data, samples * sizeof(int16_t)));
|
ESP_ERROR_CHECK_WITHOUT_ABORT(esp_codec_dev_write(output_dev_, (void*)data, samples * sizeof(int16_t)));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -302,7 +302,6 @@ int NoAudioCodec::Write(const int16_t* data, int samples) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int NoAudioCodec::Read(int16_t* dest, int samples) {
|
int NoAudioCodec::Read(int16_t* dest, int samples) {
|
||||||
std::lock_guard<std::mutex> lock(data_if_mutex_);
|
|
||||||
size_t bytes_read;
|
size_t bytes_read;
|
||||||
|
|
||||||
std::vector<int32_t> bit32_buffer(samples);
|
std::vector<int32_t> bit32_buffer(samples);
|
||||||
@@ -320,7 +319,6 @@ int NoAudioCodec::Read(int16_t* dest, int samples) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int NoAudioCodecSimplexPdm::Read(int16_t* dest, int samples) {
|
int NoAudioCodecSimplexPdm::Read(int16_t* dest, int samples) {
|
||||||
std::lock_guard<std::mutex> lock(data_if_mutex_);
|
|
||||||
size_t bytes_read;
|
size_t bytes_read;
|
||||||
|
|
||||||
// PDM 解调后的数据位宽为 16 位,直接读取到目标缓冲区
|
// PDM 解调后的数据位宽为 16 位,直接读取到目标缓冲区
|
||||||
|
|||||||
Reference in New Issue
Block a user