Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas George <george@nsup.org>2016-12-18 14:35:25 +0300
committerNicolas George <george@nsup.org>2017-01-12 16:06:16 +0300
commit063b1a42c65cd99e400e1a8468228e1ed4af4b09 (patch)
tree6c3730c5ca898488bd20028307269db3d0850d33 /libavdevice
parent448f2972f9f9e325139d5e19a8147994f465928e (diff)
lavd/lavfi: use buffersink accessors.
Diffstat (limited to 'libavdevice')
-rw-r--r--libavdevice/lavfi.c37
1 files changed, 19 insertions, 18 deletions
diff --git a/libavdevice/lavfi.c b/libavdevice/lavfi.c
index f9b2694650..eca3f15934 100644
--- a/libavdevice/lavfi.c
+++ b/libavdevice/lavfi.c
@@ -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;