aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xapp.c10
-rwxr-xr-xapps/app_voicemail.c9
-rwxr-xr-xinclude/asterisk/app.h3
3 files changed, 16 insertions, 6 deletions
diff --git a/app.c b/app.c
index b72f0efcb..e272dce54 100755
--- a/app.c
+++ b/app.c
@@ -406,3 +406,13 @@ int ast_linear_stream(struct ast_channel *chan, const char *filename, int fd, in
}
return res;
}
+
+int ast_control_streamfile(struct ast_channel *chan, char *file,char *f,char *r,int skipms) {
+ int res;
+ if ((res = ast_streamfile(chan, file, chan->language)))
+ ast_log(LOG_WARNING, "Unable to stream file %s\n", file);
+ if (!res)
+ res = ast_waitstream_fr(chan, AST_DIGIT_ANY,f,r,skipms);
+ return res;
+}
+
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 37972cb49..8c0a2fef0 100755
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -2549,12 +2549,9 @@ static int wait_file2(struct ast_channel *chan, struct vm_state *vms, char *file
static int wait_file(struct ast_channel *chan, struct vm_state *vms, char *file)
{
- int res;
- if ((res = ast_streamfile(chan, file, chan->language)))
- ast_log(LOG_WARNING, "Unable to play message %s\n", file);
- if (!res)
- res = ast_waitstream_fr(chan, AST_DIGIT_ANY, "#", "*",skipms);
- return res;
+
+ return ast_control_streamfile(chan,file,"#","*",skipms);
+
}
static int play_message_datetime(struct ast_channel *chan, struct ast_vm_user *vmu, char *origtime, char *filename)
diff --git a/include/asterisk/app.h b/include/asterisk/app.h
index 0d0ec7b54..dacdf95eb 100755
--- a/include/asterisk/app.h
+++ b/include/asterisk/app.h
@@ -54,6 +54,9 @@ int ast_dtmf_stream(struct ast_channel *chan, struct ast_channel *peer, char *di
//! Stream a filename (or file descriptor) as a generator.
int ast_linear_stream(struct ast_channel *chan, const char *filename, int fd, int allowoverride);
+//! Stream a file with fast forward and reverse.
+int ast_control_streamfile(struct ast_channel *chan, char *file,char *f,char *r,int skipms);
+
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif