Changeset 276717 in webkit
- Timestamp:
- Apr 28, 2021 9:29:11 AM (15 months ago)
- Location:
- trunk
- Files:
-
- 2 added
- 6 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/webrtc/audio-addTransceiver-expected.txt (added)
-
LayoutTests/webrtc/audio-addTransceiver.html (added)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp (modified) (3 diffs)
-
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h (modified) (1 diff)
-
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp (modified) (2 diffs)
-
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCUtils.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r276716 r276717 1 2021-04-28 Youenn Fablet <youenn@apple.com> 2 3 Set audio transceiver nMax to 1 4 https://bugs.webkit.org/show_bug.cgi?id=225149 5 <rdar://75956639> 6 7 Reviewed by Alex Christensen. 8 9 * webrtc/audio-addTransceiver-expected.txt: Added. 10 * webrtc/audio-addTransceiver.html: Added. 11 1 12 2021-04-28 Tim Nguyen <ntim@apple.com> 2 13 -
trunk/Source/WebCore/ChangeLog
r276715 r276717 1 2021-04-28 Youenn Fablet <youenn@apple.com> 2 3 Set audio transceiver nMax to 1 4 https://bugs.webkit.org/show_bug.cgi?id=225149 5 <rdar://75956639> 6 7 Reviewed by Alex Christensen. 8 9 Implement step 8.4 of https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection-addtransceiver and set nMax for audio to 1. 10 11 Test: webrtc/audio-addTransceiver.html 12 13 * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp: 14 (WebCore::LibWebRTCMediaEndpoint::createTransceiverBackends): 15 (WebCore::LibWebRTCMediaEndpoint::addTransceiver): 16 * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h: 17 * Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp: 18 (WebCore::fromRtpTransceiverInit): 19 * Modules/mediastream/libwebrtc/LibWebRTCUtils.h: 20 1 21 2021-04-28 Chris Dumez <cdumez@apple.com> 2 22 -
trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp
r274361 r276717 431 431 432 432 template<typename T> 433 ExceptionOr<LibWebRTCMediaEndpoint::Backends> LibWebRTCMediaEndpoint::createTransceiverBackends(T&& trackOrKind, const RTCRtpTransceiverInit& init, LibWebRTCRtpSenderBackend::Source&& source)434 { 435 auto result = m_backend->AddTransceiver(WTFMove(trackOrKind), fromRtpTransceiverInit(init));433 ExceptionOr<LibWebRTCMediaEndpoint::Backends> LibWebRTCMediaEndpoint::createTransceiverBackends(T&& trackOrKind, webrtc::RtpTransceiverInit&& init, LibWebRTCRtpSenderBackend::Source&& source) 434 { 435 auto result = m_backend->AddTransceiver(WTFMove(trackOrKind), WTFMove(init)); 436 436 if (!result.ok()) 437 437 return toException(result.error()); … … 444 444 { 445 445 auto type = trackKind == "audio" ? cricket::MediaType::MEDIA_TYPE_AUDIO : cricket::MediaType::MEDIA_TYPE_VIDEO; 446 return createTransceiverBackends(type, init, nullptr);446 return createTransceiverBackends(type, fromRtpTransceiverInit(init, type), nullptr); 447 447 } 448 448 … … 473 473 ExceptionOr<LibWebRTCMediaEndpoint::Backends> LibWebRTCMediaEndpoint::addTransceiver(MediaStreamTrack& track, const RTCRtpTransceiverInit& init) 474 474 { 475 auto type = track.source().type() == RealtimeMediaSource::Type::Audio ? cricket::MediaType::MEDIA_TYPE_AUDIO : cricket::MediaType::MEDIA_TYPE_VIDEO; 475 476 auto sourceAndTrack = createSourceAndRTCTrack(track); 476 return createTransceiverBackends(WTFMove(sourceAndTrack.second), init, WTFMove(sourceAndTrack.first));477 return createTransceiverBackends(WTFMove(sourceAndTrack.second), fromRtpTransceiverInit(init, type), WTFMove(sourceAndTrack.first)); 477 478 } 478 479 -
trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h
r274361 r276717 148 148 149 149 template<typename T> 150 ExceptionOr<Backends> createTransceiverBackends(T&&, const RTCRtpTransceiverInit&, LibWebRTCRtpSenderBackend::Source&&);150 ExceptionOr<Backends> createTransceiverBackends(T&&, webrtc::RtpTransceiverInit&&, LibWebRTCRtpSenderBackend::Source&&); 151 151 152 152 void OnStatsDelivered(const rtc::scoped_refptr<const webrtc::RTCStatsReport>&) final; -
trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp
r273741 r276717 318 318 } 319 319 320 webrtc::RtpTransceiverInit fromRtpTransceiverInit(const RTCRtpTransceiverInit& init )320 webrtc::RtpTransceiverInit fromRtpTransceiverInit(const RTCRtpTransceiverInit& init, cricket::MediaType type) 321 321 { 322 322 webrtc::RtpTransceiverInit rtcInit; … … 324 324 for (auto& stream : init.streams) 325 325 rtcInit.stream_ids.push_back(stream->id().utf8().data()); 326 for (auto& encoding : init.sendEncodings) 327 rtcInit.send_encodings.push_back(fromRTCEncodingParameters(encoding)); 326 327 if (type == cricket::MediaType::MEDIA_TYPE_AUDIO) { 328 if (!init.sendEncodings.isEmpty()) 329 rtcInit.send_encodings.push_back(fromRTCEncodingParameters(init.sendEncodings[0])); 330 } else { 331 for (auto& encoding : init.sendEncodings) 332 rtcInit.send_encodings.push_back(fromRTCEncodingParameters(encoding)); 333 } 328 334 return rtcInit; 329 335 } -
trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCUtils.h
r273550 r276717 28 28 29 29 #include "ExceptionCode.h" 30 #include <webrtc/api/media_types.h> 30 31 #include <wtf/text/WTFString.h> 31 32 … … 59 60 RTCRtpTransceiverDirection toRTCRtpTransceiverDirection(webrtc::RtpTransceiverDirection); 60 61 webrtc::RtpTransceiverDirection fromRTCRtpTransceiverDirection(RTCRtpTransceiverDirection); 61 webrtc::RtpTransceiverInit fromRtpTransceiverInit(const RTCRtpTransceiverInit& );62 webrtc::RtpTransceiverInit fromRtpTransceiverInit(const RTCRtpTransceiverInit&, cricket::MediaType); 62 63 63 64 ExceptionCode toExceptionCode(webrtc::RTCErrorType);
Note: See TracChangeset
for help on using the changeset viewer.