5

我正在为 VoIP 音频开发通话记录器,音频是在 CISCO 环境中使用 g722 编解码器编码的。好吧,我已经从 RTPs 帧中提取了数据,并且我已经解码了这个 pcm 数据,如下所示:

unsigned int payloadSize = htons(udpHdr->len) - (CONSTANT::UDP_HDR_SIZE + CONSTANT::RTP_HDR_SIZE);
char * payload = (char*)rtpHdr + CONSTANT::RTP_HDR_SIZE;
  unsigned short m_payloadType = rtpHdr->pt;
//decode_state is initialize like :g722_decode_init(NULL, 64000, G722_SAMPLE_RATE_8000);
outBuffSize = g722_decode(decode_state, decompressed, (const uint8_t*)payload, payloadSize);

我将此解码数据(以及相同流的所有帧,相等的 sscr)存储在一个文件中,当尝试听到音频时,我只听到噪音。

我认为这个问题是针对使用 CISCO 的压缩算法的。

解码函数的行为是正确的。

有什么建议吗?

4

0 回答 0