summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2013-01-23 01:40:04 +0000
committerLiong Sauw Ming <ming@teluu.com>2013-01-23 01:40:04 +0000
commit7d2735ed7edeb7bd722fada9f2d3b21fd25ace9e (patch)
tree54b1040c176ab69988c91fbc2b15968c3b6eee23 /pjmedia
parente524f8fcddc53dba30ad850e27e8b607b70f0331 (diff)
Re #1586: Fixed samples_per_frame calculation
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4328 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r--pjmedia/src/pjmedia-codec/silk.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/pjmedia/src/pjmedia-codec/silk.c b/pjmedia/src/pjmedia-codec/silk.c
index 5d2c8a76..f2e1df27 100644
--- a/pjmedia/src/pjmedia-codec/silk.c
+++ b/pjmedia/src/pjmedia-codec/silk.c
@@ -619,13 +619,14 @@ static pj_status_t silk_codec_open(pjmedia_codec *codec,
/* Setup encoder control for encoding process */
silk->enc_ready = PJ_TRUE;
- silk->samples_per_frame = attr->setting.frm_per_pkt * FRAME_LENGTH_MS *
+ silk->samples_per_frame = FRAME_LENGTH_MS *
attr->info.clock_rate / 1000;
silk->pcm_bytes_per_sample = attr->info.pcm_bits_per_sample / 8;
silk->enc_ctl.API_sampleRate = attr->info.clock_rate;
silk->enc_ctl.maxInternalSampleRate = attr->info.clock_rate;
- silk->enc_ctl.packetSize = silk->samples_per_frame;
+ silk->enc_ctl.packetSize = attr->setting.frm_per_pkt *
+ silk->samples_per_frame;
/* For useInBandFEC setting to be useful, we need to set
* packetLossPercentage greater than LBRR_LOSS_THRES (1)
*/
@@ -721,7 +722,7 @@ static pj_status_t silk_codec_encode(pjmedia_codec *codec,
/* Check frame in size */
nsamples = input->size >> 1;
- PJ_ASSERT_RETURN(nsamples == silk->samples_per_frame,
+ PJ_ASSERT_RETURN(nsamples % silk->samples_per_frame == 0,
PJMEDIA_CODEC_EPCMFRMINLEN);
/* Encode */