forgot chan_misdn
[asterisk/asterisk.git] / formats / format_g729.c
index f2eef83..cf7e20b 100644 (file)
  * \ingroup formats
  */
  
-#include <unistd.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <stdlib.h>
-#include <sys/time.h>
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-
 #include "asterisk.h"
 
 ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 
-#include "asterisk/lock.h"
-#include "asterisk/channel.h"
-#include "asterisk/file.h"
-#include "asterisk/logger.h"
-#include "asterisk/sched.h"
+#include "asterisk/mod_format.h"
 #include "asterisk/module.h"
 #include "asterisk/endian.h"
 
@@ -62,8 +49,8 @@ static struct ast_frame *g729_read(struct ast_filestream *s, int *whennext)
        s->fr.subclass = AST_FORMAT_G729A;
        s->fr.mallocd = 0;
        s->fr.samples = G729A_SAMPLES;
-       FR_SET_BUF(&s->fr, s->buf, AST_FRIENDLY_OFFSET, BUF_SIZE);
-       if ((res = fread(s->fr.data, 1, s->fr.datalen, s->f)) != s->fr.datalen) {
+       AST_FRAME_SET_BUFFER(&s->fr, s->buf, AST_FRIENDLY_OFFSET, BUF_SIZE);
+       if ((res = fread(s->fr.data.ptr, 1, s->fr.datalen, s->f)) != s->fr.datalen) {
                if (res && (res != 10)) /* XXX what for ? */
                        ast_log(LOG_WARNING, "Short read (%d) (%s)!\n", res, strerror(errno));
                return NULL;
@@ -87,7 +74,7 @@ static int g729_write(struct ast_filestream *fs, struct ast_frame *f)
                ast_log(LOG_WARNING, "Invalid data length, %d, should be multiple of 10\n", f->datalen);
                return -1;
        }
-       if ((res = fwrite(f->data, 1, f->datalen, fs->f)) != f->datalen) {
+       if ((res = fwrite(f->data.ptr, 1, f->datalen, fs->f)) != f->datalen) {
                        ast_log(LOG_WARNING, "Bad write (%d/10): %s\n", res, strerror(errno));
                        return -1;
        }
@@ -134,8 +121,6 @@ static off_t g729_tell(struct ast_filestream *fs)
        return (offset/BUF_SIZE)*G729A_SAMPLES;
 }
 
-static struct ast_format_lock me = { .usecnt = -1 };
-
 static const struct ast_format g729_f = {
        .name = "g729",
        .exts = "g729",
@@ -146,30 +131,18 @@ static const struct ast_format g729_f = {
        .tell = g729_tell,
        .read = g729_read,
        .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET,
-       .lockp = &me,
 };
 
-int load_module()
+static int load_module(void)
 {
-       return ast_format_register(&g729_f);
+       if (ast_format_register(&g729_f))
+               return AST_MODULE_LOAD_FAILURE;
+       return AST_MODULE_LOAD_SUCCESS;
 }
 
-int unload_module()
+static int unload_module(void)
 {
        return ast_format_unregister(g729_f.name);
 }      
 
-int usecount()
-{
-       return me.usecnt;
-}
-
-const char *description()
-{
-       return "Raw G729 data";
-}
-
-const char *key()
-{
-       return ASTERISK_GPL_KEY;
-}
+AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw G729 data");