Fix wav format (bug #3837)
authorMark Spencer <markster@digium.com>
Wed, 23 Mar 2005 04:30:31 +0000 (04:30 +0000)
committerMark Spencer <markster@digium.com>
Wed, 23 Mar 2005 04:30:31 +0000 (04:30 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5233 65c4cc65-6c06-0410-ace0-fbb531ad65f3

formats/format_wav_gsm.c

index f3b4f85..b1a0c1c 100755 (executable)
@@ -55,7 +55,6 @@ struct ast_filestream {
           weird MS format */
        /* This is what a filestream means to us */
        int fd; /* Descriptor */
-       int bytes;
        struct ast_frame fr;                            /* Frame information */
        char waste[AST_FRIENDLY_OFFSET];        /* Buffer for sending frames, etc */
        char empty;                                                     /* Empty character */
@@ -402,7 +401,7 @@ static void wav_close(struct ast_filestream *s)
        ast_mutex_unlock(&wav_lock);
        ast_update_use_count();
        /* Pad to even length */
-       if (s->bytes & 0x1)
+       if (lseek(s->fd, 0, SEEK_END) & 0x1)
                write(s->fd, &zero, 1);
        close(s->fd);
        free(s);
@@ -462,7 +461,6 @@ static int wav_write(struct ast_filestream *fs, struct ast_frame *f)
                                ast_log(LOG_WARNING, "Bad write (%d/65): %s\n", res, strerror(errno));
                                return -1;
                        }
-                       fs->bytes += 65;
                        update_header(fs->fd);
                        len += 65;
                } else {
@@ -473,7 +471,6 @@ static int wav_write(struct ast_filestream *fs, struct ast_frame *f)
                                        ast_log(LOG_WARNING, "Bad write (%d/65): %s\n", res, strerror(errno));
                                        return -1;
                                }
-                               fs->bytes += 65;
                                update_header(fs->fd);
                        } else {
                                /* Copy the data and do nothing */