lavfi: deprecate aconvert.

This filter is not required anymore with aformat. Drop it at next bump.
This commit is contained in:
Clément Bœsch 2013-04-11 18:23:18 +02:00
parent 71ef1ec7b4
commit 9ab221f8d8
8 changed files with 16 additions and 5 deletions

View File

@ -37,7 +37,7 @@
#include <libavfilter/buffersink.h>
#include <libavfilter/buffersrc.h>
const char *filter_descr = "aresample=8000,aconvert=s16:mono";
const char *filter_descr = "aresample=8000,aformat=sample_fmts=s16:channel_layouts=mono";
const char *player = "ffplay -f s16le -ar 8000 -ac 1 -";
static AVFormatContext *fmt_ctx;

View File

@ -393,17 +393,17 @@ Appending @code{:v} to it will do exactly that.
Use @option{-dumpgraph -} to find out exactly where the channel layout is
lost.
Most likely, it is through @code{auto-inserted aconvert}. Try to understand
Most likely, it is through @code{auto-inserted aresample}. Try to understand
why the converting filter was needed at that place.
Just before the output is a likely place, as @option{-f lavfi} currently
only support packed S16.
Then insert the correct @code{aconvert} explicitly in the filtergraph,
Then insert the correct @code{aformat} explicitly in the filtergraph,
specifying the exact format.
@example
aconvert=s16:stereo:packed
aformat=sample_fmts=s16:channel_layouts=stereo
@end example
@section Why does FFmpeg not see the subtitles in my VOB file?

View File

@ -283,6 +283,8 @@ Below is a description of the currently available audio filters.
Convert the input audio format to the specified formats.
@emph{This filter is deprecated. Use @ref{aformat} instead.}
The filter accepts a string of the form:
"@var{sample_format}:@var{channel_layout}".

View File

@ -45,6 +45,8 @@ static av_cold int init(AVFilterContext *ctx, const char *args0)
int ret = 0;
char *args = av_strdup(args0);
av_log(ctx, AV_LOG_WARNING, "This filter is deprecated, use aformat instead\n");
aconvert->out_sample_fmt = AV_SAMPLE_FMT_NONE;
aconvert->out_chlayout = 0;

View File

@ -45,7 +45,9 @@ void avfilter_register_all(void)
return;
initialized = 1;
#if FF_API_ACONVERT_FILTER
REGISTER_FILTER(ACONVERT, aconvert, af);
#endif
REGISTER_FILTER(AFADE, afade, af);
REGISTER_FILTER(AFORMAT, aformat, af);
REGISTER_FILTER(ALLPASS, allpass, af);

View File

@ -675,7 +675,9 @@ static int process_options(AVFilterContext *ctx, AVDictionary **options,
// TODO: drop me
static const char *const filters_left_to_update[] = {
"abuffer",
#if FF_API_ACONVERT_FILTER
"aconvert",
#endif
"atempo",
"buffer",
"mp",

View File

@ -98,7 +98,7 @@ int avfilter_graph_create_filter(AVFilterContext **filt_ctx, AVFilter *filt,
* Enable or disable automatic format conversion inside the graph.
*
* Note that format conversion can still happen inside explicitly inserted
* scale and aconvert filters.
* scale and aresample filters.
*
* @param flags any of the AVFILTER_AUTO_CONVERT_* constants
*/

View File

@ -66,5 +66,8 @@
#ifndef FF_API_OLD_FILTER_OPTS
#define FF_API_OLD_FILTER_OPTS (LIBAVFILTER_VERSION_MAJOR < 4)
#endif
#ifndef FF_API_ACONVERT_FILTER
#define FF_API_ACONVERT_FILTER (LIBAVFILTER_VERSION_MAJOR < 4)
#endif
#endif /* AVFILTER_VERSION_H */