|
|
|
@ -26,14 +26,14 @@ |
|
|
|
|
|
|
|
|
|
static int usage(const char *argv0, int ret) |
|
|
|
|
{ |
|
|
|
|
fprintf(stderr, "%s [-b bytespersec] [-d duration] [-oi <options>] [-oo <options>] input_url output_url\n", argv0); |
|
|
|
|
fprintf(stderr, "%s [-b bytespersec] [-d duration] [-oi <options>] [-oo <options>] [-v] input_url output_url\n", argv0); |
|
|
|
|
fprintf(stderr, "<options>: AVOptions expressed as key=value, :-separated\n"); |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int main(int argc, char **argv) |
|
|
|
|
{ |
|
|
|
|
int bps = 0, duration = 0, ret, i; |
|
|
|
|
int bps = 0, duration = 0, verbose = 0, ret, i; |
|
|
|
|
const char *input_url = NULL, *output_url = NULL; |
|
|
|
|
int64_t stream_pos = 0; |
|
|
|
|
int64_t start_time; |
|
|
|
@ -65,6 +65,8 @@ int main(int argc, char **argv) |
|
|
|
|
return usage(argv[0], 1); |
|
|
|
|
} |
|
|
|
|
i++; |
|
|
|
|
} else if (!strcmp(argv[i], "-v")) { |
|
|
|
|
verbose = 1; |
|
|
|
|
} else if (!input_url) { |
|
|
|
|
input_url = argv[i]; |
|
|
|
|
} else if (!output_url) { |
|
|
|
@ -82,6 +84,14 @@ int main(int argc, char **argv) |
|
|
|
|
fprintf(stderr, "Unable to open %s: %s\n", input_url, errbuf); |
|
|
|
|
return 1; |
|
|
|
|
} |
|
|
|
|
if (verbose) { |
|
|
|
|
int64_t size = avio_seek(input, 0, AVSEEK_SIZE); |
|
|
|
|
if (size >= 0) { |
|
|
|
|
fprintf(stderr, "aviocat: input size: %"PRId64"\n", size); |
|
|
|
|
} else { |
|
|
|
|
fprintf(stderr, "aviocat: input size: unknown\n"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (duration && !bps) { |
|
|
|
|
int64_t size = avio_size(input); |
|
|
|
|
if (size < 0) { |
|
|
|
|