diff options
author | Anton Khirnov <anton@khirnov.net> | 2016-01-21 16:40:59 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2016-02-26 09:14:49 +0100 |
commit | 168a443d43b10ef6a3545d64b2f8bc90144ce4b7 (patch) | |
tree | 8c26aca869ab9a10455915cd6e98a40962181b82 | |
parent | e7188a1a84817b8d4337340c21c552ad0b6cb2fd (diff) | |
download | ffmpeg-168a443d43b10ef6a3545d64b2f8bc90144ce4b7.tar.gz |
avprobe: print information from the codec descriptor
avprobe is not doing any decoding, so this is more correct than printing
information from a random codec implementation.
-rw-r--r-- | avprobe.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -600,7 +600,7 @@ static void show_stream(AVFormatContext *fmt_ctx, int stream_idx) { AVStream *stream = fmt_ctx->streams[stream_idx]; AVCodecContext *dec_ctx; - const AVCodec *dec; + const AVCodecDescriptor *codec_desc; const char *profile; char val_str[128]; AVRational display_aspect_ratio, *sar = NULL; @@ -611,9 +611,10 @@ static void show_stream(AVFormatContext *fmt_ctx, int stream_idx) probe_int("index", stream->index); dec_ctx = stream->codec; - if ((dec = dec_ctx->codec)) { - probe_str("codec_name", dec->name); - probe_str("codec_long_name", dec->long_name); + codec_desc = avcodec_descriptor_get(dec_ctx->codec_id); + if (codec_desc) { + probe_str("codec_name", codec_desc->name); + probe_str("codec_long_name", codec_desc->long_name); } else { probe_str("codec_name", "unknown"); } @@ -630,7 +631,8 @@ static void show_stream(AVFormatContext *fmt_ctx, int stream_idx) dec_ctx->codec_tag)); /* print profile, if there is one */ - if (dec && (profile = av_get_profile_name(dec, dec_ctx->profile))) + profile = avcodec_profile_name(dec_ctx->codec_id, dec_ctx->profile); + if (profile) probe_str("profile", profile); switch (dec_ctx->codec_type) { |