Przeglądaj źródła

coreaudio-encoder: Use canonical format enum instead of bitwise or

The enum members being getting the bitwise or here are from different
enums, and bitwise operations on members from different enums are
deprecated in C++20. kAudioFormatFlagsNativeFloatPacked is the
equivalent value (see its defintion), but removes the manual bitwise or.
Sebastian Beckmann 5 miesięcy temu
rodzic
commit
4ad3df3af8

+ 2 - 3
plugins/coreaudio-encoder/encoder.cpp

@@ -484,8 +484,7 @@ static void *aac_create(obs_data_t *settings, obs_encoder_t *encoder)
 			  .bytes_per_packet((UInt32)(1 * bytes_per_frame))
 			  .bits_per_channel((UInt32)bits_per_channel)
 			  .format_id(kAudioFormatLinearPCM)
-			  .format_flags(kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked |
-					kAudioFormatFlagIsFloat | 0)
+			  .format_flags(kAudioFormatFlagsNativeFloatPacked)
 			  .asbd;
 
 	AudioStreamBasicDescription out;
@@ -858,7 +857,7 @@ static AudioStreamBasicDescription get_default_in_asbd()
 	return fill_common_asbd_fields(asbd_builder(), true)
 		.sample_rate(44100)
 		.format_id(kAudioFormatLinearPCM)
-		.format_flags(kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked | kAudioFormatFlagIsFloat | 0)
+		.format_flags(kAudioFormatFlagsNativeFloatPacked)
 		.asbd;
 }
 

+ 5 - 1
plugins/coreaudio-encoder/windows-imports.h

@@ -209,7 +209,11 @@ enum {
 	kAppleLosslessFormatFlag_32BitSourceData = 4,
 };
 
-enum { kAudioFormatFlagsNativeEndian = 0 };
+enum {
+	kAudioFormatFlagsNativeEndian = 0,
+	kAudioFormatFlagsNativeFloatPacked = kAudioFormatFlagIsFloat | kAudioFormatFlagsNativeEndian |
+					     kAudioFormatFlagIsPacked
+};
 
 enum {
 	// AudioStreamBasicDescription structure properties