У меня есть программа, написанная на C, которая обрабатывает 24-битные аудиосэмплы и упаковывает их в RTP-пакеты для передачи по сети.
Мой код определяет «сэмпл» как объединение int32_tи массив uint8_t [4], чтобы я мог выполнять арифметические операции над целым образцом, а также получать доступ к его отдельным байтам для упаковки в схему кодирования L24, указанную в RFC3190.
Этот подход хорошо работает на обоих ARMи системы на базе Intel, компилируемые с помощью gcc. Тем не менее, я обеспокоен тем, что какой-то другой компилятор или архитектура могут дополнить элементы uint8_t и, следовательно, сломать мою программу. Это действительная проблема? Если да, то есть ли лучший способ обработки аудиоданных?