From 106f6429ecac6cc1c20ad0d9e776a6a1f5bdf25d Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Tue, 25 Oct 2011 03:49:59 +0000 Subject: 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 --- pjmedia/src/pjmedia/wav_player.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3