picref->type = AVMEDIA_TYPE_VIDEO;
pic->format = picref->format = format;
- memcpy(pic->data, data, sizeof(pic->data));
- memcpy(pic->linesize, linesize, sizeof(pic->linesize));
+ memcpy(pic->data, data, 4*sizeof(data[0]));
+ memcpy(pic->linesize, linesize, 4*sizeof(linesize[0]));
memcpy(picref->data, pic->data, sizeof(picref->data));
memcpy(picref->linesize, pic->linesize, sizeof(picref->linesize));
link->cur_buf = picref;
while(cmd && cmd->time <= picref->pts * av_q2d(link->time_base)){
+ av_log(link->dst, AV_LOG_DEBUG,
+ "Processing command time:%f command:%s arg:%s\n",
+ cmd->time, cmd->command, cmd->arg);
avfilter_process_command(link->dst, cmd->command, cmd->arg, 0, 0, cmd->flags);
command_queue_pop(link->dst);
cmd= link->dst->command_queue;
filter_samples(link, link->cur_buf);
}
-#define MAX_REGISTERED_AVFILTERS_NB 64
+#define MAX_REGISTERED_AVFILTERS_NB 128
static AVFilter *registered_avfilters[MAX_REGISTERED_AVFILTERS_NB + 1];
int avfilter_register(AVFilter *filter)
{
- if (next_registered_avfilter_idx == MAX_REGISTERED_AVFILTERS_NB)
- return -1;
+ if (next_registered_avfilter_idx == MAX_REGISTERED_AVFILTERS_NB) {
+ av_log(NULL, AV_LOG_ERROR,
+ "Maximum number of registered filters %d reached, "
+ "impossible to register filter with name '%s'\n",
+ MAX_REGISTERED_AVFILTERS_NB, filter->name);
+ return AVERROR(ENOMEM);
+ }
registered_avfilters[next_registered_avfilter_idx++] = filter;
return 0;