From 4ad3df3af8a3d3be8f565131683627d641cf3d61 Mon Sep 17 00:00:00 2001 From: Sebastian Beckmann Date: Sun, 31 Aug 2025 18:15:07 +0200 Subject: [PATCH] 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. --- plugins/coreaudio-encoder/encoder.cpp | 5 ++--- plugins/coreaudio-encoder/windows-imports.h | 6 +++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/plugins/coreaudio-encoder/encoder.cpp b/plugins/coreaudio-encoder/encoder.cpp index 434344552..9f3399330 100644 --- a/plugins/coreaudio-encoder/encoder.cpp +++ b/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; } diff --git a/plugins/coreaudio-encoder/windows-imports.h b/plugins/coreaudio-encoder/windows-imports.h index 41533be23..f3565cdc5 100644 --- a/plugins/coreaudio-encoder/windows-imports.h +++ b/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