diff options
author | Liong Sauw Ming <ming@teluu.com> | 2013-01-23 01:40:04 +0000 |
---|---|---|
committer | Liong Sauw Ming <ming@teluu.com> | 2013-01-23 01:40:04 +0000 |
commit | 7d2735ed7edeb7bd722fada9f2d3b21fd25ace9e (patch) | |
tree | 54b1040c176ab69988c91fbc2b15968c3b6eee23 /pjmedia | |
parent | e524f8fcddc53dba30ad850e27e8b607b70f0331 (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.c | 7 |
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 */ |