commit 90a1392e87980f7e22698700d604b0d20b1f99f5
parent 406032792e6196aa87eb2136273936d97455f006
Author: Michael Froman <mfroman@mozilla.com>
Date: Thu, 9 Oct 2025 02:34:29 +0000
Bug 1980501 - use forward class decl rather than include audio_state.h r=ng
This avoids code outside of libwebrtc inadvertently including
rtc_base/containers/flat_set.h which uses c++20 features. Once
the rest of the Mozilla tree is compiling with c++20, we can
remove this modification (see Bug 1768116).
Differential Revision: https://phabricator.services.mozilla.com/D267993
Diffstat:
1 file changed, 12 insertions(+), 0 deletions(-)
diff --git a/third_party/libwebrtc/audio/audio_receive_stream.h b/third_party/libwebrtc/audio/audio_receive_stream.h
@@ -31,7 +31,11 @@
#include "api/scoped_refptr.h"
#include "api/sequence_checker.h"
#include "api/transport/rtp/rtp_source.h"
+// This can be removed after Bug 1768116 enables
+// c++20 builds across the entire Mozilla tree.
+#if !defined(WEBRTC_MOZILLA_BUILD)
#include "audio/audio_state.h"
+#endif
#include "call/audio_receive_stream.h"
#include "call/audio_state.h"
#include "call/syncable.h"
@@ -43,6 +47,14 @@ class PacketRouter;
class RtpStreamReceiverControllerInterface;
class RtpStreamReceiverInterface;
+// This can be removed after Bug 1768116 enables
+// c++20 builds across the entire Mozilla tree.
+#if defined(WEBRTC_MOZILLA_BUILD)
+namespace internal {
+class AudioState;
+}
+#endif
+
namespace voe {
class ChannelReceiveInterface;
} // namespace voe