[Asterisk-cvs] asterisk-addons/format_mp3 format_mp3.c,1.3,1.4
markster
markster
Sun Oct 16 23:48:22 CDT 2005
Update of /usr/cvsroot/asterisk-addons/format_mp3
In directory mongoose.digium.com:/tmp/cvs-serv26947/format_mp3
Modified Files:
format_mp3.c
Log Message:
Update format mp3 for new streams based methods
Index: format_mp3.c
===================================================================
RCS file: /usr/cvsroot/asterisk-addons/format_mp3/format_mp3.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- format_mp3.c 9 Jan 2005 09:06:33 -0000 1.3
+++ format_mp3.c 17 Oct 2005 03:42:26 -0000 1.4
@@ -46,7 +46,7 @@
struct ast_filestream {
void *reserved[AST_RESERVED_POINTERS];
/* This is what a filestream means to us */
- int fd; /* Descriptor */
+ FILE *f; /* Descriptor */
struct ast_frame fr; /* Frame information */
char waste[AST_FRIENDLY_OFFSET]; /* Buffer for sending frames, etc */
char empty; /* Empty character */
@@ -103,7 +103,7 @@
#endif
-static struct ast_filestream *mp3_open(int fd)
+static struct ast_filestream *mp3_open(FILE *f)
{
struct ast_filestream *tmp;
if ((tmp = malloc(sizeof(struct ast_filestream)))) {
@@ -115,7 +115,7 @@
}
InitMP3(&tmp->mp, OUTSCALE);
tmp->dbuflen = 0;
- tmp->fd = fd;
+ tmp->f = f;
tmp->fr.data = tmp->buf;
tmp->fr.frametype = AST_FRAME_VOICE;
tmp->fr.subclass = AST_FORMAT_SLINEAR;
@@ -143,7 +143,7 @@
glistcnt--;
ast_mutex_unlock(&mp3_lock);
ast_update_use_count();
- close(s->fd);
+ fclose(s->f);
free(s);
s = NULL;
@@ -152,8 +152,8 @@
static int mp3_squeue(struct ast_filestream *s)
{
int res=0;
- s->lastseek = lseek(s->fd, 0, SEEK_CUR);
- s->sbuflen = read(s->fd, s->sbuf, MP3_SCACHE);
+ s->lastseek = ftell(s->f);
+ s->sbuflen = fread(s->sbuf, 1, MP3_SCACHE, s->f);
if(s->sbuflen < 0) {
ast_log(LOG_WARNING, "Short read (%d) (%s)!\n", s->sbuflen, strerror(errno));
return -1;
@@ -179,7 +179,7 @@
if(s->seek) {
ExitMP3(&s->mp);
InitMP3(&s->mp, OUTSCALE);
- lseek(s->fd, 0, SEEK_SET);
+ fseek(s->f, 0, SEEK_SET);
s->sbuflen = s->dbuflen = s->offset = 0;
while(s->offset < s->seek) {
if(mp3_squeue(s))
@@ -279,7 +279,8 @@
samples = sample_offset * 2;
min = 0;
- max = lseek(fs->fd, 0, SEEK_END) * 100;
+ fseek(fs->f, 0, SEEK_END);
+ max = ftell(fs->f) * 100;
cur = fs->offset;
if (whence == SEEK_SET)
@@ -297,7 +298,7 @@
}
-static struct ast_filestream *mp3_rewrite(int fd, const char *comment)
+static struct ast_filestream *mp3_rewrite(FILE *f, const char *comment)
{
ast_log(LOG_ERROR,"I Can't write MP3 only read them.\n");
return NULL;
More information about the svn-commits
mailing list