summaryrefslogtreecommitdiff
path: root/libavformat/dump.c
diff options
context:
space:
mode:
authorVittorio Giovara <vittorio.giovara@gmail.com>2015-05-01 15:33:50 +0100
committerVittorio Giovara <vittorio.giovara@gmail.com>2015-05-06 14:57:46 +0100
commit6c8c7c246280cdcd23e4d99006b95245ae837278 (patch)
tree0001894cfc659e1b92969169562947486eac09fb /libavformat/dump.c
parent04070dbca0688ab1e24528ce5c135254a9a79c47 (diff)
dump: Print AVAudioServiceType side data
Diffstat (limited to 'libavformat/dump.c')
-rw-r--r--libavformat/dump.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/libavformat/dump.c b/libavformat/dump.c
index 99188f0a51..3248e563c8 100644
--- a/libavformat/dump.c
+++ b/libavformat/dump.c
@@ -275,6 +275,49 @@ static void dump_stereo3d(void *ctx, AVPacketSideData *sd)
av_log(ctx, AV_LOG_INFO, " (inverted)");
}
+static void dump_audioservicetype(void *ctx, AVPacketSideData *sd)
+{
+ enum AVAudioServiceType *ast = (enum AVAudioServiceType *)sd->data;
+
+ if (sd->size < sizeof(*ast)) {
+ av_log(ctx, AV_LOG_INFO, "invalid data");
+ return;
+ }
+
+ switch (*ast) {
+ case AV_AUDIO_SERVICE_TYPE_MAIN:
+ av_log(ctx, AV_LOG_INFO, "main");
+ 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, "comentary");
+ 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_WARNING, "unknown");
+ break;
+ }
+}
+
static void dump_sidedata(void *ctx, AVStream *st, const char *indent)
{
int i;
@@ -312,6 +355,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 service type: ");
+ dump_audioservicetype(ctx, &sd);
+ break;
default:
av_log(ctx, AV_LOG_WARNING,
"unknown side data type %d (%d bytes)", sd.type, sd.size);