haikuwebkit/LayoutTests/webrtc/video-with-receiver-expecte...

5 lines
29 B
Plaintext
Raw Permalink Normal View History

Implement incoming webrtc data based on tracksCurr https://bugs.webkit.org/show_bug.cgi?id=169836 Patch by Youenn Fablet <youenn@apple.com> on 2017-03-17 Reviewed by Eric Carlson. Source/WebCore: Test: webrtc/video-with-receiver.html Constructing incoming tracks based on libwebrtc OnAddTrack. Constructing incoming media streams based on libwebrtc OnAddStream. Firing only addstream if legacy API flag is on. Ensuring that media stream and media stream tracks relationship is still correctly implemented. For that, we keep a map that relates libwebrtc media streams with WebCore media streams. Adding the ability to get a receiver related to the track on the track event. Implementing the possibility to create a transceiver ahead of track arrival time. Created transceivers that are not related to any real source are kept in the peer connection back end. When a libwebrtc track is appearing, it is associated with the track source of the corresponding transceiver based on track type. Added the ability to create empty real time sources and set their data libwebrtc track when being available. * Modules/mediastream/MediaStream.cpp: (WebCore::MediaStream::addTrackFromPlatform): * Modules/mediastream/MediaStream.h: * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp: (WebCore::LibWebRTCMediaEndpoint::mediaStreamFromRTCStream): (WebCore::LibWebRTCMediaEndpoint::addRemoteStream): (WebCore::LibWebRTCMediaEndpoint::addRemoteTrack): (WebCore::LibWebRTCMediaEndpoint::removeRemoteStream): (WebCore::LibWebRTCMediaEndpoint::OnAddStream): (WebCore::LibWebRTCMediaEndpoint::OnRemoveStream): (WebCore::LibWebRTCMediaEndpoint::OnAddTrack): (WebCore::LibWebRTCMediaEndpoint::stop): (WebCore::createMediaStreamTrack): Deleted. (WebCore::LibWebRTCMediaEndpoint::addStream): Deleted. * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h: * Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp: (WebCore::LibWebRTCPeerConnectionBackend::doStop): (WebCore::createReceiverForSource): (WebCore::createEmptySource): (WebCore::LibWebRTCPeerConnectionBackend::createReceiver): (WebCore::LibWebRTCPeerConnectionBackend::videoReceiver): (WebCore::LibWebRTCPeerConnectionBackend::audioReceiver): (WebCore::LibWebRTCPeerConnectionBackend::removeRemoteStream): (WebCore::LibWebRTCPeerConnectionBackend::addRemoteStream): * Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h: * platform/mediastream/mac/RealtimeIncomingAudioSource.cpp: (WebCore::RealtimeIncomingAudioSource::setSourceTrack): * platform/mediastream/mac/RealtimeIncomingAudioSource.h: * platform/mediastream/mac/RealtimeIncomingVideoSource.cpp: (WebCore::RealtimeIncomingVideoSource::setSourceTrack): * platform/mediastream/mac/RealtimeIncomingVideoSource.h: LayoutTests: * webrtc/video-with-receiver-expected.txt: Added. * webrtc/video-with-receiver.html: Copied from LayoutTests/webrtc/video.html. * webrtc/video.html: Canonical link: https://commits.webkit.org/186792@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214132 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-03-18 02:36:24 +00:00
PASS Basic video exchange
Implement incoming webrtc data based on tracksCurr https://bugs.webkit.org/show_bug.cgi?id=169836 Patch by Youenn Fablet <youenn@apple.com> on 2017-03-17 Reviewed by Eric Carlson. Source/WebCore: Test: webrtc/video-with-receiver.html Constructing incoming tracks based on libwebrtc OnAddTrack. Constructing incoming media streams based on libwebrtc OnAddStream. Firing only addstream if legacy API flag is on. Ensuring that media stream and media stream tracks relationship is still correctly implemented. For that, we keep a map that relates libwebrtc media streams with WebCore media streams. Adding the ability to get a receiver related to the track on the track event. Implementing the possibility to create a transceiver ahead of track arrival time. Created transceivers that are not related to any real source are kept in the peer connection back end. When a libwebrtc track is appearing, it is associated with the track source of the corresponding transceiver based on track type. Added the ability to create empty real time sources and set their data libwebrtc track when being available. * Modules/mediastream/MediaStream.cpp: (WebCore::MediaStream::addTrackFromPlatform): * Modules/mediastream/MediaStream.h: * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp: (WebCore::LibWebRTCMediaEndpoint::mediaStreamFromRTCStream): (WebCore::LibWebRTCMediaEndpoint::addRemoteStream): (WebCore::LibWebRTCMediaEndpoint::addRemoteTrack): (WebCore::LibWebRTCMediaEndpoint::removeRemoteStream): (WebCore::LibWebRTCMediaEndpoint::OnAddStream): (WebCore::LibWebRTCMediaEndpoint::OnRemoveStream): (WebCore::LibWebRTCMediaEndpoint::OnAddTrack): (WebCore::LibWebRTCMediaEndpoint::stop): (WebCore::createMediaStreamTrack): Deleted. (WebCore::LibWebRTCMediaEndpoint::addStream): Deleted. * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h: * Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp: (WebCore::LibWebRTCPeerConnectionBackend::doStop): (WebCore::createReceiverForSource): (WebCore::createEmptySource): (WebCore::LibWebRTCPeerConnectionBackend::createReceiver): (WebCore::LibWebRTCPeerConnectionBackend::videoReceiver): (WebCore::LibWebRTCPeerConnectionBackend::audioReceiver): (WebCore::LibWebRTCPeerConnectionBackend::removeRemoteStream): (WebCore::LibWebRTCPeerConnectionBackend::addRemoteStream): * Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h: * platform/mediastream/mac/RealtimeIncomingAudioSource.cpp: (WebCore::RealtimeIncomingAudioSource::setSourceTrack): * platform/mediastream/mac/RealtimeIncomingAudioSource.h: * platform/mediastream/mac/RealtimeIncomingVideoSource.cpp: (WebCore::RealtimeIncomingVideoSource::setSourceTrack): * platform/mediastream/mac/RealtimeIncomingVideoSource.h: LayoutTests: * webrtc/video-with-receiver-expected.txt: Added. * webrtc/video-with-receiver.html: Copied from LayoutTests/webrtc/video.html. * webrtc/video.html: Canonical link: https://commits.webkit.org/186792@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@214132 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-03-18 02:36:24 +00:00