OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <string> | 5 #include <string> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 blink::WebString::fromUTF8("video_track")); | 227 blink::WebString::fromUTF8("video_track")); |
228 | 228 |
229 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks( | 229 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks( |
230 static_cast<size_t>(1)); | 230 static_cast<size_t>(1)); |
231 audio_tracks[0].initialize(audio_source.id(), audio_source); | 231 audio_tracks[0].initialize(audio_source.id(), audio_source); |
232 blink::WebVector<blink::WebMediaStreamTrack> video_tracks( | 232 blink::WebVector<blink::WebMediaStreamTrack> video_tracks( |
233 static_cast<size_t>(1)); | 233 static_cast<size_t>(1)); |
234 video_tracks[0].initialize(video_source.id(), video_source); | 234 video_tracks[0].initialize(video_source.id(), video_source); |
235 | 235 |
236 blink::WebMediaStream local_stream; | 236 blink::WebMediaStream local_stream; |
237 local_stream.initialize(UTF8ToUTF16(stream_label), audio_tracks, | 237 local_stream.initialize(base::UTF8ToUTF16(stream_label), audio_tracks, |
238 video_tracks); | 238 video_tracks); |
239 | 239 |
240 scoped_refptr<webrtc::MediaStreamInterface> native_stream( | 240 scoped_refptr<webrtc::MediaStreamInterface> native_stream( |
241 mock_dependency_factory_->CreateLocalMediaStream(stream_label)); | 241 mock_dependency_factory_->CreateLocalMediaStream(stream_label)); |
242 | 242 |
243 local_stream.audioTracks(audio_tracks); | 243 local_stream.audioTracks(audio_tracks); |
244 const std::string audio_track_id = UTF16ToUTF8(audio_tracks[0].id()); | 244 const std::string audio_track_id = base::UTF16ToUTF8(audio_tracks[0].id()); |
245 scoped_refptr<WebRtcAudioCapturer> capturer; | 245 scoped_refptr<WebRtcAudioCapturer> capturer; |
246 RTCMediaConstraints audio_constraints(audio_source.constraints()); | 246 RTCMediaConstraints audio_constraints(audio_source.constraints()); |
247 scoped_refptr<webrtc::AudioTrackInterface> audio_track( | 247 scoped_refptr<webrtc::AudioTrackInterface> audio_track( |
248 mock_dependency_factory_->CreateLocalAudioTrack( | 248 mock_dependency_factory_->CreateLocalAudioTrack( |
249 audio_track_id, capturer, NULL, NULL, | 249 audio_track_id, capturer, NULL, NULL, |
250 &audio_constraints)); | 250 &audio_constraints)); |
251 MediaStreamDependencyFactory::AddNativeTrackToBlinkTrack( | 251 MediaStreamDependencyFactory::AddNativeTrackToBlinkTrack( |
252 audio_track.get(), audio_tracks[0], true); | 252 audio_track.get(), audio_tracks[0], true); |
253 native_stream->AddTrack(audio_track.get()); | 253 native_stream->AddTrack(audio_track.get()); |
254 | 254 |
255 local_stream.videoTracks(video_tracks); | 255 local_stream.videoTracks(video_tracks); |
256 const std::string video_track_id = UTF16ToUTF8(video_tracks[0].id()); | 256 const std::string video_track_id = base::UTF16ToUTF8(video_tracks[0].id()); |
257 webrtc::VideoSourceInterface* source = NULL; | 257 webrtc::VideoSourceInterface* source = NULL; |
258 scoped_refptr<webrtc::VideoTrackInterface> video_track( | 258 scoped_refptr<webrtc::VideoTrackInterface> video_track( |
259 mock_dependency_factory_->CreateLocalVideoTrack( | 259 mock_dependency_factory_->CreateLocalVideoTrack( |
260 video_track_id, source)); | 260 video_track_id, source)); |
261 MediaStreamDependencyFactory::AddNativeTrackToBlinkTrack( | 261 MediaStreamDependencyFactory::AddNativeTrackToBlinkTrack( |
262 video_track.get(), video_tracks[0], true); | 262 video_track.get(), video_tracks[0], true); |
263 native_stream->AddTrack(video_track.get()); | 263 native_stream->AddTrack(video_track.get()); |
264 | 264 |
265 local_stream.setExtraData( | 265 local_stream.setExtraData( |
266 new MediaStreamExtraData(native_stream.get(), true)); | 266 new MediaStreamExtraData(native_stream.get(), true)); |
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
646 | 646 |
647 TEST_F(RTCPeerConnectionHandlerTest, OnAddAndOnRemoveStream) { | 647 TEST_F(RTCPeerConnectionHandlerTest, OnAddAndOnRemoveStream) { |
648 std::string remote_stream_label("remote_stream"); | 648 std::string remote_stream_label("remote_stream"); |
649 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( | 649 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( |
650 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); | 650 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); |
651 | 651 |
652 testing::InSequence sequence; | 652 testing::InSequence sequence; |
653 EXPECT_CALL(*mock_tracker_.get(), TrackAddStream( | 653 EXPECT_CALL(*mock_tracker_.get(), TrackAddStream( |
654 pc_handler_.get(), | 654 pc_handler_.get(), |
655 testing::Property(&blink::WebMediaStream::id, | 655 testing::Property(&blink::WebMediaStream::id, |
656 UTF8ToUTF16(remote_stream_label)), | 656 base::UTF8ToUTF16(remote_stream_label)), |
657 PeerConnectionTracker::SOURCE_REMOTE)); | 657 PeerConnectionTracker::SOURCE_REMOTE)); |
658 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( | 658 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( |
659 testing::Property(&blink::WebMediaStream::id, | 659 testing::Property(&blink::WebMediaStream::id, |
660 UTF8ToUTF16(remote_stream_label)))); | 660 base::UTF8ToUTF16(remote_stream_label)))); |
661 | 661 |
662 EXPECT_CALL(*mock_tracker_.get(), TrackRemoveStream( | 662 EXPECT_CALL(*mock_tracker_.get(), TrackRemoveStream( |
663 pc_handler_.get(), | 663 pc_handler_.get(), |
664 testing::Property(&blink::WebMediaStream::id, | 664 testing::Property(&blink::WebMediaStream::id, |
665 UTF8ToUTF16(remote_stream_label)), | 665 base::UTF8ToUTF16(remote_stream_label)), |
666 PeerConnectionTracker::SOURCE_REMOTE)); | 666 PeerConnectionTracker::SOURCE_REMOTE)); |
667 EXPECT_CALL(*mock_client_.get(), didRemoveRemoteStream( | 667 EXPECT_CALL(*mock_client_.get(), didRemoveRemoteStream( |
668 testing::Property(&blink::WebMediaStream::id, | 668 testing::Property(&blink::WebMediaStream::id, |
669 UTF8ToUTF16(remote_stream_label)))); | 669 base::UTF8ToUTF16(remote_stream_label)))); |
670 | 670 |
671 pc_handler_->OnAddStream(remote_stream.get()); | 671 pc_handler_->OnAddStream(remote_stream.get()); |
672 pc_handler_->OnRemoveStream(remote_stream.get()); | 672 pc_handler_->OnRemoveStream(remote_stream.get()); |
673 } | 673 } |
674 | 674 |
675 // This test that WebKit is notified about remote track state changes. | 675 // This test that WebKit is notified about remote track state changes. |
676 TEST_F(RTCPeerConnectionHandlerTest, RemoteTrackState) { | 676 TEST_F(RTCPeerConnectionHandlerTest, RemoteTrackState) { |
677 std::string remote_stream_label("remote_stream"); | 677 std::string remote_stream_label("remote_stream"); |
678 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( | 678 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( |
679 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); | 679 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); |
680 | 680 |
681 testing::InSequence sequence; | 681 testing::InSequence sequence; |
682 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( | 682 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( |
683 testing::Property(&blink::WebMediaStream::id, | 683 testing::Property(&blink::WebMediaStream::id, |
684 UTF8ToUTF16(remote_stream_label)))); | 684 base::UTF8ToUTF16(remote_stream_label)))); |
685 pc_handler_->OnAddStream(remote_stream.get()); | 685 pc_handler_->OnAddStream(remote_stream.get()); |
686 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream(); | 686 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream(); |
687 | 687 |
688 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks; | 688 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks; |
689 webkit_stream.audioTracks(audio_tracks); | 689 webkit_stream.audioTracks(audio_tracks); |
690 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateLive, | 690 EXPECT_EQ(blink::WebMediaStreamSource::ReadyStateLive, |
691 audio_tracks[0].source().readyState()); | 691 audio_tracks[0].source().readyState()); |
692 | 692 |
693 blink::WebVector<blink::WebMediaStreamTrack> video_tracks; | 693 blink::WebVector<blink::WebMediaStreamTrack> video_tracks; |
694 webkit_stream.videoTracks(video_tracks); | 694 webkit_stream.videoTracks(video_tracks); |
(...skipping 11 matching lines...) Expand all Loading... |
706 video_tracks[0].source().readyState()); | 706 video_tracks[0].source().readyState()); |
707 } | 707 } |
708 | 708 |
709 TEST_F(RTCPeerConnectionHandlerTest, RemoveAndAddAudioTrackFromRemoteStream) { | 709 TEST_F(RTCPeerConnectionHandlerTest, RemoveAndAddAudioTrackFromRemoteStream) { |
710 std::string remote_stream_label("remote_stream"); | 710 std::string remote_stream_label("remote_stream"); |
711 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( | 711 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( |
712 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); | 712 AddRemoteMockMediaStream(remote_stream_label, "video", "audio")); |
713 | 713 |
714 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( | 714 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( |
715 testing::Property(&blink::WebMediaStream::id, | 715 testing::Property(&blink::WebMediaStream::id, |
716 UTF8ToUTF16(remote_stream_label)))); | 716 base::UTF8ToUTF16(remote_stream_label)))); |
717 pc_handler_->OnAddStream(remote_stream.get()); | 717 pc_handler_->OnAddStream(remote_stream.get()); |
718 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream(); | 718 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream(); |
719 | 719 |
720 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks; | 720 blink::WebVector<blink::WebMediaStreamTrack> audio_tracks; |
721 webkit_stream.audioTracks(audio_tracks); | 721 webkit_stream.audioTracks(audio_tracks); |
722 EXPECT_EQ(1u, audio_tracks.size()); | 722 EXPECT_EQ(1u, audio_tracks.size()); |
723 | 723 |
724 // Remove the Webrtc audio track from the Webrtc MediaStream. | 724 // Remove the Webrtc audio track from the Webrtc MediaStream. |
725 scoped_refptr<webrtc::AudioTrackInterface> webrtc_track = | 725 scoped_refptr<webrtc::AudioTrackInterface> webrtc_track = |
726 remote_stream->GetAudioTracks()[0].get(); | 726 remote_stream->GetAudioTracks()[0].get(); |
727 remote_stream->RemoveTrack(webrtc_track.get()); | 727 remote_stream->RemoveTrack(webrtc_track.get()); |
728 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks1; | 728 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks1; |
729 webkit_stream.audioTracks(modified_audio_tracks1); | 729 webkit_stream.audioTracks(modified_audio_tracks1); |
730 EXPECT_EQ(0u, modified_audio_tracks1.size()); | 730 EXPECT_EQ(0u, modified_audio_tracks1.size()); |
731 | 731 |
732 // Add the WebRtc audio track again. | 732 // Add the WebRtc audio track again. |
733 remote_stream->AddTrack(webrtc_track.get()); | 733 remote_stream->AddTrack(webrtc_track.get()); |
734 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks2; | 734 blink::WebVector<blink::WebMediaStreamTrack> modified_audio_tracks2; |
735 webkit_stream.audioTracks(modified_audio_tracks2); | 735 webkit_stream.audioTracks(modified_audio_tracks2); |
736 EXPECT_EQ(1u, modified_audio_tracks2.size()); | 736 EXPECT_EQ(1u, modified_audio_tracks2.size()); |
737 } | 737 } |
738 | 738 |
739 TEST_F(RTCPeerConnectionHandlerTest, RemoveAndAddVideoTrackFromRemoteStream) { | 739 TEST_F(RTCPeerConnectionHandlerTest, RemoveAndAddVideoTrackFromRemoteStream) { |
740 std::string remote_stream_label("remote_stream"); | 740 std::string remote_stream_label("remote_stream"); |
741 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( | 741 scoped_refptr<webrtc::MediaStreamInterface> remote_stream( |
742 AddRemoteMockMediaStream(remote_stream_label, "video", "video")); | 742 AddRemoteMockMediaStream(remote_stream_label, "video", "video")); |
743 | 743 |
744 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( | 744 EXPECT_CALL(*mock_client_.get(), didAddRemoteStream( |
745 testing::Property(&blink::WebMediaStream::id, | 745 testing::Property(&blink::WebMediaStream::id, |
746 UTF8ToUTF16(remote_stream_label)))); | 746 base::UTF8ToUTF16(remote_stream_label)))); |
747 pc_handler_->OnAddStream(remote_stream.get()); | 747 pc_handler_->OnAddStream(remote_stream.get()); |
748 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream(); | 748 const blink::WebMediaStream& webkit_stream = mock_client_->remote_stream(); |
749 | 749 |
750 blink::WebVector<blink::WebMediaStreamTrack> video_tracks; | 750 blink::WebVector<blink::WebMediaStreamTrack> video_tracks; |
751 webkit_stream.videoTracks(video_tracks); | 751 webkit_stream.videoTracks(video_tracks); |
752 EXPECT_EQ(1u, video_tracks.size()); | 752 EXPECT_EQ(1u, video_tracks.size()); |
753 | 753 |
754 // Remove the Webrtc video track from the Webrtc MediaStream. | 754 // Remove the Webrtc video track from the Webrtc MediaStream. |
755 scoped_refptr<webrtc::VideoTrackInterface> webrtc_track = | 755 scoped_refptr<webrtc::VideoTrackInterface> webrtc_track = |
756 remote_stream->GetVideoTracks()[0].get(); | 756 remote_stream->GetVideoTracks()[0].get(); |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
819 EXPECT_CALL(*mock_tracker_.get(), | 819 EXPECT_CALL(*mock_tracker_.get(), |
820 TrackCreateDTMFSender(pc_handler_.get(), | 820 TrackCreateDTMFSender(pc_handler_.get(), |
821 testing::Ref(tracks[0]))); | 821 testing::Ref(tracks[0]))); |
822 | 822 |
823 scoped_ptr<blink::WebRTCDTMFSenderHandler> sender( | 823 scoped_ptr<blink::WebRTCDTMFSenderHandler> sender( |
824 pc_handler_->createDTMFSender(tracks[0])); | 824 pc_handler_->createDTMFSender(tracks[0])); |
825 EXPECT_TRUE(sender.get()); | 825 EXPECT_TRUE(sender.get()); |
826 } | 826 } |
827 | 827 |
828 } // namespace content | 828 } // namespace content |
OLD | NEW |