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)) {
98 ast_cli(
a->fd,
"'%s' is an invalid filename!\n",
a->argv[2]);
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);
Asterisk main include file. File version handling, generic pbx functions.
#define ast_strdupa(s)
duplicate a string in memory from the stack
General Asterisk PBX channel definitions.
Standard Command Line Interface.
int ast_cli_unregister_multiple(struct ast_cli_entry *e, int len)
Unregister multiple commands.
#define AST_CLI_DEFINE(fn, txt,...)
void ast_cli(int fd, const char *fmt,...)
#define ast_cli_register_multiple(e, len)
Register multiple commands.
Generic File Format Support. Should be included by clients of the file handling routines....
struct ast_frame * ast_readframe(struct ast_filestream *s)
Read a frame from a filestream.
int ast_writestream(struct ast_filestream *fs, struct ast_frame *f)
Writes a frame to a stream.
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.
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.
int ast_filedelete(const char *filename, const char *fmt)
Deletes a file.
Asterisk module definitions.
#define AST_MODULE_INFO_STANDARD(keystr, desc)
#define ASTERISK_GPL_KEY
The text the key() function should return.
@ AST_MODULE_LOAD_SUCCESS
static int split_ext(char *filename, char **name, char **ext)
Split the filename to basename and extension.
static int load_module(void)
static struct ast_cli_entry cli_convert[]
static int unload_module(void)
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.
static force_inline int attribute_pure ast_strlen_zero(const char *s)
descriptor for a cli entry.
This structure is allocated by file.c in one chunk, together with buf_size and desc_size bytes of mem...
Data structure associated with a single frame of data.
int64_t ast_tvdiff_ms(struct timeval end, struct timeval start)
Computes the difference (in milliseconds) between two struct timeval instances.
struct timeval ast_tvnow(void)
Returns current timeval. Meant to replace calls to gettimeofday().