From 0f7540708770a2ddd4c5afcb057e9ab89e658d3b Mon Sep 17 00:00:00 2001 From: martinp Date: Thu, 28 Aug 2003 20:02:10 +0000 Subject: Fix synchronization of recorded files when using Monitor application git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1446 f38db490-d61c-443f-a65b-d21fe96a405b --- formats/format_wav_gsm.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'formats/format_wav_gsm.c') diff --git a/formats/format_wav_gsm.c b/formats/format_wav_gsm.c index fbb97d6ab..55a607d2f 100755 --- a/formats/format_wav_gsm.c +++ b/formats/format_wav_gsm.c @@ -478,12 +478,14 @@ static int wav_seek(struct ast_filestream *fs, long sample_offset, int whence) distance = (sample_offset/320) * 65; if(whence == SEEK_SET) offset = distance + min; - if(whence == SEEK_CUR) + else if(whence == SEEK_CUR || whence == SEEK_FORCECUR) offset = distance + cur; - if(whence == SEEK_END) + else if(whence == SEEK_END) offset = max - distance; - offset = (offset < min)?min:offset; - offset = (offset > max)?max:offset; + if (whence != SEEK_FORCECUR) { + offset = (offset < min)?min:offset; + offset = (offset > max)?max:offset; + } fs->secondhalf = 0; return lseek(fs->fd, offset, SEEK_SET); } -- cgit v1.2.3