Fix reading samples from format_mp3 after ast_seekstream/ast_tellstream.
authorSean Bright <sean@malleable.com>
Wed, 6 Jan 2010 15:35:43 +0000 (15:35 +0000)
committerSean Bright <sean@malleable.com>
Wed, 6 Jan 2010 15:35:43 +0000 (15:35 +0000)
There is a bug when using ast_seekstream/ast_tellstream with format_mp3 in that
the file read position is not reset before attempting to read samples.  So when
we seek to determine the maximum size of the file (as in res_agi's STREAM FILE)
we weren't then resetting the file pointer so that we could properly read
samples.  This patch addresses that (in a similar manner to format_wav.c).

(closes issue #15224)
Reported by: rbd
Patches:
      20091230_addons_1.4_issue15224.diff uploaded by seanbright (license 71)
Tested by: rbd, seanbright

Review: https://reviewboard.asterisk.org/r/453

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@238014 65c4cc65-6c06-0410-ace0-fbb531ad65f3

addons/format_mp3.c

index 4e71961..ceb1acc 100644 (file)
@@ -264,7 +264,7 @@ static int mp3_seek(struct ast_filestream *s, off_t sample_offset, int whence)
        }
 
        p->seek = offset;
-       return p->seek;
+       return fseek(s->f, offset, SEEK_SET);
        
 }