Commit 6c8c7c24 authored by Vittorio Giovara's avatar Vittorio Giovara

dump: Print AVAudioServiceType side data

parent 04070dbc
...@@ -275,6 +275,49 @@ static void dump_stereo3d(void *ctx, AVPacketSideData *sd) ...@@ -275,6 +275,49 @@ static void dump_stereo3d(void *ctx, AVPacketSideData *sd)
av_log(ctx, AV_LOG_INFO, " (inverted)"); 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) static void dump_sidedata(void *ctx, AVStream *st, const char *indent)
{ {
int i; int i;
...@@ -312,6 +355,10 @@ static void dump_sidedata(void *ctx, AVStream *st, const char *indent) ...@@ -312,6 +355,10 @@ static void dump_sidedata(void *ctx, AVStream *st, const char *indent)
av_log(ctx, AV_LOG_INFO, "stereo3d: "); av_log(ctx, AV_LOG_INFO, "stereo3d: ");
dump_stereo3d(ctx, &sd); dump_stereo3d(ctx, &sd);
break; break;
case AV_PKT_DATA_AUDIO_SERVICE_TYPE:
av_log(ctx, AV_LOG_INFO, "audio service type: ");
dump_audioservicetype(ctx, &sd);
break;
default: default:
av_log(ctx, AV_LOG_WARNING, av_log(ctx, AV_LOG_WARNING,
"unknown side data type %d (%d bytes)", sd.type, sd.size); "unknown side data type %d (%d bytes)", sd.type, sd.size);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment