summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmdutils.c11
-rw-r--r--cmdutils.h16
-rw-r--r--ffmpeg.c11
3 files changed, 27 insertions, 11 deletions
diff --git a/cmdutils.c b/cmdutils.c
index 36508d25b4..3eb9c18ecd 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -52,6 +52,17 @@ double parse_number_or_die(const char *context, const char *numstr, int type, do
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)
{
const OptionDef *po;
diff --git a/cmdutils.h b/cmdutils.h
index d06a1f8e83..1e27d8fcc2 100644
--- a/cmdutils.h
+++ b/cmdutils.h
@@ -39,6 +39,22 @@
*/
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 {
const char *name;
int flags;
diff --git a/ffmpeg.c b/ffmpeg.c
index 7c8ff4910e..753cd20cb0 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2580,17 +2580,6 @@ static void opt_map_meta_data(const char *arg)
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)
{
recording_time = parse_time_or_die(opt, arg, 1);