Commit Graph

7 Commits

  • add support for sample rates different to 48kHz (#15)
    - instead of storing chunk duration in ms store the frame count
      and do calculations based on that
    - add updated snapserver.conf for reference (#17)
    - some code clean up
    - move Kconfig entries to correct place
    - remove unnecessary Kconfig entries
    - add necessary dependencies in Kconfig files
    
    Signed-off-by: Karl Osterseher <karli_o@gmx.at>
  • - add sdkconfig for NO_SPIRAM and SPIRAM situation
    - detect snapcast configuration and init everything accordingly, e.g sample rate, chunk duration, ...
      o calculate apll predefines in dependence of sample rate
      o communicate these settings to interested parties
    - remove typos
  • - 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
  • - 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