You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02: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:
		| @@ -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); | ||||
|     } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user