mirror of https://git.ffmpeg.org/ffmpeg.git
Better error messages
Commited in SoC by Vitor Sessak on 2008-04-10 18:35:09 Originally committed as revision 13304 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
325cb1efb2
commit
22260824c0
|
@ -139,20 +139,27 @@ static char *consume_string(const char **buf)
|
||||||
*/
|
*/
|
||||||
static void parse_link_name(const char **buf, char **name)
|
static void parse_link_name(const char **buf, char **name)
|
||||||
{
|
{
|
||||||
|
const char *start = *buf;
|
||||||
(*buf)++;
|
(*buf)++;
|
||||||
|
|
||||||
*name = consume_string(buf);
|
*name = consume_string(buf);
|
||||||
|
|
||||||
if(!*name[0])
|
if(!*name[0]) {
|
||||||
|
av_log(&log_ctx, AV_LOG_ERROR,
|
||||||
|
"Bad (empty?) label found in the following: \"%s\".\n", start);
|
||||||
goto fail;
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
if(*(*buf)++ != ']')
|
if(*(*buf)++ != ']') {
|
||||||
|
av_log(&log_ctx, AV_LOG_ERROR,
|
||||||
|
"Mismatched '[' found in the following: \"%s\".\n", start);
|
||||||
goto fail;
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
av_freep(name);
|
av_freep(name);
|
||||||
av_log(&log_ctx, AV_LOG_ERROR, "Could not parse link name!\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -212,6 +219,12 @@ static int parse_inouts(const char **buf, AVFilterInOut **inout, int pad,
|
||||||
while (**buf == '[') {
|
while (**buf == '[') {
|
||||||
AVFilterInOut *inoutn = av_malloc(sizeof(AVFilterInOut));
|
AVFilterInOut *inoutn = av_malloc(sizeof(AVFilterInOut));
|
||||||
parse_link_name(buf, &inoutn->name);
|
parse_link_name(buf, &inoutn->name);
|
||||||
|
|
||||||
|
if (!inoutn->name) {
|
||||||
|
av_free(inoutn);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
inoutn->type = type;
|
inoutn->type = type;
|
||||||
inoutn->filter = filter;
|
inoutn->filter = filter;
|
||||||
inoutn->pad_idx = pad++;
|
inoutn->pad_idx = pad++;
|
||||||
|
@ -263,6 +276,9 @@ int avfilter_parse_graph(AVFilterGraph *graph, const char *filters,
|
||||||
|
|
||||||
pad = parse_inouts(&inouts, &inout, chr == ',', LinkTypeIn, filter);
|
pad = parse_inouts(&inouts, &inout, chr == ',', LinkTypeIn, filter);
|
||||||
|
|
||||||
|
if(pad < 0)
|
||||||
|
goto fail;
|
||||||
|
|
||||||
// If the first filter has an input and none was given, it is
|
// If the first filter has an input and none was given, it is
|
||||||
// implicitly the input of the whole graph.
|
// implicitly the input of the whole graph.
|
||||||
if(pad == 0 && filter->input_count == 1) {
|
if(pad == 0 && filter->input_count == 1) {
|
||||||
|
|
Loading…
Reference in New Issue