mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-04-01 14:39:30 +00:00
avcodec/wavpackenc: add support for encoding unspec channel layouts
Also write 0 for chmask if mask have bits outside of first 32 bits, as wavpack does not support more bits than 32 for channel layouts.
This commit is contained in:
parent
46412a8935
commit
a3b434e151
@ -2592,7 +2592,16 @@ static int wavpack_encode_block(WavPackEncodeContext *s,
|
||||
s->avctx->ch_layout.u.mask != AV_CH_LAYOUT_STEREO) {
|
||||
put_metadata_block(&pb, WP_ID_CHANINFO, 5);
|
||||
bytestream2_put_byte(&pb, s->avctx->ch_layout.nb_channels);
|
||||
bytestream2_put_le32(&pb, s->avctx->ch_layout.u.mask);
|
||||
if (s->avctx->ch_layout.u.mask >> 32)
|
||||
bytestream2_put_le32(&pb, 0);
|
||||
else
|
||||
bytestream2_put_le32(&pb, s->avctx->ch_layout.u.mask);
|
||||
bytestream2_put_byte(&pb, 0);
|
||||
} else if (s->flags & WV_INITIAL_BLOCK &&
|
||||
s->avctx->ch_layout.order == AV_CHANNEL_ORDER_UNSPEC) {
|
||||
put_metadata_block(&pb, WP_ID_CHANINFO, 5);
|
||||
bytestream2_put_byte(&pb, s->avctx->ch_layout.nb_channels);
|
||||
bytestream2_put_le32(&pb, 0);
|
||||
bytestream2_put_byte(&pb, 0);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user