Commit 7542157d authored by Stefano Sabatini's avatar Stefano Sabatini Committed by Robert Swain
Browse files

Export parse_time_or_die from ffmpeg.c to cmdutils.c

Patch by Stefano Sabatini (stefano sabatini-lala poste it)

Originally committed as revision 12647 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 2ccf0a42
...@@ -52,6 +52,17 @@ double parse_number_or_die(const char *context, const char *numstr, int type, do ...@@ -52,6 +52,17 @@ double parse_number_or_die(const char *context, const char *numstr, int type, do
exit(1); exit(1);
} }
int64_t parse_time_or_die(const char *context, const char *timestr, int is_duration)
{
int64_t us = parse_date(timestr, is_duration);
if (us == INT64_MIN) {
fprintf(stderr, "Invalid %s specification for %s: %s\n",
is_duration ? "duration" : "date", context, timestr);
exit(1);
}
return us;
}
void show_help_options(const OptionDef *options, const char *msg, int mask, int value) void show_help_options(const OptionDef *options, const char *msg, int mask, int value)
{ {
const OptionDef *po; const OptionDef *po;
......
...@@ -39,6 +39,22 @@ ...@@ -39,6 +39,22 @@
*/ */
double parse_number_or_die(const char *context, const char *numstr, int type, double min, double max); double parse_number_or_die(const char *context, const char *numstr, int type, double min, double max);
/**
* Parses a string specifying a time and returns its corresponding
* value as a number of microseconds. Exits from the application if
* the string cannot be correctly parsed.
*
* @param context the context of the value to be set (e.g. the
* corresponding commandline option name)
* @param timestr the string to be parsed
* @param is_duration a flag which tells how to interpret \p timestr, if
* not zero \p timestr is interpreted as a duration, otherwise as a
* date
*
* @see av_parse_date()
*/
int64_t parse_time_or_die(const char *context, const char *timestr, int is_duration);
typedef struct { typedef struct {
const char *name; const char *name;
int flags; int flags;
......
...@@ -2580,17 +2580,6 @@ static void opt_map_meta_data(const char *arg) ...@@ -2580,17 +2580,6 @@ static void opt_map_meta_data(const char *arg)
m->in_file = strtol(p, &p, 0); m->in_file = strtol(p, &p, 0);
} }
static int64_t parse_time_or_die(const char *context, const char *timestr, int is_duration)
{
int64_t us = parse_date(timestr, is_duration);
if (us == INT64_MIN) {
fprintf(stderr, "Invalid %s specification for %s: %s\n",
is_duration ? "duration" : "date", context, timestr);
exit(1);
}
return us;
}
static int opt_recording_time(const char *opt, const char *arg) static int opt_recording_time(const char *opt, const char *arg)
{ {
recording_time = parse_time_or_die(opt, arg, 1); recording_time = parse_time_or_die(opt, arg, 1);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment