Записать аудио данные тишины в файл ffmpeg Переполнение стека

Я хочу записать данные тишины / обнуленные аудио в 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);

Но это звучит как шум точка точка вместо тишины. В чем проблема?

1

Решение

За μ-закон аудио нулевое значение представляется как 0xffтак что поменяйте:

memset(&pSilentData->data[0], 0, iDataSize);

чтобы:

memset(&pSilentData->data[0], 0xff, iDataSize);
4

Другие решения


По вопросам рекламы [email protected]