mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-31 03:48:40 +03:00
Compare commits
6 Commits
ESP32-A1S-
...
I2S-4MFlas
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f0bd81125b | ||
|
|
251882a400 | ||
|
|
0503d03e64 | ||
|
|
fed98f470f | ||
|
|
95d4dbc905 | ||
|
|
54b9da287f |
8
.github/workflows/CrossBuild.yml
vendored
8
.github/workflows/CrossBuild.yml
vendored
@@ -49,11 +49,11 @@ jobs:
|
|||||||
branch_name="${branch_name//[^a-zA-Z0-9\-~!@_\.]/}"
|
branch_name="${branch_name//[^a-zA-Z0-9\-~!@_\.]/}"
|
||||||
BUILD_NUMBER=${{ needs.job1.outputs.build_number }}
|
BUILD_NUMBER=${{ needs.job1.outputs.build_number }}
|
||||||
echo "BUILD_NUMBER=${BUILD_NUMBER}" >> $GITHUB_ENV
|
echo "BUILD_NUMBER=${BUILD_NUMBER}" >> $GITHUB_ENV
|
||||||
tag="${TARGET_BUILD_NAME}-development-${BUILD_NUMBER}-${branch_name}"
|
tag="${TARGET_BUILD_NAME}.${BUILD_NUMBER}.${branch_name}"
|
||||||
echo "tag=${tag}" >> $GITHUB_ENV
|
echo "tag=${tag}" >> $GITHUB_ENV
|
||||||
last_commit="$(git log --pretty=format:'%s' --max-count=1)"
|
last_commit="$(git log --pretty=format:'%s' --max-count=1)"
|
||||||
if [[ "$last_commit" =~ .*"Release".* ]]; then echo "release_flag=1" >> $GITHUB_ENV; else echo "release_flag=0" >> $GITHUB_ENV; fi
|
if [[ "$last_commit" =~ .*"Release".* ]]; then echo "release_flag=1" >> $GITHUB_ENV; else echo "release_flag=0" >> $GITHUB_ENV; fi
|
||||||
name="development.${BUILD_NUMBER}#v4.0#${TARGET_BUILD_NAME}#${branch_name}"
|
name="dev.${BUILD_NUMBER}#v4.0#${TARGET_BUILD_NAME}#${branch_name}"
|
||||||
artifact_prefix="squeezelite-esp32-${branch_name}-${TARGET_BUILD_NAME}-${build_version_prefix}${BUILD_NUMBER}"
|
artifact_prefix="squeezelite-esp32-${branch_name}-${TARGET_BUILD_NAME}-${build_version_prefix}${BUILD_NUMBER}"
|
||||||
artifact_file_name="${artifact_prefix}.zip"
|
artifact_file_name="${artifact_prefix}.zip"
|
||||||
artifact_bin_file_name="${artifact_prefix}.bin"
|
artifact_bin_file_name="${artifact_prefix}.bin"
|
||||||
@@ -80,7 +80,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
env | grep "artifact\|tag\|GITHUB\|version\|NUMBER\|TARGET" >${TARGET_BUILD_NAME}-env.txt
|
env | grep "artifact\|tag\|GITHUB\|version\|NUMBER\|TARGET" >${TARGET_BUILD_NAME}-env.txt
|
||||||
echo "${tag}" >version.txt
|
echo "${tag}" >version.txt
|
||||||
docker run --env-file=${TARGET_BUILD_NAME}-env.txt --rm -v $PWD:/project -w /project espressif/idf:release-v4.0 /bin/bash -c "cp build-scripts/${TARGET_BUILD_NAME}-sdkconfig.defaults sdkconfig && idf.py build && zip build/${artifact_file_name} partitions*.csv build/*.bin build/bootloader/bootloader.bin build/partition_table/partition-table.bin build/flash_project_args build/size_*.txt"
|
docker run --env-file=${TARGET_BUILD_NAME}-env.txt --rm -v $PWD:/project -w /project sle118/squeezelite-esp32:release-v4.0 /bin/bash -c "cp build-scripts/${TARGET_BUILD_NAME}-sdkconfig.defaults sdkconfig && idf.py build && zip build/${artifact_file_name} partitions*.csv build/*.bin build/bootloader/bootloader.bin build/partition_table/partition-table.bin build/flash_project_args build/size_*.txt"
|
||||||
# - name: Build Mock firmware
|
# - name: Build Mock firmware
|
||||||
# run: |
|
# run: |
|
||||||
# mkdir -p build
|
# mkdir -p build
|
||||||
@@ -124,6 +124,7 @@ jobs:
|
|||||||
draft: false
|
draft: false
|
||||||
prerelease: true
|
prerelease: true
|
||||||
- name: Upload Release Asset - Squeezelite binary file
|
- name: Upload Release Asset - Squeezelite binary file
|
||||||
|
if: env.release_flag == 1
|
||||||
id: upload-release-asset
|
id: upload-release-asset
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
env:
|
env:
|
||||||
@@ -134,6 +135,7 @@ jobs:
|
|||||||
asset_name: ${{ env.artifact_bin_file_name }}
|
asset_name: ${{ env.artifact_bin_file_name }}
|
||||||
asset_content_type: application/octet-stream
|
asset_content_type: application/octet-stream
|
||||||
- name: Upload Release Asset - Zip file
|
- name: Upload Release Asset - Zip file
|
||||||
|
if: env.release_flag == 1
|
||||||
id: upload-release-asset-zip
|
id: upload-release-asset-zip
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||

|

|
||||||

|
|
||||||

|
|
||||||
|
|
||||||
# Squeezelite-esp32
|
# Squeezelite-esp32
|
||||||
## Supported Hardware
|
## Supported Hardware
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ void equalizer_update(s8_t *gain) {
|
|||||||
* process equalizer
|
* process equalizer
|
||||||
*/
|
*/
|
||||||
void equalizer_process(u8_t *buf, u32_t bytes, u32_t sample_rate) {
|
void equalizer_process(u8_t *buf, u32_t bytes, u32_t sample_rate) {
|
||||||
// don't want to process with output locked, so tak ethe small risk to miss one parametric update
|
// don't want to process with output locked, so take the small risk to miss one parametric update
|
||||||
if (equalizer.update) {
|
if (equalizer.update) {
|
||||||
equalizer_close();
|
equalizer_close();
|
||||||
equalizer_open(sample_rate);
|
equalizer_open(sample_rate);
|
||||||
|
|||||||
@@ -131,24 +131,29 @@ int32_t output_bt_data(uint8_t *data, int32_t len) {
|
|||||||
|
|
||||||
// This is how the BTC layer calculates the number of bytes to
|
// This is how the BTC layer calculates the number of bytes to
|
||||||
// for us to send. (BTC_SBC_DEC_PCM_DATA_LEN * sizeof(OI_INT16) - availPcmBytes
|
// for us to send. (BTC_SBC_DEC_PCM_DATA_LEN * sizeof(OI_INT16) - availPcmBytes
|
||||||
wanted_len=len;
|
|
||||||
SET_MIN_MAX(len,req);
|
SET_MIN_MAX(len,req);
|
||||||
TIME_MEASUREMENT_START(start_timer);
|
TIME_MEASUREMENT_START(start_timer);
|
||||||
LOCK;
|
LOCK;
|
||||||
output.device_frames = 0; // todo: check if this is the right way do to this.
|
|
||||||
|
len /= BYTES_PER_FRAME;
|
||||||
|
wanted_len = len;
|
||||||
|
|
||||||
|
output.device_frames = 0;
|
||||||
output.updated = gettime_ms();
|
output.updated = gettime_ms();
|
||||||
output.frames_played_dmp = output.frames_played;
|
output.frames_played_dmp = output.frames_played;
|
||||||
|
|
||||||
SET_MIN_MAX_SIZED(_buf_used(outputbuf),bt,outputbuf->size);
|
SET_MIN_MAX_SIZED(_buf_used(outputbuf),bt,outputbuf->size);
|
||||||
|
|
||||||
do {
|
do {
|
||||||
avail_data = _output_frames( wanted_len/BYTES_PER_FRAME )*BYTES_PER_FRAME; // Keep the transfer buffer full
|
avail_data = _output_frames(wanted_len);
|
||||||
wanted_len-=avail_data;
|
wanted_len -= avail_data;
|
||||||
} while (wanted_len > 0 && avail_data != 0);
|
} while (wanted_len > 0 && avail_data != 0);
|
||||||
|
|
||||||
if (wanted_len > 0) {
|
if (wanted_len > 0) {
|
||||||
SET_MIN_MAX(wanted_len, under);
|
SET_MIN_MAX(wanted_len * BYTES_PER_FRAME, under);
|
||||||
}
|
}
|
||||||
output.frames_in_process = len-wanted_len;
|
|
||||||
|
|
||||||
|
output.frames_in_process = len - wanted_len;
|
||||||
equalizer_process(data, (len - wanted_len) * BYTES_PER_FRAME, output.current_sample_rate);
|
equalizer_process(data, (len - wanted_len) * BYTES_PER_FRAME, output.current_sample_rate);
|
||||||
|
|
||||||
UNLOCK;
|
UNLOCK;
|
||||||
@@ -156,7 +161,7 @@ int32_t output_bt_data(uint8_t *data, int32_t len) {
|
|||||||
SET_MIN_MAX((len-wanted_len), rec);
|
SET_MIN_MAX((len-wanted_len), rec);
|
||||||
TIME_MEASUREMENT_START(start_timer);
|
TIME_MEASUREMENT_START(start_timer);
|
||||||
|
|
||||||
return len-wanted_len;
|
return (len - wanted_len) * BYTES_PER_FRAME;
|
||||||
}
|
}
|
||||||
|
|
||||||
void output_bt_tick(void) {
|
void output_bt_tick(void) {
|
||||||
|
|||||||
Reference in New Issue
Block a user