45 if ((*ext = strrchr(filename,
'.'))) {
71 char *file_in =
NULL, *file_out =
NULL;
72 char *name_in, *ext_in, *name_out, *ext_out;
78 "Usage: file convert <file_in> <file_out>\n" 79 " Convert from file_in to file_out. If an absolute path\n" 80 " is not given, the default Asterisk sounds directory\n" 83 " file convert tt-weasels.gsm tt-weasels.ulaw\n";
97 if (
split_ext(file_in, &name_in, &ext_in)) {
102 ast_cli(a->
fd,
"Unable to open input file: %s\n", a->
argv[2]);
106 if (
split_ext(file_out, &name_out, &ext_out)) {
107 ast_cli(a->
fd,
"'%s' is an invalid filename!\n", a->
argv[3]);
111 ast_cli(a->
fd,
"Unable to open output file: %s\n", a->
argv[3]);
120 ast_cli(a->
fd,
"Failed to convert %s.%s to %s.%s!\n", name_in, ext_in, name_out, ext_out);
127 ast_cli(a->
fd,
"Converted %s.%s to %s.%s in %dms\n", name_in, ext_in, name_out, ext_out, cost);
#define AST_CLI_DEFINE(fn, txt,...)
#define AST_MODULE_INFO_STANDARD(keystr, desc)
Asterisk main include file. File version handling, generic pbx functions.
int ast_cli_unregister_multiple(struct ast_cli_entry *e, int len)
Unregister multiple commands.
descriptor for a cli entry.
static char * handle_cli_file_convert(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
Convert a file from one format to another.
#define ast_cli_register_multiple(e, len)
Register multiple commands.
struct timeval ast_tvnow(void)
Returns current timeval. Meant to replace calls to gettimeofday().
int64_t ast_tvdiff_ms(struct timeval end, struct timeval start)
Computes the difference (in milliseconds) between two struct timeval instances.
Generic File Format Support. Should be included by clients of the file handling routines. File service providers should instead include mod_format.h.
int ast_filedelete(const char *filename, const char *fmt)
Deletes a file.
void ast_cli(int fd, const char *fmt,...)
#define ast_strlen_zero(foo)
General Asterisk PBX channel definitions.
#define ast_strdupa(s)
duplicate a string in memory from the stack
static int unload_module(void)
struct ast_frame * ast_readframe(struct ast_filestream *s)
Read a frame from a filestream.
static int load_module(void)
struct ast_filestream * ast_writefile(const char *filename, const char *type, const char *comment, int flags, int check, mode_t mode)
Starts writing a file.
int ast_closestream(struct ast_filestream *f)
Closes a stream.
static struct ast_cli_entry cli_convert[]
This structure is allocated by file.c in one chunk, together with buf_size and desc_size bytes of mem...
Standard Command Line Interface.
int ast_writestream(struct ast_filestream *fs, struct ast_frame *f)
Writes a frame to a stream.
Data structure associated with a single frame of data.
struct ast_filestream * ast_readfile(const char *filename, const char *type, const char *comment, int flags, int check, mode_t mode)
Starts reading from a file.
#define ASTERISK_GPL_KEY
The text the key() function should return.
Asterisk module definitions.
const ast_string_field filename
static int split_ext(char *filename, char **name, char **ext)
Split the filename to basename and extension.