/**
* @file
- * filter fow showing textual audio frame information
+ * filter for showing textual audio frame information
*/
#include "libavutil/adler32.h"
char chlayout_str[128];
int plane;
int linesize =
- av_get_channel_layout_nb_channels(samplesref->audio->channel_layout) *
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];
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,
.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}},
};