diff options
author | Burt P <pburt0@gmail.com> | 2016-08-08 11:14:08 -0500 |
---|---|---|
committer | Burt P <pburt0@gmail.com> | 2016-08-08 11:17:27 -0500 |
commit | dbd7a84c814161926e5f298eae1f5ea17082f814 (patch) | |
tree | 97eaf791759a7324c0a9a1b5bf14a550d864f3b3 | |
parent | b2b659b17df235d49f2d164a1a8284dae37a2133 (diff) | |
download | ffmpeg-dbd7a84c814161926e5f298eae1f5ea17082f814.tar.gz |
af_hdcd: Don't warn if converting from AV_SAMPLE_FMT_S16P
Also checking AVFilterLink->type is AVMEDIA_TYPE_AUDIO before
calling av_get_sample_fmt_name() on AVFilterLink->format.
Signed-off-by: Burt P <pburt0@gmail.com>
-rw-r--r-- | libavfilter/af_hdcd.c | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/libavfilter/af_hdcd.c b/libavfilter/af_hdcd.c index e4e37e2928..9377eb6b5c 100644 --- a/libavfilter/af_hdcd.c +++ b/libavfilter/af_hdcd.c @@ -1714,13 +1714,17 @@ static int config_input(AVFilterLink *inlink) { AVFilterLink *lk = inlink; while(lk != NULL) { AVFilterContext *nextf = lk->src; - if (lk->format != AV_SAMPLE_FMT_S16 || lk->sample_rate != 44100) { - av_log(ctx, AV_LOG_WARNING, "An input format is %s@%dHz at %s. It will truncated/resampled to s16@44100Hz.\n", - av_get_sample_fmt_name(lk->format), lk->sample_rate, - (nextf->name) ? nextf->name : "<unknown>" - ); - s->bad_config = 1; - break; + if (lk->type == AVMEDIA_TYPE_AUDIO) { + int sfok = (lk->format == AV_SAMPLE_FMT_S16 || + lk->format == AV_SAMPLE_FMT_S16P); + if ( !sfok || lk->sample_rate != 44100) { + av_log(ctx, AV_LOG_WARNING, "An input format is %s@%dHz at %s. It will truncated/resampled to s16@44100Hz.\n", + av_get_sample_fmt_name(lk->format), lk->sample_rate, + (nextf->name) ? nextf->name : "<unknown>" + ); + s->bad_config = 1; + break; + } } lk = (nextf->inputs) ? nextf->inputs[0] : NULL; } @@ -1746,13 +1750,15 @@ static int config_output(AVFilterLink *outlink) { AVFilterLink *lk = outlink; while(lk != NULL) { AVFilterContext *nextf = lk->dst; - if (lk->format == AV_SAMPLE_FMT_S16 || lk->format == AV_SAMPLE_FMT_U8) { - av_log(ctx, AV_LOG_WARNING, "s24 output is being truncated to %s at %s. (Try -f s24le after the filter)\n", - av_get_sample_fmt_name(lk->format), - (nextf->name) ? nextf->name : "<unknown>" - ); - s->bad_config = 1; - break; + if (lk->type == AVMEDIA_TYPE_AUDIO) { + if (lk->format == AV_SAMPLE_FMT_S16 || lk->format == AV_SAMPLE_FMT_U8) { + av_log(ctx, AV_LOG_WARNING, "s24 output is being truncated to %s at %s.\n", + av_get_sample_fmt_name(lk->format), + (nextf->name) ? nextf->name : "<unknown>" + ); + s->bad_config = 1; + break; + } } lk = (nextf->outputs) ? nextf->outputs[0] : NULL; } |