diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c index 2630ba7c2205b61b6ed73dd30885a92aaf6da443..1270471863b305e85da3303417bb5547c16d0991 100755 --- a/res/res_musiconhold.c +++ b/res/res_musiconhold.c @@ -109,7 +109,7 @@ static int spawn_mp3(struct mohclass *class) { int fds[2]; int files; - char fns[80][MAX_MP3S]; + char fns[MAX_MP3S][80]; char *argv[MAX_MP3S + 50]; char xargs[256]; char *argptr; @@ -394,7 +394,7 @@ static void *moh_alloc(struct ast_channel *chan, void *params) return res; } -static int moh_generate(struct ast_channel *chan, void *data, int len) +static int moh_generate(struct ast_channel *chan, void *data, int len, int samples) { struct ast_frame f; struct mohdata *moh = data; @@ -416,7 +416,7 @@ static int moh_generate(struct ast_channel *chan, void *data, int len) f.subclass = AST_FORMAT_SLINEAR; f.mallocd = 0; f.datalen = res; - f.timelen = res / 8; + f.samples = res / 2; f.data = buf + AST_FRIENDLY_OFFSET / 2; f.offset = AST_FRIENDLY_OFFSET; if (ast_write(chan, &f)< 0) {