Browse Source

dump: Print AVAudioServiceType side data

tags/n2.7
Vittorio Giovara 10 years ago
parent
commit
6c8c7c2462
1 changed files with 47 additions and 0 deletions
  1. +47
    -0
      libavformat/dump.c

+ 47
- 0
libavformat/dump.c View File

@@ -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);


Loading…
Cancel
Save