aboutsummaryrefslogtreecommitdiff
path: root/call/call.cc
diff options
context:
space:
mode:
authorTommi <tommi@webrtc.org>2022-05-13 09:02:50 +0000
committerWebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-05-13 10:08:54 +0000
commit16a8b25d809e4d4982f9fc4b4e973acd506b8bca (patch)
tree7b89fe86ca7bb914da85fd897a21f34441bfd11b /call/call.cc
parentd97af7b1b9fd05509cec0e788aad283360c5babc (diff)
downloadwebrtc-16a8b25d809e4d4982f9fc4b4e973acd506b8bca.tar.gz
Update local_ssrc without needing to recreate video streams.
This is comparable to this change done previously for for audio streams: https://webrtc-review.googlesource.com/c/src/+/222042 Bug: webrtc:11993 Change-Id: Ic953f816a8f7c56d1c3dc9a16d85bef3696a663d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261960 Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> Cr-Commit-Position: refs/heads/main@{#36876}
Diffstat (limited to 'call/call.cc')
-rw-r--r--call/call.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/call/call.cc b/call/call.cc
index ed5ee1bc18..fe2dbb628b 100644
--- a/call/call.cc
+++ b/call/call.cc
@@ -266,6 +266,10 @@ class Call final : public webrtc::Call,
void OnLocalSsrcUpdated(webrtc::AudioReceiveStream& stream,
uint32_t local_ssrc) override;
+ void OnLocalSsrcUpdated(VideoReceiveStream& stream,
+ uint32_t local_ssrc) override;
+ void OnLocalSsrcUpdated(FlexfecReceiveStream& stream,
+ uint32_t local_ssrc) override;
void OnUpdateSyncGroup(webrtc::AudioReceiveStream& stream,
const std::string& sync_group) override;
@@ -415,6 +419,8 @@ class Call final : public webrtc::Call,
RTC_GUARDED_BY(&receive_11993_checker_);
// Audio and Video send streams are owned by the client that creates them.
+ // TODO(bugs.webrtc.org/11993): `audio_send_ssrcs_` and `video_send_ssrcs_`
+ // should be accessed on the network thread.
std::map<uint32_t, AudioSendStream*> audio_send_ssrcs_
RTC_GUARDED_BY(worker_thread_);
std::map<uint32_t, VideoSendStream*> video_send_ssrcs_
@@ -1386,6 +1392,17 @@ void Call::OnLocalSsrcUpdated(webrtc::AudioReceiveStream& stream,
: nullptr);
}
+void Call::OnLocalSsrcUpdated(VideoReceiveStream& stream, uint32_t local_ssrc) {
+ RTC_DCHECK_RUN_ON(worker_thread_);
+ static_cast<VideoReceiveStream2&>(stream).SetLocalSsrc(local_ssrc);
+}
+
+void Call::OnLocalSsrcUpdated(FlexfecReceiveStream& stream,
+ uint32_t local_ssrc) {
+ RTC_DCHECK_RUN_ON(worker_thread_);
+ static_cast<FlexfecReceiveStreamImpl&>(stream).SetLocalSsrc(local_ssrc);
+}
+
void Call::OnUpdateSyncGroup(webrtc::AudioReceiveStream& stream,
const std::string& sync_group) {
RTC_DCHECK_RUN_ON(worker_thread_);