fix wav fomat (bug #3837)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@5329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.0
Russell Bryant 20 years ago
parent f56ba6a441
commit 1e2baaf12e

@ -14,10 +14,11 @@
-- res_agi -- res_agi
-- A fix has been added to prevent calls from being hung up when more than one -- A fix has been added to prevent calls from being hung up when more than one
call is executing an AGI script calling the GET DATA command. call is executing an AGI script calling the GET DATA command.
-- asterisk.spec
-- A line was missing for the autosupport script that caused "make rpm" to fail
-- general -- general
-- A problem has been fixed with saying the date in Spanish. -- A problem has been fixed with saying the date in Spanish.
-- A line was missing for the autosupport script that caused "make rpm" to fail
-- Fixed a problem with wav formatting that prevented files from being played
in some media players
Asterisk 1.0.7 Asterisk 1.0.7

@ -51,7 +51,6 @@ struct ast_filestream {
weird MS format */ weird MS format */
/* This is what a filestream means to us */ /* This is what a filestream means to us */
int fd; /* Descriptor */ int fd; /* Descriptor */
int bytes;
struct ast_frame fr; /* Frame information */ struct ast_frame fr; /* Frame information */
char waste[AST_FRIENDLY_OFFSET]; /* Buffer for sending frames, etc */ char waste[AST_FRIENDLY_OFFSET]; /* Buffer for sending frames, etc */
char empty; /* Empty character */ char empty; /* Empty character */
@ -398,7 +397,7 @@ static void wav_close(struct ast_filestream *s)
ast_mutex_unlock(&wav_lock); ast_mutex_unlock(&wav_lock);
ast_update_use_count(); ast_update_use_count();
/* Pad to even length */ /* Pad to even length */
if (s->bytes & 0x1) if (lseek(s->fd, 0, SEEK_END) & 0x1)
write(s->fd, &zero, 1); write(s->fd, &zero, 1);
close(s->fd); close(s->fd);
free(s); free(s);
@ -458,7 +457,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)); ast_log(LOG_WARNING, "Bad write (%d/65): %s\n", res, strerror(errno));
return -1; return -1;
} }
fs->bytes += 65;
update_header(fs->fd); update_header(fs->fd);
len += 65; len += 65;
} else { } else {
@ -469,7 +467,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)); ast_log(LOG_WARNING, "Bad write (%d/65): %s\n", res, strerror(errno));
return -1; return -1;
} }
fs->bytes += 65;
update_header(fs->fd); update_header(fs->fd);
} else { } else {
/* Copy the data and do nothing */ /* Copy the data and do nothing */

Loading…
Cancel
Save