Commit Graph

7 Commits

  • - major change, use lwip netconn instead of socket API to reduce RAM footprint
    o flac works, opus and pcm are untested and not working
    - improve on resyncing issues
    - add wifi logger component submodule
    - optimize stack sizes
  • - merge with original master from jorgen
    - minimize RAM usage of all components
    - use both IRAM and DRAM in player component so we can buffer up to 1s on modules without SPI RAM
    - support fragemented pcm chunks so we can use all available RAM if there isn't a big enough block available but still enough HEAP
    - reinclude all components from jorgen's master branch
    - add custom i2s driver to get a precise timing of initial sync
    - change wrong usage of esp_timer for latency measurement of snapcast protocol
    - add player component
  • - prefer SPIRAM for LWIP
    - try to improve synced playback using APLL adjustments
    - reduce diffBuf size to 1, bigger values seem to be problematic if packet loss is happening, maybe we need to detect this and clear diffBuf
    - do early time syncs on boot to fill diffBuf
    - playing with pipline ringbuf sizes and I2S DMA buffer sizes
  • - add eclipse project configuration
    - use espressif ADF, remove external opus rep
      o uses audio pipelines now
    - change code to use flac decoder
    - remove mersus code
    - add first try of audio synchronization
      o needed to sync timeofday to server on reception of server settings to avoid overflows in timeval calculations (int32_t on esp32 SDK)
      o still a lot of TODO's in the code, but it's almost in sync, although there is quite some chunk skipping which I am currently working on