@@ -191,8 +191,7 @@ static int flac_read_header(AVFormatContext *s)
av_log(s, AV_LOG_WARNING,
"Invalid value of WAVEFORMATEXTENSIBLE_CHANNEL_MASK\n");
} else {
- st->codecpar->channel_layout = mask;
- st->codecpar->channels = av_get_channel_layout_nb_channels(mask);
+ av_channel_layout_from_mask(&st->codecpar->ch_layout, mask);
av_dict_set(&s->metadata, "WAVEFORMATEXTENSIBLE_CHANNEL_MASK", NULL, 0);
}
}
@@ -238,9 +238,8 @@ static int flac_init(struct AVFormatContext *s)
}
/* add the channel layout tag */
- if (par->channel_layout &&
- !(par->channel_layout & ~0x3ffffULL) &&
- !ff_flac_is_native_layout(par->channel_layout)) {
+ if (!av_channel_layout_subset(&par->ch_layout, ~0x3ffffULL) &&
+ !ff_flac_is_native_layout(par->ch_layout.u.mask)) {
AVDictionaryEntry *chmask = av_dict_get(s->metadata, "WAVEFORMATEXTENSIBLE_CHANNEL_MASK",
NULL, 0);
@@ -249,7 +248,7 @@ static int flac_init(struct AVFormatContext *s)
"already present, this muxer will not overwrite it.\n");
} else {
uint8_t buf[32];
- snprintf(buf, sizeof(buf), "0x%"PRIx64, par->channel_layout);
+ snprintf(buf, sizeof(buf), "0x%"PRIx64, par->ch_layout.u.mask);
av_dict_set(&s->metadata, "WAVEFORMATEXTENSIBLE_CHANNEL_MASK", buf, 0);
}
}