Почему этот malloc аварийно завершает работу для удаленного ввода-вывода?

Я пытаюсь использовать malloc для создания памяти для аудио-буфера для удаленного ввода-вывода. Это работает подавляющее большинство времени. Но недавно он зависал на некоторых iOS 6.0.1 - 6.1.3, странным образом на iPhone 5 и iPad 3-4, iPad 3-5 и iPad 3-6.

Размер буфера ниже. Не странно ли, что устройства с более высокой производительностью будут зависать при этом? Это потому, что они используются более агрессивно?

Моя мысль о том, как это исправить, состоит в том, чтобы перехватить эту попытку с помощью улова, а затем при ошибке попробовать половину размера. Обычно это обеспечивает 30 секунд "прослушивания" через микрофон.

СПАСИБО!!

Рон

int num_transfer_buffer_samples = 655350; 

transferBuffer = malloc((num_transfer_buffer_samples) * sizeof(float)); // CRASH

0 ответов

Другие вопросы по тегам