Opened 13 years ago
Closed 13 years ago
#1410 closed defect (fixed)
Assertion and noise when using AMR-WB with multiple frames per packet (thanks Olle Frimanson for the report)
Reported by: | nanang | Owned by: | nanang |
---|---|---|---|
Priority: | normal | Milestone: | release-1.12 |
Component: | pjmedia | Version: | 1.x-branch |
Keywords: | Cc: | ||
Backport to 1.x milestone: | Backported: |
Description
Assertion line:
amr_helper.h:922: pjmedia_codec_amr_pack: Assertion `FT <= SID_FT || FT == 14 || FT == 15' failed.
After investigation, a fatal bug is found in ipp_codecs.c pack_amr() in setting up AMR-WB frame size, i.e: using AMR-NB frame size table instead of AMR-WB's.
This will cause wrong AMR-WB data pointers returned by the encoder (only the first frame gets the correct pointer) and the RTP payload generated (by AMR packetizer) will contain corrupted bitstream. So even if assertion is not raised, e.g: release mode or accidentally packetizer always read valid frame types in the wrong data pointer, this will definitely cause noise.
Note that in single frame per packet this issue is never raised as the first frame pointer always points to correct AMR bistream and the AMR packetizer doesn't really read the frame size info supplied by encoder (it uses AMR frame size lookup table instead).
Change History (1)
comment:1 Changed 13 years ago by nanang
- Resolution set to fixed
- Status changed from new to closed
(In [3879]) Fix #1410: