You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-04 22:03:09 +02:00
lavfi/f_sendcmd: add helper to clear Command
Makes clearing the Command more explicit and consistent.
This commit is contained in:
@ -138,6 +138,18 @@ static void skip_comments(const char **buf)
|
||||
|
||||
#define COMMAND_DELIMS " \f\t\n\r,;"
|
||||
|
||||
/**
|
||||
* Clears fields and frees the buffers used by @p cmd
|
||||
*/
|
||||
static void clear_command(Command *cmd)
|
||||
{
|
||||
cmd->flags = 0;
|
||||
cmd->index = 0;
|
||||
av_freep(&cmd->target);
|
||||
av_freep(&cmd->command);
|
||||
av_freep(&cmd->arg);
|
||||
}
|
||||
|
||||
static int parse_command(Command *cmd, int cmd_count, int interval_count,
|
||||
const char **buf, void *log_ctx)
|
||||
{
|
||||
@ -217,9 +229,7 @@ static int parse_command(Command *cmd, int cmd_count, int interval_count,
|
||||
return 1;
|
||||
|
||||
fail:
|
||||
av_freep(&cmd->target);
|
||||
av_freep(&cmd->command);
|
||||
av_freep(&cmd->arg);
|
||||
clear_command(cmd);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -471,9 +481,7 @@ static av_cold void uninit(AVFilterContext *ctx)
|
||||
Interval *interval = &s->intervals[i];
|
||||
for (j = 0; j < interval->nb_commands; j++) {
|
||||
Command *cmd = &interval->commands[j];
|
||||
av_freep(&cmd->target);
|
||||
av_freep(&cmd->command);
|
||||
av_freep(&cmd->arg);
|
||||
clear_command(cmd);
|
||||
}
|
||||
av_freep(&interval->commands);
|
||||
}
|
||||
|
Reference in New Issue
Block a user