You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Custom Board using ESP-S3-PICO-1
ESP-IDF: release/v5.3 (707d097b01756687cca18be855a2675d150247ae)
ESP-ADF: v2.7 (9cf556d)
Hey,
I'm running into issues when trying to playback M4A recordings generated from Android devices. The sample m4a file, aswell as recordings from iOS work as expected.
E (980) M4A_PARSER: Sample number miss match, line:566
E (990) M4A_PARSER: Error opening audio
E (995) AAC_DECODER: Error mp4 stream, release
E (1000) AUDIO_ELEMENT: [dec] AEL_STATUS_ERROR_OPEN,-1
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x2b (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce2810,len:0x178c
load:0x403c8700,len:0x4
load:0x403c8704,len:0xcb8
load:0x403cb700,len:0x2db0
entry 0x403c8914
I (27) boot: ESP-IDF v5.3-384-g1216499a98-dirty 2nd stage bootloader
I (27) boot: compile time Oct 23 2024 15:20:03
I (28) boot: Multicore bootloader
I (32) boot: chip revision: v0.2
I (35) boot.esp32s3: Boot SPI Speed : 80MHz
I (40) boot.esp32s3: SPI Mode : DIO
I (45) boot.esp32s3: SPI Flash Size : 8MB
I (50) boot: Enabling RNG early entropy source...
I (55) boot: Partition Table:
I (59) boot: ## Label Usage Type ST Offset Length
I (66) boot: 0 nvs WiFi data 01 02 00009000 00004000
I (73) boot: 1 otadata OTA data 01 00 0000d000 00002000
I (81) boot: 2 phy_init RF data 01 01 0000f000 00001000
I (88) boot: 3 ota_0 OTA app 00 10 00010000 00300000
I (96) boot: 4 ota_1 OTA app 00 11 00310000 00300000
I (103) boot: 5 factory_nvs WiFi data 01 02 00610000 00004000
I (111) boot: 6 nvs_keys NVS keys 01 04 00614000 00001000
I (118) boot: 7 storage Unknown data 01 82 00615000 00060000
I (126) boot: 8 audio_clips Unknown data 01 83 00675000 0018b000
I (134) boot: End of partition table
I (138) boot: No factory image, trying OTA 0
I (143) esp_image: segment 0: paddr=00010020 vaddr=3c040020 size=2e260h (189024) map
I (185) esp_image: segment 1: paddr=0003e288 vaddr=3fc94f00 size=01d90h ( 7568) load
I (187) esp_image: segment 2: paddr=00040020 vaddr=42000020 size=3d6fch (251644) map
I (236) esp_image: segment 3: paddr=0007d724 vaddr=3fc96c90 size=00ebch ( 3772) load
I (237) esp_image: segment 4: paddr=0007e5e8 vaddr=40374000 size=10e24h ( 69156) load
I (264) boot: Loaded app from partition at offset 0x10000
I (290) boot: Set actual ota_seq=1 in otadata[0]
I (290) boot: Disabling RNG early entropy source...
I (301) esp_psram: Found 2MB PSRAM device
I (301) esp_psram: Speed: 40MHz
I (301) cpu_start: Multicore app
I (721) esp_psram: SPI SRAM memory test OK
I (730) cpu_start: Pro cpu start user code
I (730) cpu_start: cpu freq: 160000000 Hz
I (730) app_init: Application information:
I (733) app_init: Project name: audio_tst
I (738) app_init: App version: e7c7a95-dirty
I (743) app_init: Compile time: Oct 23 2024 15:18:41
I (749) app_init: ELF file SHA256: bb46422c7...
I (755) app_init: ESP-IDF: v5.3-384-g1216499a98-dirty
I (761) efuse_init: Min chip rev: v0.0
I (766) efuse_init: Max chip rev: v0.99
I (771) efuse_init: Chip rev: v0.2
I (776) heap_init: Initializing. RAM available for dynamic allocation:
I (783) heap_init: At 3FC985F8 len 00051118 (324 KiB): RAM
I (789) heap_init: At 3FCE9710 len 00005724 (21 KiB): RAM
I (795) heap_init: At 3FCF0000 len 00008000 (32 KiB): DRAM
I (801) heap_init: At 600FE100 len 00001EE8 (7 KiB): RTCRAM
I (808) esp_psram: Adding pool of 2048K of PSRAM memory to heap allocator
I (816) spi_flash: detected chip: gd
I (819) spi_flash: flash io: dio
I (823) sleep: Configure to isolate all GPIO pins in sleep state
I (830) sleep: Enable automatic switching of GPIO sleep configuration
I (837) main_task: Started on CPU0
I (858) esp_psram: Reserving pool of 32K of internal memory for DMA/internal allocations
I (859) main_task: Calling app_main()
I (860) new_codec: new_codec init
I (864) AUDIO_HAL: Codec mode is 2, Ctrl:1
I (871) AUDIO_PIPELINE: link el->rb, el:0x3c070f4c, tag:source, rb:0x3c071260
I (877) AUDIO_PIPELINE: link el->rb, el:0x3c0710f0, tag:dec, rb:0x3c0722a8
I (885) AUDIO_THREAD: The source task allocate stack on internal memory
I (892) AUDIO_ELEMENT: [source-0x3c070f4c] Element task created
I (898) AUDIO_THREAD: The dec task allocate stack on external memory
I (906) AUDIO_ELEMENT: [dec-0x3c0710f0] Element task created
I (912) AUDIO_THREAD: The i2s task allocate stack on internal memory
I (919) AUDIO_ELEMENT: [i2s-0x3c070c40] Element task created
I (925) AUDIO_PIPELINE: Func:audio_pipeline_run, Line:359, MEM Total:2408484 Bytes, Inter:364199 Bytes, Dram:364199 Bytes, Dram largest free:270336Bytes
I (939) AUDIO_ELEMENT: [source] AEL_MSG_CMD_RESUME,state:1
Start to read 0/84596
Start to read 1024/84596
Start to read 2048/84596
Start to read 3072/84596
Start to read 4096/84596
I (957) AUDIO_ELEMENT: [dec] AEL_MSG_CMD_RESUME,state:1
I (963) CODEC_ELEMENT_HELPER: The element is 0x3c0710f0. The reserve data 2 is 0x0.
I (971) AAC_DECODER: A new song playing
Start to read 5120/84596
Start to read 6144/84596
Start to read 7168/84596
Start to read 8192/84596
E (980) M4A_PARSER: Sample number miss match, line:566
E (990) M4A_PARSER: Error opening audio
E (995) AAC_DECODER: Error mp4 stream, release
E (1000) AUDIO_ELEMENT: [dec] AEL_STATUS_ERROR_OPEN,-1
W (1006) AUDIO_ELEMENT: [dec] audio_element_on_cmd_error,7
I (1012) AAC_DECODER: Closed by [7]
Start to read 9216/84596
W (1018) AUDIO_ELEMENT: OUT-[source] AEL_IO_ABORT
I (1024) AUDIO_ELEMENT: [i2s] AEL_MSG_CMD_RESUME,state:1
W (1057) AUDIO_ELEMENT: IN-[i2s] AEL_IO_ABORT
I (1057) AUDIO_PIPELINE: Pipeline started
W (1057) AUDIO_ELEMENT: [source] Element already stopped
W (1062) AUDIO_ELEMENT: [dec] Element already stopped
W (1067) AUDIO_ELEMENT: [i2s] Element already stopped
I (1073) AUDIO_PIPELINE: audio_pipeline_unlinked
W (1078) AUDIO_ELEMENT: [i2s] Element already stopped
W (1085) AUDIO_ELEMENT: [dec] Element already stopped
I (1090) CODEC_ELEMENT_HELPER: The element is 0x3c0710f0. The reserve data 2 is 0x0.
W (1098) AUDIO_PIPELINE: There are no listener registered
I (1104) main_task: Returned from app_main()
The text was updated successfully, but these errors were encountered:
github-actionsbot
changed the title
M4A parsing fails for files recorded on Android (Google Pixel 8) devices
M4A parsing fails for files recorded on Android (Google Pixel 8) devices (AUD-5792)
Oct 23, 2024
After check, we found the m4a use co64 instead of stco box, which not yet supported by the parser.
We will check and try to enhance the parse logic. So your use senario including playback all recorded m4a file from all mobile devices? Use co64 box waste some storage size for small file ( < 4GB) actually, not quite suitable for IOT devices (which commonly use FATFS).
I have done the test for co64 support, you can dowload following lib and replace into folder esp-adf-libs/esp_codec/lib/esp32s3 and test whether it fix your issues. libesp_processing.zip
Custom Board using ESP-S3-PICO-1
ESP-IDF: release/v5.3 (707d097b01756687cca18be855a2675d150247ae)
ESP-ADF: v2.7 (9cf556d)
Hey,
I'm running into issues when trying to playback M4A recordings generated from Android devices. The sample m4a file, aswell as recordings from iOS work as expected.
The full log output can be found below.
Example of failing file: https://spades-test-public-access.s3.us-east-1.amazonaws.com/android.m4a
Log:
The text was updated successfully, but these errors were encountered: