X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Faf_ashowinfo.c;h=deb4eb9dd42e976f8e8e2cc32ff5c1a672b06614;hb=16b771b1f47daa9fec84477040984d83a92ba4a6;hp=25ec342eea56215bae2dd61ae2c03643d3fc3424;hpb=f9a2d0c3feccab94a86c92396f3e36110dc2227b;p=ffmpeg diff --git a/libavfilter/af_ashowinfo.c b/libavfilter/af_ashowinfo.c index 25ec342eea5..deb4eb9dd42 100644 --- a/libavfilter/af_ashowinfo.c +++ b/libavfilter/af_ashowinfo.c @@ -20,7 +20,7 @@ /** * @file - * filter fow showing textual audio frame information + * filter for showing textual audio frame information */ #include "libavutil/adler32.h" @@ -45,10 +45,14 @@ static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *samplesref) uint32_t plane_checksum[8] = {0}, checksum = 0; char chlayout_str[128]; int plane; + int linesize = + samplesref->audio->nb_samples * + av_get_bytes_per_sample(samplesref->format); + if (!samplesref->audio->planar) /* packed layout */ + linesize *= av_get_channel_layout_nb_channels(samplesref->audio->channel_layout); for (plane = 0; samplesref->data[plane] && plane < 8; plane++) { uint8_t *data = samplesref->data[plane]; - int linesize = samplesref->linesize[plane]; plane_checksum[plane] = av_adler32_update(plane_checksum[plane], data, linesize); @@ -61,7 +65,7 @@ static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *samplesref) av_log(ctx, AV_LOG_INFO, "n:%d pts:%"PRId64" pts_time:%f pos:%"PRId64" " "fmt:%s chlayout:%s nb_samples:%d rate:%d planar:%d " - "checksum:%u plane_checksum[%u %u %u %u %u %u %u %u]\n", + "checksum:%08X plane_checksum[%08X %08X %08X %08X %08X %08X %08X %08X]\n", showinfo->frame, samplesref->pts, samplesref->pts * av_q2d(inlink->time_base), samplesref->pos, @@ -86,14 +90,14 @@ AVFilter avfilter_af_ashowinfo = { .priv_size = sizeof(ShowInfoContext), .init = init, - .inputs = (AVFilterPad[]) {{ .name = "default", + .inputs = (const AVFilterPad[]) {{ .name = "default", .type = AVMEDIA_TYPE_AUDIO, .get_audio_buffer = avfilter_null_get_audio_buffer, .filter_samples = filter_samples, .min_perms = AV_PERM_READ, }, { .name = NULL}}, - .outputs = (AVFilterPad[]) {{ .name = "default", + .outputs = (const AVFilterPad[]) {{ .name = "default", .type = AVMEDIA_TYPE_AUDIO }, { .name = NULL}}, };