Skip to content

Commit 4cc5f2b

Browse files
Google Meet Teamcopybara-github
Google Meet Team
authored andcommitted
No public description
PiperOrigin-RevId: 753921978
1 parent 20a338c commit 4cc5f2b

34 files changed

+476
-328
lines changed

cpp/api/BUILD

+2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ cc_library(
2929
"@com_google_absl//absl/status:statusor",
3030
"@com_google_absl//absl/strings:string_view",
3131
"@com_google_absl//absl/types:span",
32+
"@media_api_samples//cpp/internal:webrtc_forward_decls",
3233
"@webrtc",
3334
],
3435
)
@@ -39,6 +40,7 @@ cc_library(
3940
deps = [
4041
":media_api_client_interface",
4142
"@com_google_absl//absl/status:statusor",
43+
"@media_api_samples//cpp/internal:webrtc_forward_decls",
4244
"@webrtc",
4345
],
4446
)

cpp/api/media_api_client_factory_interface.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121

2222
#include "absl/status/statusor.h"
2323
#include "cpp/api/media_api_client_interface.h"
24+
// TODO: Remove once build has updated to a recent WebRTC version.
25+
#include "cpp/internal/webrtc_forward_decls.h"
2426
#include "webrtc/api/scoped_refptr.h"
2527

2628
namespace meet {
@@ -33,7 +35,7 @@ class MediaApiClientFactoryInterface {
3335
/// Creates a `MediaApiClientInterface` instance.
3436
virtual absl::StatusOr<std::unique_ptr<MediaApiClientInterface>>
3537
CreateMediaApiClient(const MediaApiClientConfiguration& api_config,
36-
rtc::scoped_refptr<MediaApiClientObserverInterface>
38+
webrtc::scoped_refptr<MediaApiClientObserverInterface>
3739
api_session_observer) = 0;
3840
};
3941

cpp/api/media_api_client_interface.h

+4-1
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@
7272
#include "cpp/api/participants_resource.h"
7373
#include "cpp/api/session_control_resource.h"
7474
#include "cpp/api/video_assignment_resource.h"
75+
// TODO: Remove once build has updated to a recent WebRTC version.
76+
#include "cpp/internal/webrtc_forward_decls.h"
7577
#include "webrtc/api/ref_count.h"
7678
#include "webrtc/api/scoped_refptr.h"
7779
#include "webrtc/api/video/video_frame.h"
@@ -295,7 +297,8 @@ class MediaApiClientInterface {
295297
/// until the client is destroyed.
296298
static absl::StatusOr<std::unique_ptr<MediaApiClientInterface>> Create(
297299
const MediaApiClientConfiguration& api_config,
298-
rtc::scoped_refptr<MediaApiClientObserverInterface> api_session_observer);
300+
webrtc::scoped_refptr<MediaApiClientObserverInterface>
301+
api_session_observer);
299302
};
300303

301304
} // namespace meet

cpp/internal/BUILD

+17
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ cc_library(
2424
":conference_peer_connection_interface",
2525
":stats_request_from_report",
2626
":variant_utils",
27+
":webrtc_forward_decls",
2728
"@com_google_absl//absl/base:core_headers",
2829
"@com_google_absl//absl/container:flat_hash_map",
2930
"@com_google_absl//absl/container:flat_hash_set",
@@ -58,6 +59,7 @@ cc_library(
5859
":participants_resource_handler",
5960
":session_control_resource_handler",
6061
":video_assignment_resource_handler",
62+
":webrtc_forward_decls",
6163
"@com_google_absl//absl/functional:any_invocable",
6264
"@com_google_absl//absl/status",
6365
"@com_google_absl//absl/status:statusor",
@@ -79,6 +81,7 @@ cc_library(
7981
srcs = ["media_api_audio_device_module.cc"],
8082
hdrs = ["media_api_audio_device_module.h"],
8183
deps = [
84+
":webrtc_forward_decls",
8285
"@com_google_absl//absl/log:check",
8386
"@webrtc",
8487
],
@@ -88,6 +91,7 @@ cc_library(
8891
name = "conference_peer_connection_interface",
8992
hdrs = ["conference_peer_connection_interface.h"],
9093
deps = [
94+
":webrtc_forward_decls",
9195
"@com_google_absl//absl/functional:any_invocable",
9296
"@com_google_absl//absl/status",
9397
"@com_google_absl//absl/strings:string_view",
@@ -103,6 +107,7 @@ cc_library(
103107
":conference_media_tracks",
104108
":conference_peer_connection_interface",
105109
":http_connector_interface",
110+
":webrtc_forward_decls",
106111
"@com_google_absl//absl/log",
107112
"@com_google_absl//absl/status",
108113
"@com_google_absl//absl/status:statusor",
@@ -204,6 +209,7 @@ cc_library(
204209
srcs = ["stats_request_from_report.cc"],
205210
hdrs = ["stats_request_from_report.h"],
206211
deps = [
212+
":webrtc_forward_decls",
207213
"@com_google_absl//absl/container:flat_hash_map",
208214
"@com_google_absl//absl/container:flat_hash_set",
209215
"@com_google_absl//absl/log",
@@ -229,6 +235,7 @@ cc_library(
229235
deps = [
230236
":conference_data_channel_interface",
231237
":resource_handler_interface",
238+
":webrtc_forward_decls",
232239
"@com_google_absl//absl/log",
233240
"@com_google_absl//absl/status",
234241
"@com_google_absl//absl/status:statusor",
@@ -421,6 +428,7 @@ cc_library(
421428
srcs = ["conference_media_tracks.cc"],
422429
hdrs = ["conference_media_tracks.h"],
423430
deps = [
431+
":webrtc_forward_decls",
424432
"@com_google_absl//absl/functional:any_invocable",
425433
"@com_google_absl//absl/log",
426434
"@com_google_absl//absl/types:optional",
@@ -445,3 +453,12 @@ cc_library(
445453
"@media_api_samples//cpp/api:media_api_client_interface",
446454
],
447455
)
456+
457+
# TODO: Remove once build has updated to a recent WebRTC version.
458+
cc_library(
459+
name = "webrtc_forward_decls",
460+
hdrs = ["webrtc_forward_decls.h"],
461+
visibility = ["@media_api_samples//cpp:__subpackages__"],
462+
deps = [
463+
],
464+
)

cpp/internal/conference_data_channel.h

+4-2
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,11 @@
2323

2424
#include "absl/log/log.h"
2525
#include "absl/status/status.h"
26+
// TODO: Remove once build has updated to a recent WebRTC version.
2627
#include "cpp/api/media_api_client_interface.h"
2728
#include "cpp/internal/conference_data_channel_interface.h"
2829
#include "cpp/internal/resource_handler_interface.h"
30+
#include "cpp/internal/webrtc_forward_decls.h"
2931
#include "webrtc/api/data_channel_interface.h"
3032
#include "webrtc/api/scoped_refptr.h"
3133

@@ -40,7 +42,7 @@ class ConferenceDataChannel : public ConferenceDataChannelInterface,
4042
public:
4143
ConferenceDataChannel(
4244
std::unique_ptr<ResourceHandlerInterface> resource_handler,
43-
rtc::scoped_refptr<webrtc::DataChannelInterface> data_channel)
45+
webrtc::scoped_refptr<webrtc::DataChannelInterface> data_channel)
4446
: resource_handler_(std::move(resource_handler)),
4547
data_channel_(std::move(data_channel)) {
4648
data_channel_->RegisterObserver(this);
@@ -88,7 +90,7 @@ class ConferenceDataChannel : public ConferenceDataChannelInterface,
8890

8991
ResourceUpdateCallback callback_;
9092
std::unique_ptr<ResourceHandlerInterface> resource_handler_;
91-
rtc::scoped_refptr<webrtc::DataChannelInterface> data_channel_;
93+
webrtc::scoped_refptr<webrtc::DataChannelInterface> data_channel_;
9294
};
9395

9496
} // namespace meet

cpp/internal/conference_media_tracks.h

+6-4
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
#include "cpp/api/media_api_client_interface.h"
3030
#include "webrtc/api/media_stream_interface.h"
3131
#include "webrtc/api/rtp_receiver_interface.h"
32+
// TODO: Remove once build has updated to a recent WebRTC version.
33+
#include "cpp/internal/webrtc_forward_decls.h"
3234
#include "webrtc/api/scoped_refptr.h"
3335
#include "webrtc/api/video/video_frame.h"
3436
#include "webrtc/api/video/video_sink_interface.h"
@@ -45,7 +47,7 @@ class ConferenceAudioTrack : public webrtc::AudioTrackSinkInterface {
4547

4648
ConferenceAudioTrack(
4749
std::string mid,
48-
rtc::scoped_refptr<webrtc::RtpReceiverInterface> receiver,
50+
webrtc::scoped_refptr<webrtc::RtpReceiverInterface> receiver,
4951
AudioFrameCallback callback)
5052
: mid_(std::move(mid)),
5153
receiver_(std::move(receiver)),
@@ -58,14 +60,14 @@ class ConferenceAudioTrack : public webrtc::AudioTrackSinkInterface {
5860
private:
5961
// Media line from the SDP offer/answer that identifies this track.
6062
std::string mid_;
61-
rtc::scoped_refptr<webrtc::RtpReceiverInterface> receiver_;
63+
webrtc::scoped_refptr<webrtc::RtpReceiverInterface> receiver_;
6264
AudioFrameCallback callback_;
6365
};
6466

65-
// Adapter class for rtc::VideoSinkInterface that converts
67+
// Adapter class for webrtc::VideoSinkInterface that converts
6668
// webrtc::VideoFrames to meet::VideoFrames and calls the callback.
6769
class ConferenceVideoTrack
68-
: public rtc::VideoSinkInterface<webrtc::VideoFrame> {
70+
: public webrtc::VideoSinkInterface<webrtc::VideoFrame> {
6971
public:
7072
using VideoFrameCallback = absl::AnyInvocable<void(VideoFrame frame)>;
7173

cpp/internal/conference_media_tracks_test.cc

+8-6
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
#include "absl/log/globals.h"
3030
#include "cpp/api/media_api_client_interface.h"
3131
#include "webrtc/api/rtp_packet_info.h"
32+
// TODO: Remove once build has updated to a recent WebRTC version.
33+
#include "cpp/internal/webrtc_forward_decls.h"
3234
#include "webrtc/api/rtp_packet_infos.h"
3335
#include "webrtc/api/scoped_refptr.h"
3436
#include "webrtc/api/test/mock_rtpreceiver.h"
@@ -51,7 +53,7 @@ using ::testing::SizeIs;
5153
using ::testing::UnorderedElementsAre;
5254

5355
TEST(ConferenceAudioTrackTest, CallsObserverWithAudioFrameFromLoudestSpeaker) {
54-
rtc::scoped_refptr<webrtc::MockRtpReceiver> mock_receiver(
56+
webrtc::scoped_refptr<webrtc::MockRtpReceiver> mock_receiver(
5557
new webrtc::MockRtpReceiver());
5658
webrtc::RtpSource csrc_rtp_source(
5759
webrtc::Timestamp::Micros(1234567890),
@@ -103,7 +105,7 @@ TEST(ConferenceAudioTrackTest, CallsObserverWithAudioFrameFromLoudestSpeaker) {
103105

104106
TEST(ConferenceAudioTrackTest,
105107
CallsObserverWithAudioFrameFromNonLoudestSpeaker) {
106-
rtc::scoped_refptr<webrtc::MockRtpReceiver> mock_receiver(
108+
webrtc::scoped_refptr<webrtc::MockRtpReceiver> mock_receiver(
107109
new webrtc::MockRtpReceiver());
108110
webrtc::RtpSource csrc_rtp_source(
109111
webrtc::Timestamp::Micros(1234567890),
@@ -168,7 +170,7 @@ TEST(ConferenceAudioTrackTest, LogsErrorWithUnsupportedBitsPerSample) {
168170
}
169171

170172
TEST(ConferenceAudioTrackTest, LogsErrorWithMissingCsrc) {
171-
rtc::scoped_refptr<webrtc::MockRtpReceiver> mock_receiver(
173+
webrtc::scoped_refptr<webrtc::MockRtpReceiver> mock_receiver(
172174
new webrtc::MockRtpReceiver());
173175
webrtc::RtpSource ssrc_rtp_source(
174176
webrtc::Timestamp::Micros(1234567890),
@@ -201,7 +203,7 @@ TEST(ConferenceAudioTrackTest, LogsErrorWithMissingCsrc) {
201203
}
202204

203205
TEST(ConferenceAudioTrackTest, LogsErrorWithMissingSsrc) {
204-
rtc::scoped_refptr<webrtc::MockRtpReceiver> mock_receiver(
206+
webrtc::scoped_refptr<webrtc::MockRtpReceiver> mock_receiver(
205207
new webrtc::MockRtpReceiver());
206208
webrtc::RtpSource csrc_rtp_source(
207209
webrtc::Timestamp::Micros(1234567890),
@@ -233,7 +235,7 @@ TEST(ConferenceAudioTrackTest, LogsErrorWithMissingSsrc) {
233235
EXPECT_EQ(message, "AudioFrame is missing SSRC for mid: mid");
234236
}
235237
TEST(ConferenceAudioTrackTest, LogsErrorWithMissingCsrcAndSsrc) {
236-
rtc::scoped_refptr<webrtc::MockRtpReceiver> mock_receiver(
238+
webrtc::scoped_refptr<webrtc::MockRtpReceiver> mock_receiver(
237239
new webrtc::MockRtpReceiver());
238240
EXPECT_CALL(*mock_receiver, GetSources)
239241
.WillOnce(Return(std::vector<webrtc::RtpSource>()));
@@ -264,7 +266,7 @@ TEST(ConferenceAudioTrackTest, LogsErrorWithMissingCsrcAndSsrc) {
264266
}
265267

266268
TEST(ConferenceAudioTrackTest, LogsErrorWithOnlyLoudestSpeakerCsrc) {
267-
rtc::scoped_refptr<webrtc::MockRtpReceiver> mock_receiver(
269+
webrtc::scoped_refptr<webrtc::MockRtpReceiver> mock_receiver(
268270
new webrtc::MockRtpReceiver());
269271
webrtc::RtpSource csrc_rtp_source(
270272
webrtc::Timestamp::Micros(1234567890),

cpp/internal/conference_peer_connection.cc

+3-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
#include "nlohmann/json.hpp"
3030
#include "webrtc/api/jsep.h"
3131
#include "webrtc/api/make_ref_counted.h"
32+
// TODO: Remove once build has updated to a recent WebRTC version.
33+
#include "cpp/internal/webrtc_forward_decls.h"
3234
#include "webrtc/api/peer_connection_interface.h"
3335
#include "webrtc/api/rtc_error.h"
3436
#include "webrtc/api/rtp_transceiver_interface.h"
@@ -121,7 +123,7 @@ void ConferencePeerConnection::OnConnectionChange(
121123
}
122124

123125
void ConferencePeerConnection::OnTrack(
124-
rtc::scoped_refptr<webrtc::RtpTransceiverInterface> transceiver) {
126+
webrtc::scoped_refptr<webrtc::RtpTransceiverInterface> transceiver) {
125127
if (track_signaled_callback_ == nullptr) {
126128
LOG(WARNING)
127129
<< "ConferencePeerConnection::OnTrack called without callback.";

cpp/internal/conference_peer_connection.h

+19-15
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
#include "cpp/internal/conference_peer_connection_interface.h"
3131
#include "cpp/internal/http_connector_interface.h"
3232
#include "webrtc/api/data_channel_interface.h"
33+
// TODO: Remove once build has updated to a recent WebRTC version.
34+
#include "cpp/internal/webrtc_forward_decls.h"
3335
#include "webrtc/api/jsep.h"
3436
#include "webrtc/api/media_stream_interface.h"
3537
#include "webrtc/api/peer_connection_interface.h"
@@ -50,7 +52,7 @@ class ConferencePeerConnection : public ConferencePeerConnectionInterface,
5052
public webrtc::PeerConnectionObserver {
5153
public:
5254
ConferencePeerConnection(
53-
std::unique_ptr<rtc::Thread> signaling_thread,
55+
std::unique_ptr<webrtc::Thread> signaling_thread,
5456
std::unique_ptr<HttpConnectorInterface> http_connector)
5557
: signaling_thread_(std::move(signaling_thread)),
5658
http_connector_(std::move(http_connector)) {};
@@ -67,17 +69,19 @@ class ConferencePeerConnection : public ConferencePeerConnectionInterface,
6769
};
6870

6971
void OnAddStream(
70-
rtc::scoped_refptr<webrtc::MediaStreamInterface> /* stream */) override {
72+
webrtc::scoped_refptr<webrtc::MediaStreamInterface> /* stream */)
73+
override {
7174
VLOG(1) << "OnAddStream called.";
7275
}
7376

7477
void OnRemoveStream(
75-
rtc::scoped_refptr<webrtc::MediaStreamInterface> /* stream */) override {
78+
webrtc::scoped_refptr<webrtc::MediaStreamInterface> /* stream */)
79+
override {
7680
VLOG(1) << "OnRemoveStream called.";
7781
}
7882

79-
void OnDataChannel(
80-
rtc::scoped_refptr<webrtc::DataChannelInterface> data_channel) override {
83+
void OnDataChannel(webrtc::scoped_refptr<webrtc::DataChannelInterface>
84+
data_channel) override {
8185
LOG(ERROR) << "OnDataChannel opened from server: " << data_channel->label();
8286
// The Meet servers should never open a data channel; all data channels are
8387
// opened by the client.
@@ -120,7 +124,7 @@ class ConferencePeerConnection : public ConferencePeerConnectionInterface,
120124
}
121125

122126
void OnIceCandidatesRemoved(
123-
const std::vector<cricket::Candidate>& candidates) override {
127+
const std::vector<webrtc::Candidate>& candidates) override {
124128
VLOG(1) << "OnIceCandidatesRemoved: " << candidates.size();
125129
}
126130

@@ -129,20 +133,20 @@ class ConferencePeerConnection : public ConferencePeerConnectionInterface,
129133
}
130134

131135
void OnIceSelectedCandidatePairChanged(
132-
const cricket::CandidatePairChangeEvent& /* event */) override {
136+
const webrtc::CandidatePairChangeEvent& /* event */) override {
133137
VLOG(1) << "OnIceSelectedCandidatePairChanged called.";
134138
}
135139

136140
void OnAddTrack(
137-
rtc::scoped_refptr<webrtc::RtpReceiverInterface> /* receiver */,
141+
webrtc::scoped_refptr<webrtc::RtpReceiverInterface> /* receiver */,
138142
const std::vector<
139-
rtc::scoped_refptr<webrtc::MediaStreamInterface>>& /* streams */)
143+
webrtc::scoped_refptr<webrtc::MediaStreamInterface>>& /* streams */)
140144
override {
141145
VLOG(1) << "OnAddTrack called.";
142146
}
143147

144148
void OnRemoveTrack(
145-
rtc::scoped_refptr<webrtc::RtpReceiverInterface> receiver) override {
149+
webrtc::scoped_refptr<webrtc::RtpReceiverInterface> receiver) override {
146150
VLOG(1) << "OnRemoveTrack called.";
147151
};
148152

@@ -153,8 +157,8 @@ class ConferencePeerConnection : public ConferencePeerConnectionInterface,
153157
void OnConnectionChange(
154158
webrtc::PeerConnectionInterface::PeerConnectionState new_state) override;
155159

156-
void OnTrack(
157-
rtc::scoped_refptr<webrtc::RtpTransceiverInterface> transceiver) override;
160+
void OnTrack(webrtc::scoped_refptr<webrtc::RtpTransceiverInterface>
161+
transceiver) override;
158162

159163
// Sets the disconnect callback for the conference peer connection. Conference
160164
// peer connections can only have one disconnect callback at a time, and the
@@ -218,7 +222,7 @@ class ConferencePeerConnection : public ConferencePeerConnectionInterface,
218222
// Calling this is not thread-safe, so it should only be called before the
219223
// conference peer connection is used.
220224
void SetPeerConnection(
221-
rtc::scoped_refptr<webrtc::PeerConnectionInterface> peer_connection) {
225+
webrtc::scoped_refptr<webrtc::PeerConnectionInterface> peer_connection) {
222226
peer_connection_ = std::move(peer_connection);
223227
}
224228

@@ -229,9 +233,9 @@ class ConferencePeerConnection : public ConferencePeerConnectionInterface,
229233

230234
DisconnectCallback disconnect_callback_;
231235
TrackSignaledCallback track_signaled_callback_;
232-
std::unique_ptr<rtc::Thread> signaling_thread_;
236+
std::unique_ptr<webrtc::Thread> signaling_thread_;
233237
std::unique_ptr<HttpConnectorInterface> http_connector_;
234-
rtc::scoped_refptr<webrtc::PeerConnectionInterface> peer_connection_;
238+
webrtc::scoped_refptr<webrtc::PeerConnectionInterface> peer_connection_;
235239
};
236240

237241
} // namespace meet

0 commit comments

Comments
 (0)