Convert a file from one format to another.
73 char *file_in = NULL, *file_out = NULL;
74 char *name_in, *ext_in, *name_out, *ext_out;
80 "Usage: file convert <file_in> <file_out>\n"
81 " Convert from file_in to file_out. If an absolute path\n"
82 " is not given, the default Asterisk sounds directory\n"
85 " file convert tt-weasels.gsm tt-weasels.ulaw\n";
102 if (
split_ext(file_in, &name_in, &ext_in)) {
103 ast_cli(a->
fd,
"'%s' is an invalid filename!\n", a->
argv[2]);
106 if (!(fs_in =
ast_readfile(name_in, ext_in, NULL, O_RDONLY, 0, 0))) {
107 ast_cli(a->
fd,
"Unable to open input file: %s\n", a->
argv[2]);
111 if (
split_ext(file_out, &name_out, &ext_out)) {
112 ast_cli(a->
fd,
"'%s' is an invalid filename!\n", a->
argv[3]);
116 ast_cli(a->
fd,
"Unable to open output file: %s\n", a->
argv[3]);
125 ast_cli(a->
fd,
"Failed to convert %s.%s to %s.%s!\n", name_in, ext_in, name_out, ext_out);
132 ast_cli(a->
fd,
"Converted %s.%s to %s.%s in %dms\n", name_in, ext_in, name_out, ext_out, cost);
void ast_module_unref(struct ast_module *)
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.
int ast_filedelete(const char *filename, const char *fmt)
Deletes a file.
void ast_cli(int fd, const char *fmt,...)
static force_inline int attribute_pure ast_strlen_zero(const char *s)
#define ast_strdupa(s)
duplicate a string in memory from the stack
struct ast_frame * ast_readframe(struct ast_filestream *s)
Read a frame from a filestream.
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.
This structure is allocated by file.c in one chunk, together with buf_size and desc_size bytes of mem...
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.
static int split_ext(char *filename, char **name, char **ext)
Split the filename to basename and extension.
struct ast_module * ast_module_ref(struct ast_module *)