-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes for ESP32 #169
base: master
Are you sure you want to change the base?
Fixes for ESP32 #169
Conversation
…d) - updated from main-branch
…e listening history
…asguyer-gzip-working
) * fixes for esp32 * fixes for esp32 * reuploaded sdkconfig.defaults * added gzip compatible mercury decoder (failed if message were trucated) - updated from main-branch * fix: clang-format * fix: Minor style fixes * fix: clear partials on sub res and reconnect * fix: Restore bell version * fix: Update bell --------- Co-authored-by: Filip <[email protected]>
…e listening history
Gzip working
…e listening history
…nto EventManager
…if there are any missreads in the stream
* moved trackmetrics playStart back to TrackPlayer because needed * changes in track queueing
* moved trackmetrics playStart back to TrackPlayer because needed * changes in track queueing * Changed structural from spirc to connectState * minor changes * minor clang-format changes
So.. i think, i can call the current build stable enough, to be posted in here. There are still problems with seeking on cli and probaly esp's without vs1053. And i ran into some issues with some specific tracks(they bring the mercuryManager to fail in read, and after that, the esp resets, because of some switching issues, but i can't find the faulty declared function). And episodes do have no autoplay yet. But apart from that it runs smooth. |
So.. seeking was quite simple.. i've just missed a resetTrackPlayer. |
* moved trackmetrics playStart back to TrackPlayer because needed * changes in track queueing * Changed structural from spirc to connectState * minor changes * minor clang-format changes * Seeking now supported on all devices * adjusting stack-sizes to new structure, minor adjustments for bell_nocodec * Update MercurySession.cpp
I'm sorry for that mess :) it's finally working quite good on cli and vs1053, the only problem i haven't resolved is, if there are only queued tracks in the playing-history ( for example after takeover of a list with queuedtracks), the normal shuffle expects it to be the end and switches to autoplay, and the autoplay of episodes. |
… handling in cspot - **Streaming Stability**: Addressed issues with continuous streaming, improving the handling of connection drops and reducing delays in reconnection. Improve playback continuity during network interruptions. - **Error Handling**: Improved error handling, particularly around HTTPClient and other critical components. Introduced exception management to deal with connection errors and retry mechanisms for smoother recovery. - **Track Handling**: Refactored track management logic to streamline the loading and processing of tracks, improving performance and reducing latency in track transitions. - **Concurrency Improvements**: Added thread protection to shared resources, including wrapping log messages with a semaphore to avoid race conditions and data corruption. - **Other Fixes**: - Updated the `getMacAddress` function to work on both WIN32 and ESP32 platforms. (Used for unique deviceID) - Fixed issues with FreeRTOS-to-pthread migration for improved compatibility. --- **Additional Notes**: - Some exceptions still occur, particularly with mbedtls, but they are logged and managed until a more permanent fix is available. - Reconnection times in certain cases may still be suboptimal but are currently being handled with exponential backoff. - The changes in track processing should improve the overall flow, reducing glitches during streaming.
So.. i had to take a small detour to feelfreelinux/bell since updating to espidf v5. Currently the bell repository is linked to my bell repository, because it handles quite a lot of errors issueing from mbedtls. |
Reverted the automatic formatting changes in CMake files that caused processing issues. Modified queryAutoplay to ensure that resolveRadio is only called once if the radio URL is already generated, preventing redundant calls.
Increased task priority for VS1053's track_feed to 10, matching the priority of i2sFeed. Increased the stream buffer size for VS1053_TRACK to 4098 * 32.
There are still a few issues that need attention:
|
Adjusted main.cpp ro the new cspot structure. I took the cliPlayer as reference and changed as less as possible