summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2009-10-20 14:54:57 +0000
committerNanang Izzuddin <nanang@teluu.com>2009-10-20 14:54:57 +0000
commitc9f969d4a2ce67738dda809309363f8fd0d839af (patch)
treed326b814040a6b715e20c4ce251478e219dfd38c /pjmedia
parent64bd1d034dd71b2896da1c74103861f9b8ce331e (diff)
Ticket #978: Fixed noise in APS G.729 playback/decoding on some devices by adopting G.729 SID/DTX frame handling from VAS implementation.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2958 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r--pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp b/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp
index 5a5058eb..b544f9cd 100644
--- a/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp
+++ b/pjmedia/src/pjmedia-audiodev/symb_aps_dev.cpp
@@ -1072,23 +1072,25 @@ static void PlayCb(TAPSCommBuffer &buf, void *user_data)
const TDesC8 &dst = bitstream->ExpandG729Frame(src,
sid_frame);
if (sid_frame) {
+ buf.iBuffer.Append(2);
buf.iBuffer.Append(0);
- buf.iBuffer.Append(1);
} else {
buf.iBuffer.Append(1);
buf.iBuffer.Append(0);
}
buf.iBuffer.Append(dst);
} else {
+ buf.iBuffer.Append(2);
buf.iBuffer.Append(0);
- buf.iBuffer.Append(0);
+ buf.iBuffer.AppendFill(0, 22);
}
pjmedia_frame_ext_pop_subframes(frame, 1);
} else { /* PJMEDIA_FRAME_TYPE_NONE */
- buf.iBuffer.Append(0);
- buf.iBuffer.Append(0);
+ buf.iBuffer.Append(2);
+ buf.iBuffer.Append(0);
+ buf.iBuffer.AppendFill(0, 22);
frame->samples_cnt = 0;
frame->subframe_cnt = 0;