diff --git a/src/video_capture.c b/src/video_capture.c index 8d0e06a0c..a24ac1355 100644 --- a/src/video_capture.c +++ b/src/video_capture.c @@ -612,6 +612,8 @@ static bool vidcap_dispatch_alias(struct vidcap_params *params) char *delim = strchr(params->driver, ':'); params->fmt = strdup(delim + 1); *delim = '\0'; + } else { + params->fmt = params->driver + strlen(params->driver); // is '\0' } ret = true; } @@ -643,6 +645,8 @@ void vidcap_params_set_device(struct vidcap_params *params, const char *config) char *delim = strchr(params->driver, ':'); *delim = '\0'; params->fmt = strdup(delim + 1); + } else { + params->fmt = strdup(""); } } } diff --git a/src/video_capture/import.c b/src/video_capture/import.c index 4f6ba5e75..5b90dab48 100644 --- a/src/video_capture/import.c +++ b/src/video_capture/import.c @@ -307,9 +307,9 @@ vidcap_import_init(const struct vidcap_params *params) char *tmp = strdup(vidcap_params_get_fmt(params)); char *save_ptr; const char *directory = strtok_r(tmp, ":", &save_ptr); - if (strcmp(directory, "help") == 0) { + if (!directory || strcmp(directory, "help") == 0) { fprintf(stderr, "Import usage:\n" - "\t{:loop|:mt_reading=|:}"); + "\t{:loop|:mt_reading=|:o_direct}"); return NULL; } char *suffix;