ESP32 ADF pipeline切換時遇到問題---音頻沒有放出

1、問題描述

成功切換的LOG

[2019-03-13 14:48:06.736]# RECV ASCII>
[0;32mI (5181) STAGEFRIGHTMP3_DECODER: MP3 decodig done[0m
[0;32mI (5181) STAGEFRIGHTMP3_DECODER: Closed[0m
[0;32mI (5231) AUDIO_ELEMENT: IN-[i2s] AEL_IO_DONE,-2[0m
[0;33mW (5261) Somnic_music: [ * ] Stop event received[0m
[0;33mW (5271) AUDIO_PIPELINE: create new rb, linked:1, rb:0x3f802bd8, cur_el:bt[0m
[0;32mI (5271) AUDIO_ELEMENT: [bt] Element task created[0m
[0;32mI (5271) AUDIO_PIPELINE: Func:audio_pipeline_run, Line:278, MEM Total:4280908 Bytes, Inter:125296 Bytes, Dram:106384 Byte

[2019-03-13 14:48:06.809]# RECV ASCII>
s

[0m
[0;32mI (5281) AUDIO_PIPELINE: Pipeline started[0m
[0;32mI (5281) AUDIO_ELEMENT: [i2s] AEL_MSG_CMD_RESUME,state:1[0m
[0;32mI (5291) I2S_STREAM: AUDIO_STREAM_WRITER[0m
[0;32mI (5311) AUDIO_ELEMENT: [i2s] AEL_MSG_CMD_RESUME,state:2[0m


[2019-03-13 14:48:41.994]# RECV ASCII>
[0;31mE (40461) BT_APPL: bta_av_rc_create ACP handle exist for shdl:0[0m
[0;32mI (40501) Somnic_music: [ * ] Receive music info from Bluetooth, sample_rates=44100, bits=16, ch=2[0m
[0;32mI (40521) AUDIO_ELEMENT: [i2s] AEL_MSG_CMD_PAUSE[0m
[0;32mI (40521) I2S: APLL: Req RATE: 44100, real rate: 43945.238, BITS: 16, CLKM: 1, BCK_M: 8, MCLK: 11249981.000, SCLK: 1406247.625000, diva: 1, divb: 0[0m
[0;33mW (40531) BT_APPL: new conn_srvc id:19, app_id:0[0m
[0;32mI (40531) AUDIO_ELEMENT: [i2s] AEL_M

[2019-03-13 14:48:42.068]# RECV ASCII>
SG_CMD_RESUME,state:3[0m
[0;32mI (40541) I2S_STREAM: AUDIO_STREAM_WRITER[0m
[0;31mE (40551) Somnic_music: [ * ] Action command error: src_type:1048585, source:0x3ffe463c cmd:1, data:0x0, data_len:0[0m
[0;32mI (40561) Somnic_music: [ * ] Bluetooth audio connected

[0m


[2019-03-13 14:48:44.490]# RECV ASCII>
[0;32mI (42991) BT_LOG: bta_av_link_role_ok hndl:x41 role:1 conn_audio:x1 bits:1 features:x824b
[0m
[0;33mW (42991) BT_APPL: new conn_srvc id:19, app_id:1[0m
[0;32mI (42991) Somnic_music: [ * ] Bluetooth audio started

失敗的切換LOG

[0;32mI (63011) STAGEFRIGHTMP3_DECODER: MP3 decodig done[0m
[0;32mI (63011) STAGEFRIGHTMP3_DECODER: Closed[0m
[0;32mI (63061) AUDIO_ELEMENT: IN-[i2s] AEL_IO_DONE,-2[0m
[0;33mW (63091) Somnic_music: [ * ] Stop event received[0m
[0;32mI (63091) AUDIO_PIPELINE: found kept rb:0x3f802bd8 kept:1,linked:1, el:0x3f80017c, name:bt[0m
[0;32mI (63101) AUDIO_PIPELINE: Func:audio_pipeline_run, Line:278, MEM Total:4271628 Bytes, Inter:124288 Bytes, Dram:105376 Bytes

[0m
[0;32mI (63111) AUDIO_PIPELINE

[2019-03-13 14:49:04.640]# RECV ASCII>
: Pipeline started[0m
[0;32mI (63111) AUDIO_ELEMENT: [i2s] AEL_MSG_CMD_RESUME,state:1[0m
[0;32mI (63121) I2S_STREAM: AUDIO_STREAM_WRITER[0m
[0;32mI (63141) AUDIO_ELEMENT: [i2s] AEL_MSG_CMD_RESUME,state:2[0m


[2019-03-13 14:49:12.510]# RECV ASCII>
[0;31mE (70971) BT_APPL: rcb[0].lidx=3, lcb.conn_msk=x1[0m
[0;31mE (70981) BT_APPL: bta_av_rc_create ACP handle exist for shdl:0[0m
[0;32mI (71021) Somnic_music: [ * ] Receive music info from Bluetooth, sample_rates=44100, bits=16, ch=2[0m
[0;33mW (71041) BT_APPL: new conn_srvc id:19, app_id:0[0m
[0;32mI (71041) AUDIO_ELEMENT: [i2s] AEL_MSG_CMD_PAUSE[0m
[0;32mI (71051) I2S: APLL: Req RATE: 44100, real rate: 43945.238, BITS: 16, CLKM: 1, BCK_M: 8, MCLK: 11249981.000, SCLK: 1406247.625000, div

[2019-03-13 14:49:12.581]# RECV ASCII>
a: 1, divb: 0[0m
[0;31mE (71061) Somnic_music: [ * ] Action command error: src_type:1048585, source:0x3ffe463c cmd:1, data:0x0, data_len:0[0m
[0;32mI (71061) AUDIO_ELEMENT: [i2s] AEL_MSG_CMD_RESUME,state:3[0m
[0;32mI (71071) Somnic_music: [ * ] Bluetooth audio connected

[0m
[0;32mI (71071) I2S_STREAM: AUDIO_STREAM_WRITER[0m


對比看,沒發現有多大不同。

原因查找:

 

#define AUDIO_MEM_SHOW(x)  audio_mem_print(x, __LINE__, __func__)
void audio_mem_print(const char *tag, int line, const char *func)
{
#ifdef CONFIG_SPIRAM_BOOT_INIT
    ESP_LOGI(tag, "Func:%s, Line:%d, MEM Total:%d Bytes, Inter:%d Bytes, Dram:%d Bytes\r\n", func, line, esp_get_free_heap_size(),
             heap_caps_get_free_size(MALLOC_CAP_INTERNAL), heap_caps_get_free_size(MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT));
#else
    ESP_LOGI(tag, "Func:%s, Line:%d, MEM Total:%d Bytes\r\n", func, line, esp_get_free_heap_size());
#endif
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章