---
 libavformat/dump.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/libavformat/dump.c b/libavformat/dump.c
index 56b37ff..9801042 100644
--- a/libavformat/dump.c
+++ b/libavformat/dump.c
@@ -291,6 +291,31 @@ static void dump_stereo3d(void *ctx, AVPacketSideData *sd)
         av_log(ctx, AV_LOG_INFO, " (inverted)");
 }
 
+static void dump_audio_service_type(void *ctx, AVPacketSideData *sd)
+{
+    enum AVAudioServiceType *ast;
+
+    if (sd->size < sizeof(*ast)) {
+        av_log(ctx, AV_LOG_INFO, "invalid data");
+        return;
+    }
+
+    ast = (enum AVAudioServiceType *)sd->data;
+
+    switch (*ast) {
+    case AV_AUDIO_SERVICE_TYPE_MAIN:              av_log(ctx, AV_LOG_INFO, 
"Main Audio Service"); break;
+    case AV_AUDIO_SERVICE_TYPE_EFFECTS:           av_log(ctx, AV_LOG_INFO, 
"Effects");            break;
+    case AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED: av_log(ctx, AV_LOG_INFO, 
"Visually Impaired");  break;
+    case AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED:  av_log(ctx, AV_LOG_INFO, 
"Hearing Impaired");   break;
+    case AV_AUDIO_SERVICE_TYPE_DIALOGUE:          av_log(ctx, AV_LOG_INFO, 
"Dialogue");           break;
+    case AV_AUDIO_SERVICE_TYPE_COMMENTARY:        av_log(ctx, AV_LOG_INFO, 
"Commentary");         break;
+    case AV_AUDIO_SERVICE_TYPE_EMERGENCY:         av_log(ctx, AV_LOG_INFO, 
"Emergency");          break;
+    case AV_AUDIO_SERVICE_TYPE_VOICE_OVER:        av_log(ctx, AV_LOG_INFO, 
"Voice Over");         break;
+    case AV_AUDIO_SERVICE_TYPE_KARAOKE:           av_log(ctx, AV_LOG_INFO, 
"Karaoke");            break;
+    default:                                      av_log(ctx, AV_LOG_INFO, 
"unknown");            break;
+    }
+}
+
 static void dump_sidedata(void *ctx, AVStream *st, const char *indent)
 {
     int i;
@@ -328,6 +353,10 @@ static void dump_sidedata(void *ctx, AVStream *st, const 
char *indent)
             av_log(ctx, AV_LOG_INFO, "stereo3d: ");
             dump_stereo3d(ctx, &sd);
             break;
+        case AV_PKT_DATA_AUDIO_SERVICE_TYPE:
+            av_log(ctx, AV_LOG_INFO, "audio svc type  : ");
+            dump_audio_service_type(ctx, &sd);
+            break;
         default:
             av_log(ctx, AV_LOG_WARNING,
                    "unknown side data type %d (%d bytes)", sd.type, sd.size);
-- 
2.1.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to