@@ -227,14 +227,31 @@ audio_dma_result audio_dma_setup_playback(
227
227
max_buffer_length /= dma -> sample_spacing ;
228
228
}
229
229
230
+ #ifdef PICO_RP2350
230
231
dma -> buffer [0 ] = (uint8_t * )port_realloc (dma -> buffer [0 ], max_buffer_length , true);
232
+ #else
233
+ dma -> buffer [0 ] = (uint8_t * )m_realloc (dma -> buffer [0 ],
234
+ #if MICROPY_MALLOC_USES_ALLOCATED_SIZE
235
+ dma -> buffer_length [0 ], // Old size
236
+ #endif
237
+ max_buffer_length );
238
+ #endif
231
239
dma -> buffer_length [0 ] = max_buffer_length ;
232
240
233
241
if (dma -> buffer [0 ] == NULL ) {
234
242
return AUDIO_DMA_MEMORY_ERROR ;
235
243
}
236
244
237
245
if (!single_buffer ) {
246
+ #ifdef PICO_RP2350
247
+ dma -> buffer [1 ] = (uint8_t * )port_realloc (dma -> buffer [0 ], max_buffer_length , true);
248
+ #else
249
+ dma -> buffer [1 ] = (uint8_t * )m_realloc (dma -> buffer [0 ],
250
+ #if MICROPY_MALLOC_USES_ALLOCATED_SIZE
251
+ dma -> buffer_length [1 ], // Old size
252
+ #endif
253
+ max_buffer_length );
254
+ #endif
238
255
dma -> buffer [1 ] = (uint8_t * )port_realloc (dma -> buffer [1 ], max_buffer_length , true);
239
256
dma -> buffer_length [1 ] = max_buffer_length ;
240
257
@@ -429,11 +446,27 @@ void audio_dma_init(audio_dma_t *dma) {
429
446
}
430
447
431
448
void audio_dma_deinit (audio_dma_t * dma ) {
449
+ #ifdef PICO_RP2350
432
450
port_free (dma -> buffer [0 ]);
451
+ #else
452
+ #if MICROPY_MALLOC_USES_ALLOCATED_SIZE
453
+ m_free (dma -> buffer [0 ], dma -> buffer_length [0 ]);
454
+ #else
455
+ m_free (dma -> buffer [0 ]);
456
+ #endif
457
+ #endif
433
458
dma -> buffer [0 ] = NULL ;
434
459
dma -> buffer_length [0 ] = 0 ;
435
460
461
+ #ifdef PICO_RP2350
436
462
port_free (dma -> buffer [1 ]);
463
+ #else
464
+ #if MICROPY_MALLOC_USES_ALLOCATED_SIZE
465
+ m_free (dma -> buffer [1 ], dma -> buffer_length [1 ]);
466
+ #else
467
+ m_free (dma -> buffer [1 ]);
468
+ #endif
469
+ #endif
437
470
dma -> buffer [1 ] = NULL ;
438
471
dma -> buffer_length [1 ] = 0 ;
439
472
}
0 commit comments