| @@ -312,31 +312,32 @@ av_cold static int lavfi_read_header(AVFormatContext *avctx) | |||
| /* fill each stream with the information in the corresponding sink */ | |||
| for (i = 0; i < lavfi->nb_sinks; i++) { | |||
| AVFilterLink *link = lavfi->sinks[lavfi->stream_sink_map[i]]->inputs[0]; | |||
| AVFilterContext *sink = lavfi->sinks[lavfi->stream_sink_map[i]]; | |||
| AVRational time_base = av_buffersink_get_time_base(sink); | |||
| AVStream *st = avctx->streams[i]; | |||
| st->codecpar->codec_type = link->type; | |||
| avpriv_set_pts_info(st, 64, link->time_base.num, link->time_base.den); | |||
| if (link->type == AVMEDIA_TYPE_VIDEO) { | |||
| st->codecpar->codec_type = av_buffersink_get_type(sink); | |||
| avpriv_set_pts_info(st, 64, time_base.num, time_base.den); | |||
| if (av_buffersink_get_type(sink) == AVMEDIA_TYPE_VIDEO) { | |||
| st->codecpar->codec_id = AV_CODEC_ID_RAWVIDEO; | |||
| st->codecpar->format = link->format; | |||
| st->codecpar->width = link->w; | |||
| st->codecpar->height = link->h; | |||
| st->codecpar->format = av_buffersink_get_format(sink); | |||
| st->codecpar->width = av_buffersink_get_w(sink); | |||
| st->codecpar->height = av_buffersink_get_h(sink); | |||
| st ->sample_aspect_ratio = | |||
| st->codecpar->sample_aspect_ratio = link->sample_aspect_ratio; | |||
| st->codecpar->sample_aspect_ratio = av_buffersink_get_sample_aspect_ratio(sink); | |||
| avctx->probesize = FFMAX(avctx->probesize, | |||
| link->w * link->h * | |||
| av_get_padded_bits_per_pixel(av_pix_fmt_desc_get(link->format)) * | |||
| av_buffersink_get_w(sink) * av_buffersink_get_h(sink) * | |||
| av_get_padded_bits_per_pixel(av_pix_fmt_desc_get(av_buffersink_get_format(sink))) * | |||
| 30); | |||
| } else if (link->type == AVMEDIA_TYPE_AUDIO) { | |||
| st->codecpar->codec_id = av_get_pcm_codec(link->format, -1); | |||
| st->codecpar->channels = avfilter_link_get_channels(link); | |||
| st->codecpar->format = link->format; | |||
| st->codecpar->sample_rate = link->sample_rate; | |||
| st->codecpar->channel_layout = link->channel_layout; | |||
| } else if (av_buffersink_get_type(sink) == AVMEDIA_TYPE_AUDIO) { | |||
| st->codecpar->codec_id = av_get_pcm_codec(av_buffersink_get_format(sink), -1); | |||
| st->codecpar->channels = av_buffersink_get_channels(sink); | |||
| st->codecpar->format = av_buffersink_get_format(sink); | |||
| st->codecpar->sample_rate = av_buffersink_get_sample_rate(sink); | |||
| st->codecpar->channel_layout = av_buffersink_get_channel_layout(sink); | |||
| if (st->codecpar->codec_id == AV_CODEC_ID_NONE) | |||
| av_log(avctx, AV_LOG_ERROR, | |||
| "Could not find PCM codec for sample format %s.\n", | |||
| av_get_sample_fmt_name(link->format)); | |||
| av_get_sample_fmt_name(av_buffersink_get_format(sink))); | |||
| } | |||
| } | |||
| @@ -400,7 +401,7 @@ static int lavfi_read_packet(AVFormatContext *avctx, AVPacket *pkt) | |||
| /* iterate through all the graph sinks. Select the sink with the | |||
| * minimum PTS */ | |||
| for (i = 0; i < lavfi->nb_sinks; i++) { | |||
| AVRational tb = lavfi->sinks[i]->inputs[0]->time_base; | |||
| AVRational tb = av_buffersink_get_time_base(lavfi->sinks[i]); | |||
| double d; | |||
| int ret; | |||