summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2011-10-31 10:31:23 +0000
committerLiong Sauw Ming <ming@teluu.com>2011-10-31 10:31:23 +0000
commit5d2066e0c3368cce23090e842c407a35bc351a83 (patch)
treec188d02e9322edef6defc9161d8cb26a736108ba /pjmedia
parentd63fe414b41e56ccdcb45f6924e60cdc8a2ad3a4 (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.c2
-rw-r--r--pjmedia/src/pjmedia/stream.c5
-rw-r--r--pjmedia/src/pjmedia/wav_player.c6
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;