lavfi: set link audio time_base if not set in avfilter_config_links()
authorStefano Sabatini <stefasab@gmail.com>
Fri, 16 Sep 2011 10:38:31 +0000 (12:38 +0200)
committerStefano Sabatini <stefasab@gmail.com>
Fri, 16 Sep 2011 18:44:26 +0000 (20:44 +0200)
The set value depends on the input link, or on the sample_rate value.
Avoids the need to explicitely set the time_base value.

libavfilter/avfilter.c

index 78e91c8..df1dd65 100644 (file)
@@ -299,12 +299,17 @@ int avfilter_config_links(AVFilterContext *filter)
                 if (link->src->input_count) {
                     if (!link->sample_rate)
                         link->sample_rate = link->src->inputs[0]->sample_rate;
+                    if (!link->time_base.num && !link->time_base.den)
+                        link->time_base = link->src->inputs[0]->time_base;
                 } else if (!link->sample_rate) {
                     av_log(link->src, AV_LOG_ERROR,
                            "Audio source filters must set their output link's "
                            "sample_rate\n");
                     return AVERROR(EINVAL);
                 }
+
+                if (!link->time_base.num && !link->time_base.den)
+                    link->time_base = (AVRational) {1, link->sample_rate};
             }
 
             if ((config_link = link->dstpad->config_props))