Я хочу записать данные тишины / обнуленные аудио в mov
файл медиа-контейнера внутри аудиоданных. Мои аудиоданные — это закодированные в G711 линейные данные PCM-mulaw с одним каналом. В настоящее время мой код выглядит так:
AVFrame* pSilentData = av_frame_alloc();
memset(&pSilentData->data[0], 0, iDataSize);
pkt.data = (uint8_t*) pSilentData;
pkt.size = iDataSize;
// ...
av_freep(&pSilentData->data[0]);
av_frame_free(&pSilentData);
Но это звучит как шум точка точка вместо тишины. В чем проблема?
За μ-закон аудио нулевое значение представляется как 0xff
так что поменяйте:
memset(&pSilentData->data[0], 0, iDataSize);
чтобы:
memset(&pSilentData->data[0], 0xff, iDataSize);