diff options
author | Liong Sauw Ming <ming@teluu.com> | 2011-10-31 10:31:23 +0000 |
---|---|---|
committer | Liong Sauw Ming <ming@teluu.com> | 2011-10-31 10:31:23 +0000 |
commit | 5d2066e0c3368cce23090e842c407a35bc351a83 (patch) | |
tree | c188d02e9322edef6defc9161d8cb26a736108ba /pjmedia | |
parent | d63fe414b41e56ccdcb45f6924e60cdc8a2ad3a4 (diff) |
Re #1395: Backport of PJSIP 1.x branch into PJSIP 2.0 trunk
* Backport of r3833:r3877
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3878 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r-- | pjmedia/src/pjmedia-codec/ipp_codecs.c | 2 | ||||
-rw-r--r-- | pjmedia/src/pjmedia/stream.c | 5 | ||||
-rw-r--r-- | pjmedia/src/pjmedia/wav_player.c | 6 |
3 files changed, 11 insertions, 2 deletions
diff --git a/pjmedia/src/pjmedia-codec/ipp_codecs.c b/pjmedia/src/pjmedia-codec/ipp_codecs.c index a2ead05b..5f939d08 100644 --- a/pjmedia/src/pjmedia-codec/ipp_codecs.c +++ b/pjmedia/src/pjmedia-codec/ipp_codecs.c @@ -438,7 +438,7 @@ static pj_status_t parse_g723(ipp_private_t *codec_data, void *pkt, #endif /* PJMEDIA_HAS_INTEL_IPP_CODEC_G723_1 */ -#if PJMEDIA_HAS_INTEL_IPP_CODEC_AMR +#if PJMEDIA_HAS_INTEL_IPP_CODEC_AMR || PJMEDIA_HAS_INTEL_IPP_CODEC_AMRWB #include <pjmedia-codec/amr_helper.h> diff --git a/pjmedia/src/pjmedia/stream.c b/pjmedia/src/pjmedia/stream.c index 45a3830e..1da09c70 100644 --- a/pjmedia/src/pjmedia/stream.c +++ b/pjmedia/src/pjmedia/stream.c @@ -2072,6 +2072,11 @@ PJ_DEF(pj_status_t) pjmedia_stream_create( pjmedia_endpt *endpt, if (stream->codec_param.setting.frm_per_pkt < 1) stream->codec_param.setting.frm_per_pkt = 1; + /* Init the codec. */ + status = pjmedia_codec_init(stream->codec, pool); + if (status != PJ_SUCCESS) + goto err_cleanup; + /* Open the codec. */ status = pjmedia_codec_open(stream->codec, &stream->codec_param); if (status != PJ_SUCCESS) diff --git a/pjmedia/src/pjmedia/wav_player.c b/pjmedia/src/pjmedia/wav_player.c index 3bccd527..c5ec3059 100644 --- a/pjmedia/src/pjmedia/wav_player.c +++ b/pjmedia/src/pjmedia/wav_player.c @@ -461,9 +461,13 @@ PJ_DEF(pj_status_t) pjmedia_wav_player_port_set_pos(pjmedia_port *port, fport = (struct file_reader_port*) port; - PJ_ASSERT_RETURN(bytes < fport->fsize - fport->start_data, PJ_EINVAL); + /* Check that this offset does not pass the audio-data (in case of + * extra chunk after audio data chunk + */ + PJ_ASSERT_RETURN(bytes < fport->data_len, PJ_EINVAL); fport->fpos = fport->start_data + bytes; + fport->data_left = fport->data_len - bytes; pj_file_setpos( fport->fd, fport->fpos, PJ_SEEK_SET); fport->eof = PJ_FALSE; |