|
|
@ -547,9 +547,14 @@ static int handle_streamfile(struct ast_channel *chan, AGI *agi, int argc, char
|
|
|
|
struct ast_filestream *vfs;
|
|
|
|
struct ast_filestream *vfs;
|
|
|
|
long sample_offset = 0;
|
|
|
|
long sample_offset = 0;
|
|
|
|
long max_length;
|
|
|
|
long max_length;
|
|
|
|
|
|
|
|
char *edigits = "";
|
|
|
|
|
|
|
|
|
|
|
|
if (argc < 4 || argc > 5)
|
|
|
|
if (argc < 4 || argc > 5)
|
|
|
|
return RESULT_SHOWUSAGE;
|
|
|
|
return RESULT_SHOWUSAGE;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (argv[3])
|
|
|
|
|
|
|
|
edigits = argv[3];
|
|
|
|
|
|
|
|
|
|
|
|
if ((argc > 4) && (sscanf(argv[4], "%ld", &sample_offset) != 1))
|
|
|
|
if ((argc > 4) && (sscanf(argv[4], "%ld", &sample_offset) != 1))
|
|
|
|
return RESULT_SHOWUSAGE;
|
|
|
|
return RESULT_SHOWUSAGE;
|
|
|
|
|
|
|
|
|
|
|
@ -563,6 +568,9 @@ static int handle_streamfile(struct ast_channel *chan, AGI *agi, int argc, char
|
|
|
|
if (vfs)
|
|
|
|
if (vfs)
|
|
|
|
ast_log(LOG_DEBUG, "Ooh, found a video stream, too\n");
|
|
|
|
ast_log(LOG_DEBUG, "Ooh, found a video stream, too\n");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (option_verbose > 2)
|
|
|
|
|
|
|
|
ast_verbose(VERBOSE_PREFIX_3 "Playing '%s' (escape_digits=%s) (sample_offset %ld)\n", argv[2], edigits, sample_offset);
|
|
|
|
|
|
|
|
|
|
|
|
ast_seekstream(fs, 0, SEEK_END);
|
|
|
|
ast_seekstream(fs, 0, SEEK_END);
|
|
|
|
max_length = ast_tellstream(fs);
|
|
|
|
max_length = ast_tellstream(fs);
|
|
|
|
ast_seekstream(fs, sample_offset, SEEK_SET);
|
|
|
|
ast_seekstream(fs, sample_offset, SEEK_SET);
|
|
|
@ -600,7 +608,7 @@ static int handle_getoption(struct ast_channel *chan, AGI *agi, int argc, char *
|
|
|
|
long sample_offset = 0;
|
|
|
|
long sample_offset = 0;
|
|
|
|
long max_length;
|
|
|
|
long max_length;
|
|
|
|
int timeout = 0;
|
|
|
|
int timeout = 0;
|
|
|
|
char *edigits = NULL;
|
|
|
|
char *edigits = "";
|
|
|
|
|
|
|
|
|
|
|
|
if ( argc < 4 || argc > 5 )
|
|
|
|
if ( argc < 4 || argc > 5 )
|
|
|
|
return RESULT_SHOWUSAGE;
|
|
|
|
return RESULT_SHOWUSAGE;
|
|
|
|