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