1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

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
This commit is contained in:
Stefano Sabatini 2008-03-31 10:01:06 +00:00 committed by Robert Swain
parent 2ccf0a4290
commit 7542157d8a
3 changed files with 27 additions and 11 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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);