ffprobe: display the codec profile in show_stream()
authorChristian Schmidt <schmidt@digadd.de>
Fri, 25 May 2012 13:01:59 +0000 (15:01 +0200)
committerStefano Sabatini <stefasab@gmail.com>
Sat, 26 May 2012 10:39:11 +0000 (12:39 +0200)
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
doc/ffprobe.xsd
ffprobe.c

index 3984b7d..f8e9fe9 100644 (file)
@@ -83,6 +83,7 @@
       <xsd:attribute name="index"            type="xsd:int" use="required"/>
       <xsd:attribute name="codec_name"       type="xsd:string" />
       <xsd:attribute name="codec_long_name"  type="xsd:string" />
+      <xsd:attribute name="profile"          type="xsd:string" />
       <xsd:attribute name="codec_type"       type="xsd:string" />
       <xsd:attribute name="codec_time_base"  type="xsd:string" use="required"/>
       <xsd:attribute name="codec_tag"        type="xsd:string" use="required"/>
index d53ec11..c98bdac 100644 (file)
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -1364,6 +1364,7 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i
     print_int("index", stream->index);
 
     if ((dec_ctx = stream->codec)) {
+        const char *profile = NULL;
         if ((dec = dec_ctx->codec)) {
             print_str("codec_name",      dec->name);
             print_str("codec_long_name", dec->long_name);
@@ -1372,6 +1373,11 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i
             print_str_opt("codec_long_name", "unknown");
         }
 
+        if (dec && (profile = av_get_profile_name(dec, dec_ctx->profile)))
+            print_str("profile", profile);
+        else
+            print_str_opt("profile", "unknown");
+
         s = av_get_media_type_string(dec_ctx->codec_type);
         if (s) print_str    ("codec_type", s);
         else   print_str_opt("codec_type", "unknown");