[FFmpeg-devel] [PATCH 2/2] tools/uncoded_frame: remove usage of avfilter_link_get_channels()
James Almer
jamrial at gmail.com
Sat Jan 6 16:06:50 EET 2018
On 1/6/2018 10:38 AM, Nicolas George wrote:
> And while we're at it, let's fix a bunch of warnings.
>
> Note that I (or somebody else) need to check if this is still relevant
> with the "wrapped AVFrame" API from the fork, but that is another issue
> entirely.
>
> Regards,
>
> -- Nicolas George
>
>
> 0001-tools-uncoded_frame-remove-use-of-AVStream.codec.patch
>
>
> From 7a3a21108fca8e039ae4d5623ae18f828dc23f5e Mon Sep 17 00:00:00 2001
> From: Nicolas George <george at nsup.org>
> Date: Sat, 6 Jan 2018 14:34:00 +0100
> Subject: [PATCH] tools/uncoded_frame: remove use of AVStream.codec.
>
> Signed-off-by: Nicolas George <george at nsup.org>
> ---
> tools/uncoded_frame.c | 28 +++++++++++++---------------
> 1 file changed, 13 insertions(+), 15 deletions(-)
>
> diff --git a/tools/uncoded_frame.c b/tools/uncoded_frame.c
> index f346b21916..606bdb746a 100644
> --- a/tools/uncoded_frame.c
> +++ b/tools/uncoded_frame.c
> @@ -161,26 +161,24 @@ int main(int argc, char **argv)
> av_log(NULL, AV_LOG_ERROR, "Failed to create output stream\n");
> goto fail;
> }
> - st->stream->codec->codec_type = av_buffersink_get_type(st->sink);
> - st->stream->time_base = st->stream->codec->time_base =
> - av_buffersink_get_time_base(st->sink);
> + st->stream->codecpar->codec_type = av_buffersink_get_type(st->sink);
> + st->stream->time_base = av_buffersink_get_time_base(st->sink);
> switch (av_buffersink_get_type(st->sink)) {
> case AVMEDIA_TYPE_VIDEO:
> - st->stream->codec->codec_id = AV_CODEC_ID_RAWVIDEO;
> + st->stream->codecpar->codec_id = AV_CODEC_ID_RAWVIDEO;
> st->stream->avg_frame_rate =
> st->stream-> r_frame_rate = av_buffersink_get_frame_rate(st->sink);
> - st->stream->codec->width = av_buffersink_get_w(st->sink);
> - st->stream->codec->height = av_buffersink_get_h(st->sink);
> - st->stream->codec->sample_aspect_ratio = av_buffersink_get_sample_aspect_ratio(st->sink);
> - st->stream->codec->pix_fmt = av_buffersink_get_format(st->sink);
> + st->stream->codecpar->width = av_buffersink_get_w(st->sink);
> + st->stream->codecpar->height = av_buffersink_get_h(st->sink);
> + st->stream->codecpar->sample_aspect_ratio = av_buffersink_get_sample_aspect_ratio(st->sink);
> + st->stream->codecpar->format = av_buffersink_get_format(st->sink);
> break;
> case AVMEDIA_TYPE_AUDIO:
> - st->stream->codec->channel_layout = av_buffersink_get_channel_layout(st->sink);
> - st->stream->codec->channels = av_buffersink_get_channels(st->sink);
> - st->stream->codec->sample_rate = av_buffersink_get_sample_rate(st->sink);
> - st->stream->codec->sample_fmt = av_buffersink_get_format(st->sink);
> - st->stream->codec->codec_id =
> - av_get_pcm_codec(st->stream->codec->sample_fmt, -1);
> + st->stream->codecpar->channel_layout = av_buffersink_get_channel_layout(st->sink);
> + st->stream->codecpar->channels = av_buffersink_get_channels(st->sink);
> + st->stream->codecpar->sample_rate = av_buffersink_get_sample_rate(st->sink);
> + st->stream->codecpar->format = av_buffersink_get_format(st->sink);
> + st->stream->codecpar->codec_id = av_get_pcm_codec(st->stream->codecpar->format, -1);
> break;
> default:
> av_assert0(!"reached");
> @@ -245,7 +243,7 @@ int main(int argc, char **argv)
> frame);
> frame = NULL;
> if (ret < 0) {
> - av_log(st->stream->codec, AV_LOG_ERROR,
> + av_log(st->mux, AV_LOG_ERROR,
> "Error writing frame: %s\n", av_err2str(ret));
> goto fail;
> }
> -- 2.15.1
Both patches should be ok. Thanks.
More information about the ffmpeg-devel
mailing list