summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2011-10-25 03:49:59 +0000
committerBenny Prijono <bennylp@teluu.com>2011-10-25 03:49:59 +0000
commit106f6429ecac6cc1c20ad0d9e776a6a1f5bdf25d (patch)
treec38b43c620671a79aac9e199dac8ffad067d9644 /pjmedia
parenta5a57d7faacd76725a6d8650393520e9af8c9b32 (diff)
WAV playback is cut in the end if pjmedia_wav_player_port_set_pos() is called. Thanks Eize Slange for the patch (re #1252)
git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3846 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r--pjmedia/src/pjmedia/wav_player.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/pjmedia/src/pjmedia/wav_player.c b/pjmedia/src/pjmedia/wav_player.c
index e4ad3b48..8ebaba8f 100644
--- a/pjmedia/src/pjmedia/wav_player.c
+++ b/pjmedia/src/pjmedia/wav_player.c
@@ -462,9 +462,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;