rwrozelle / audio-media-player

EspHome audio media player
Other
2 stars 0 forks source link

compile error #1

Closed lucize closed 2 months ago

lucize commented 2 months ago

I would like to try this modifications but I'm facing with this issue

src/esphome/components/audio_media_player/simple_adf_pipeline.cpp:401:5: error: 'config' was not declared in this scope
     config.mode = (i2s_mode_t) (config.mode | I2S_MODE_DAC_BUILT_IN);
     ^~~~~~
src/esphome/components/audio_media_player/simple_adf_pipeline.cpp:401:5: note: suggested alternative: 'confstr'
     config.mode = (i2s_mode_t) (config.mode | I2S_MODE_DAC_BUILT_IN);
     ^~~~~~
     confstr
*** [.pioenvs/audio-dus/src/esphome/components/audio_media_player/simple_adf_pipeline.o] Error 1

Any ideas if I'm doing something wrong ?

rwrozelle commented 2 months ago

Looks like your setup is getting into a section of code that doesn't compile for me due to Compiler Conditional. I've made an update in the branch: 1-compile-error, please use that branch and let me know if it resolves your problem. I am only testing using the sample configuration in the README.md

lucize commented 2 months ago

thanks for the input, it compiled fine but I think i have too many drivers on this device (presence detector and temperature monitor) as it seems to crash sometimes like this:

15:36:59][D][media_player:142]:   Media URL: https://1a-chillout.radionetz.de/1a-chillout.aac
[15:36:59][D][audio_media_player:095]: control call while state: OFF
[15:36:59][D][audio_media_player:655]: set_playlist_track: : : https://1a-chillout.radionetz.de/1a-chillout.aac duration: 0 https://1a-chillout.radionetz.de/1a-chillout.aac
[15:36:59][D][audio_media_player:485]: start_()
[15:36:59][D][audio_media_player:575]: pipeline_start_()
[15:36:59][D][audio_media_player:031]: MP State = ON, MP Prior State = NONE
[15:36:59][D][audio_media_player:056]: Publish State, position: 0, duration: 0
[15:36:59][D][audio_media_player:581]: Set Loop to run at high frequency cycle
[15:36:59][D][simple_adf_pipeline:111]: Called play with pipeline state: STOPPED
[15:36:59][D][simple_adf_pipeline:514]: Updated pipeline state: STARTING
[15:36:59][D][simple_adf_pipeline:339]: init pipeline
[15:36:59][D][esp-idf:000]: E (368067) AUDIO_PIPELINE: audio_pipeline.c:255 (audio_pipeline_init): Memory exhausted

[15:36:59][D][simple_adf_pipeline:346]: init http_stream_reader
[15:36:59][D][esp-idf:000]: E (368087) HTTP_STREAM: http_stream.c:851 (http_stream_init): Memory exhausted

[15:36:59][D][simple_adf_pipeline:366]: init esp_decoder
[15:36:59][D][esp-idf:000]: E (368098) ESP_DECODER: esp_decoder.c:291 (esp_decoder_init): Memory exhausted

[15:36:59][D][simple_adf_pipeline:423]: init i2s_stream_writer
[15:36:59][D][esp-idf:000]: E (368116) I2S_STREAM: i2s_stream_2_6_mod.c:425 (i2s_stream_init): Memory exhausted

[15:36:59][D][simple_adf_pipeline:426]: install i2s pins

with an older version on Arduino code it was stable, I hoped IDF behaves better with memory allocation

rwrozelle commented 2 months ago

Agree, with your assessment. In addition to ADF overhead, my code has overhead for the Playlists. I'm just running this on my chip. I've taken the approach of multiple chips around the house doing individual things rather than trying to gang functionality on fewer chips., it puts pressure on my WIFI router. At some point, I really hope that matter/thread matures and that can be the LAN substrate rather than WIFI.