ffprobe: use the codec descriptor if no decoder was found.
authorNicolas George <george@nsup.org>
Wed, 16 Apr 2014 22:22:14 +0000 (00:22 +0200)
committerNicolas George <george@nsup.org>
Tue, 29 Apr 2014 11:25:59 +0000 (13:25 +0200)
ffprobe.c

index 319bbc6..c6e0469 100644 (file)
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -1976,6 +1976,7 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id
     const char *s;
     AVRational sar, dar;
     AVBPrint pbuf;
+    const AVCodecDescriptor *cd;
     int ret = 0;
 
     av_bprint_init(&pbuf, 1, AV_BPRINT_SIZE_UNLIMITED);
@@ -1993,6 +1994,12 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id
                 if (dec->long_name) print_str    ("codec_long_name", dec->long_name);
                 else                print_str_opt("codec_long_name", "unknown");
             }
+        } else if ((cd = avcodec_descriptor_get(stream->codec->codec_id))) {
+            print_str_opt("codec_name", cd->name);
+            if (!do_bitexact) {
+                print_str_opt("codec_long_name",
+                              cd->long_name ? cd->long_name : "unknown");
+            }
         } else {
             print_str_opt("codec_name", "unknown");
             if (!do_bitexact) {