diff options
author | Anthony Minessale II <anthmct@yahoo.com> | 2004-09-23 15:26:01 +0000 |
---|---|---|
committer | Anthony Minessale II <anthmct@yahoo.com> | 2004-09-23 15:26:01 +0000 |
commit | 07a6cd45929fc8364a6a5e0bda2f262fb3d6e89d (patch) | |
tree | 309b85730863a8921979de183d7a033a099043c4 /app.c | |
parent | 762cd4621d476978e93e42a1fdbee27ba24d61c5 (diff) |
allow file arg in ast_control_streamfile to accept trailing :end to indicate an instant seek ti the end.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3824 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'app.c')
-rwxr-xr-x | app.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -416,6 +416,7 @@ int ast_control_streamfile(struct ast_channel *chan, char *file, char *fwd, char struct timeval started, ended; long elapsed = 0,last_elapsed =0; char *breaks=NULL; + char *end=NULL; int blen=2; int res=0; @@ -436,6 +437,13 @@ int ast_control_streamfile(struct ast_channel *chan, char *file, char *fwd, char if (chan) ast_stopstream(chan); + if(file) { + end = strchr(file,':'); + if(!strcasecmp(end,":end")) { + *end = '\0'; + end++; + } + } for (;;) { gettimeofday(&started,NULL); @@ -443,6 +451,10 @@ int ast_control_streamfile(struct ast_channel *chan, char *file, char *fwd, char ast_stopstream(chan); res = ast_streamfile(chan, file, chan->language); if (!res) { + if(end) { + ast_seekstream(chan->stream, 0, SEEK_END); + end=NULL; + } res = 1; if (elapsed) { ast_stream_fastforward(chan->stream, elapsed); |