Open hpfmn opened 4 years ago
Yes, please! I'm having all sorts of problems too. If I had to write abstractions myself, it would defeat the purpose of using the ADF..
Same here
would it be possible to have responses here? @jason-mao? I am stuck with an opus decoder that refuses to produce any sound from my stream, how am I supposed to debug this?
would it be possible to have responses here? @jason-mao? I am stuck with an opus decoder that refuses to produce any sound from my stream, how am I supposed to debug this?
Hello @douardda I'm having the same issue with the opus decoder, did you find any solution ?
Hi guys, sorry for missing, esp-adf-libs
issues not have track on internal. Firstly, I think the most important thing is to solve the problems you have encountered. Regardless of bug, optimize speed and memory, we are happy to solve them. So, @douardda @Yohannfra Would you please provide more details description for your issue at esp-adf issue?
Hello @jason-mao thanks for answering, I have two main issues with esp_audio.
in the code I have
mp3_decoder_cfg_t mp3_dec_cfg = DEFAULT_MP3_DECODER_CONFIG();
mp3_dec_cfg.task_core = 1;
wav_decoder_cfg_t wav_dec_cfg = DEFAULT_WAV_DECODER_CONFIG();
wav_dec_cfg.task_core = 1;
opus_decoder_cfg_t opus_dec_cfg = DEFAULT_OPUS_DECODER_CONFIG();
opus_dec_cfg.task_core = 1;
esp_audio_codec_lib_add(_player->handle, AUDIO_CODEC_TYPE_DECODER, mp3_decoder_init(&mp3_dec_cfg));
esp_audio_codec_lib_add(_player->handle, AUDIO_CODEC_TYPE_DECODER, wav_decoder_init(&wav_dec_cfg));
esp_audio_codec_lib_add(_player->handle, AUDIO_CODEC_TYPE_DECODER, decoder_opus_init(&opus_dec_cfg));
And after that when I try to play a mp3 or wav file it works but when I try an opus one nothing happens.
xTaskCreate(mytask, "mytask", 100000, NULL, 1, NULL);
and if I call esp_audio_play from within this task it fails to create the audio task and the audio doesn't play and gives me this error in the logs
Thanks,
@Yohannfra Did you use SPI RAM for you project? As your problems, they are exhaust the DRAM memory. MP3 and WAV memory less than OPUS, so they works well.
@Yohannfra Did you use SPI RAM for you project? As your problems, they are exhaust the DRAM memory. MP3 and WAV memory less than OPUS, so they works well.
Yes I use it and applied the esp-idf patch for freertos tasks ( esp-adf/idf_patches/idf_v3.3_freertos.patch).
Do you mean that opus uses more memory and that's why it does't work ?
@Yohannfra Did you use SPI RAM for you project? As your problems, they are exhaust the DRAM memory. MP3 and WAV memory less than OPUS, so they works well.
Yes I use it and applied the esp-idf patch for freertos tasks ( esp-adf/idf_patches/idf_v3.3_freertos.patch).
Do you mean that opus uses more memory and that's why it does't work ?
Yes, even opus consumes more memory than MP3, the cli
example can be works well. We don't recommend that any task create by a lot of stack size. Would you show me that memory free size when you get fail?
@Yohannfra Did you use SPI RAM for you project? As your problems, they are exhaust the DRAM memory. MP3 and WAV memory less than OPUS, so they works well.
Yes I use it and applied the esp-idf patch for freertos tasks ( esp-adf/idf_patches/idf_v3.3_freertos.patch). Do you mean that opus uses more memory and that's why it does't work ?
Yes, even opus consumes more memory than MP3, the
cli
example can be works well. We don't recommend that any task create by a lot of stack size. Would you show me that memory free size when you get fail?
How do you show memory free size ? with esp_get_free_heap_size() ?
@Yohannfra Did you use SPI RAM for you project? As your problems, they are exhaust the DRAM memory. MP3 and WAV memory less than OPUS, so they works well.
Yes I use it and applied the esp-idf patch for freertos tasks ( esp-adf/idf_patches/idf_v3.3_freertos.patch). Do you mean that opus uses more memory and that's why it does't work ?
Yes, even opus consumes more memory than MP3, the
cli
example can be works well. We don't recommend that any task create by a lot of stack size. Would you show me that memory free size when you get fail?How do you show memory free size ? with esp_get_free_heap_size() ?
Please refer to AUDIO_MEM_SHOW()
in audio_mem.h
@jason-mao And where should I call it since the crash occures in esp_audio_play ?
Thanks for you answers and help.
@jason-mao And where should I call it since the crash occures in esp_audio_play ?
Thanks for you answers and help.
Failed to call esp_audio_play
, or create AUDIO_THREAD
failed is ok.
Hi guys, sorry for missing,
esp-adf-libs
issues not have track on internal. Firstly, I think the most important thing is to solve the problems you have encountered. Regardless of bug, optimize speed and memory, we are happy to solve them. So, @douardda @Yohannfra Would you please provide more details description for your issue atesp-adf issue?
You think wrong!! The most important thing is to give us the source so we can deal with our own problems instead of waiting for you to fix it.. mp4 is still a mess! some tracks play, others don't. memory leaks all over the place when using esp_audio... just to name a few.. And even if it had no bugs working in the dark is impossible!! GIVE US THE SOURCE!
Yes I 2nd this completely. It's really hard to debug the libs without breakpoints or print statements... How come they're not open source? Most of the implementations in it anyways already make use of open source libs so it's not like there is some real competitive advantage to keeping this repo closed source.
Here is an open port of libopus for the ESP-IDF in case it is helpful: https://github.com/XasWorks/esp-libopus
Hi guys, sorry for missing,
esp-adf-libs
issues not have track on internal. Firstly, I think the most important thing is to solve the problems you have encountered. Regardless of bug, optimize speed and memory, we are happy to solve them. So, @douardda @Yohannfra Would you please provide more details description for your issue atesp-adf issue?
Sorry to stray from libopus for one second and focus back on the main thread about open sourcing libraries, especially after this comment from @jason-mao about esp-adf-libs
not having internal track...
Like @hpfmn I am also in favor of open sourcing libraries, especially if they are not tracked actively at Expressif.
One other example where Expressif not sharing source code poses real word issues is the SIP protocol in esp_rtc
SIP for VoIP calls works but is extremely limited right now, lacking much of the standard features. The "MESSAGE" type for instance is crucial for certain widely used alarm protocols like SCAIP. It is impossible to use your library just because of this one missing type...and one must rewrite a whole SIP stack just for this.
If the esp-adf-libs
is not tracked or updated internally, please consider open sourcing some of the libraries because of these very real limitations.
Or at the bare minimum regarding the SIP stack, at least please provide a way for users to expand your library by sending their own standard SIP requests) and handling the corresponding responses.
Hi, would it be possible to open source these libraries? It is really hard to get it work otherwise because I don't understand what is happening if something fails. For example the opus encoder stack overflows when I'm using two channels and in general something seems wrong when using 48kHz sampling rate and 32bit pcm data. I guess everything expects 44.1kHz@16bits?
And I don't think you'll show to much IP-Stuff, since it seems you're mostly using opensource libs anyway.
Kind regards, Johannes