mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
ffmpeg: init simple filter graph before trying to extract framerate from its output.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
dfd8f2ff19
commit
cbb2c95e47
22
ffmpeg.c
22
ffmpeg.c
@ -3078,6 +3078,17 @@ static int transcode_init(void)
|
|||||||
ist->decoding_needed = 1;
|
ist->decoding_needed = 1;
|
||||||
ost->encoding_needed = 1;
|
ost->encoding_needed = 1;
|
||||||
|
|
||||||
|
if (!ost->filter &&
|
||||||
|
(codec->codec_type == AVMEDIA_TYPE_VIDEO ||
|
||||||
|
codec->codec_type == AVMEDIA_TYPE_AUDIO)) {
|
||||||
|
FilterGraph *fg;
|
||||||
|
fg = init_simple_filtergraph(ist, ost);
|
||||||
|
if (configure_filtergraph(fg)) {
|
||||||
|
av_log(NULL, AV_LOG_FATAL, "Error opening filters!\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (codec->codec_type == AVMEDIA_TYPE_VIDEO) {
|
if (codec->codec_type == AVMEDIA_TYPE_VIDEO) {
|
||||||
if (ost->filter && !ost->frame_rate.num)
|
if (ost->filter && !ost->frame_rate.num)
|
||||||
ost->frame_rate = av_buffersink_get_frame_rate(ost->filter->filter);
|
ost->frame_rate = av_buffersink_get_frame_rate(ost->filter->filter);
|
||||||
@ -3090,17 +3101,6 @@ static int transcode_init(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ost->filter &&
|
|
||||||
(codec->codec_type == AVMEDIA_TYPE_VIDEO ||
|
|
||||||
codec->codec_type == AVMEDIA_TYPE_AUDIO)) {
|
|
||||||
FilterGraph *fg;
|
|
||||||
fg = init_simple_filtergraph(ist, ost);
|
|
||||||
if (configure_filtergraph(fg)) {
|
|
||||||
av_log(NULL, AV_LOG_FATAL, "Error opening filters!\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (codec->codec_type) {
|
switch (codec->codec_type) {
|
||||||
case AVMEDIA_TYPE_AUDIO:
|
case AVMEDIA_TYPE_AUDIO:
|
||||||
codec->sample_fmt = ost->filter->filter->inputs[0]->format;
|
codec->sample_fmt = ost->filter->filter->inputs[0]->format;
|
||||||
|
Loading…
Reference in New Issue
Block a user