From 6c8c7c246280cdcd23e4d99006b95245ae837278 Mon Sep 17 00:00:00 2001 From: Vittorio Giovara Date: Fri, 1 May 2015 15:33:50 +0100 Subject: dump: Print AVAudioServiceType side data --- libavformat/dump.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'libavformat/dump.c') 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); -- cgit v1.2.3