[FFmpeg-devel] [PATCH] ffprobe: show audio frame channels and channel_layout

Stefano Sabatini stefasab at gmail.com
Mon Jul 30 16:11:48 CEST 2012


---
 doc/ffprobe.xsd |    2 ++
 ffprobe.c       |    6 ++++++
 2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/doc/ffprobe.xsd b/doc/ffprobe.xsd
index 3a4a8cc..13c0d02 100644
--- a/doc/ffprobe.xsd
+++ b/doc/ffprobe.xsd
@@ -62,6 +62,8 @@
       <!-- audio attributes -->
       <xsd:attribute name="sample_fmt"             type="xsd:string"/>
       <xsd:attribute name="nb_samples"             type="xsd:long"  />
+      <xsd:attribute name="channels"               type="xsd:int"   />
+      <xsd:attribute name="channel_layout"         type="xsd:string"/>
 
       <!-- video attributes -->
       <xsd:attribute name="width"                  type="xsd:long"  />
diff --git a/ffprobe.c b/ffprobe.c
index e14de3b..67bd056 100644
--- a/ffprobe.c
+++ b/ffprobe.c
@@ -1647,6 +1647,12 @@ static void show_frame(WriterContext *w, AVFrame *frame, AVStream *stream,
         if (s) print_str    ("sample_fmt", s);
         else   print_str_opt("sample_fmt", "unknown");
         print_int("nb_samples",         frame->nb_samples);
+        print_int("channels", av_frame_get_channels(frame));
+        av_bprint_clear(&pbuf);
+        av_bprint_channel_layout(&pbuf, av_frame_get_channels(frame),
+                                 av_frame_get_channel_layout(frame));
+        if (pbuf.str) print_str    ("channel_layout", pbuf.str);
+        else          print_str_opt("channel_layout", "unknown");
         break;
     }
     show_tags(av_frame_get_metadata(frame));
-- 
1.7.5.4



More information about the ffmpeg-devel mailing list