|
|
|
@ -249,18 +249,24 @@ av_cold static int lavfi_read_header(AVFormatContext *avctx) |
|
|
|
|
AV_SAMPLE_FMT_FLT, AV_SAMPLE_FMT_DBL, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
ret = avfilter_graph_create_filter(&sink, abuffersink, |
|
|
|
|
inout->name, NULL, |
|
|
|
|
NULL, lavfi->graph); |
|
|
|
|
if (ret >= 0) |
|
|
|
|
ret = av_opt_set_bin(sink, "sample_fmts", (const uint8_t*)sample_fmts, |
|
|
|
|
sizeof(sample_fmts), AV_OPT_SEARCH_CHILDREN); |
|
|
|
|
sink = avfilter_graph_alloc_filter(lavfi->graph, abuffersink, inout->name); |
|
|
|
|
if (!sink) { |
|
|
|
|
ret = AVERROR(ENOMEM); |
|
|
|
|
goto end; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ret = av_opt_set_bin(sink, "sample_fmts", (const uint8_t*)sample_fmts, |
|
|
|
|
sizeof(sample_fmts), AV_OPT_SEARCH_CHILDREN); |
|
|
|
|
if (ret < 0) |
|
|
|
|
goto end; |
|
|
|
|
ret = av_opt_set_int(sink, "all_channel_counts", 1, |
|
|
|
|
AV_OPT_SEARCH_CHILDREN); |
|
|
|
|
if (ret < 0) |
|
|
|
|
goto end; |
|
|
|
|
|
|
|
|
|
ret = avfilter_init_dict(sink, NULL); |
|
|
|
|
if (ret < 0) |
|
|
|
|
goto end; |
|
|
|
|
} else { |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, |
|
|
|
|
"Output '%s' is not a video or audio output, not yet supported\n", inout->name); |
|
|
|
|