Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(365)

Side by Side Diff: content/renderer/media/rtc_peer_connection_handler.cc

Issue 689783002: Refactor RtcDataChannelHandler. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "content/renderer/media/rtc_peer_connection_handler.h" 5 #include "content/renderer/media/rtc_peer_connection_handler.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/command_line.h" 11 #include "base/command_line.h"
12 #include "base/debug/trace_event.h" 12 #include "base/debug/trace_event.h"
13 #include "base/lazy_instance.h" 13 #include "base/lazy_instance.h"
14 #include "base/logging.h" 14 #include "base/logging.h"
15 #include "base/memory/scoped_ptr.h" 15 #include "base/memory/scoped_ptr.h"
16 #include "base/metrics/histogram.h" 16 #include "base/metrics/histogram.h"
17 #include "base/stl_util.h" 17 #include "base/stl_util.h"
18 #include "base/strings/utf_string_conversions.h" 18 #include "base/strings/utf_string_conversions.h"
19 #include "base/thread_task_runner_handle.h"
19 #include "content/public/common/content_switches.h" 20 #include "content/public/common/content_switches.h"
20 #include "content/renderer/media/media_stream_track.h" 21 #include "content/renderer/media/media_stream_track.h"
21 #include "content/renderer/media/peer_connection_tracker.h" 22 #include "content/renderer/media/peer_connection_tracker.h"
22 #include "content/renderer/media/remote_media_stream_impl.h" 23 #include "content/renderer/media/remote_media_stream_impl.h"
23 #include "content/renderer/media/rtc_data_channel_handler.h" 24 #include "content/renderer/media/rtc_data_channel_handler.h"
24 #include "content/renderer/media/rtc_dtmf_sender_handler.h" 25 #include "content/renderer/media/rtc_dtmf_sender_handler.h"
25 #include "content/renderer/media/rtc_media_constraints.h" 26 #include "content/renderer/media/rtc_media_constraints.h"
26 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h" 27 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h"
27 #include "content/renderer/media/webrtc/webrtc_media_stream_adapter.h" 28 #include "content/renderer/media/webrtc/webrtc_media_stream_adapter.h"
28 #include "content/renderer/media/webrtc_audio_capturer.h" 29 #include "content/renderer/media/webrtc_audio_capturer.h"
(...skipping 793 matching lines...) Expand 10 before | Expand all | Expand 10 after
822 if (!webrtc_channel) { 823 if (!webrtc_channel) {
823 DLOG(ERROR) << "Could not create native data channel."; 824 DLOG(ERROR) << "Could not create native data channel.";
824 return NULL; 825 return NULL;
825 } 826 }
826 if (peer_connection_tracker_) 827 if (peer_connection_tracker_)
827 peer_connection_tracker_->TrackCreateDataChannel( 828 peer_connection_tracker_->TrackCreateDataChannel(
828 this, webrtc_channel.get(), PeerConnectionTracker::SOURCE_LOCAL); 829 this, webrtc_channel.get(), PeerConnectionTracker::SOURCE_LOCAL);
829 830
830 ++num_data_channels_created_; 831 ++num_data_channels_created_;
831 832
832 return new RtcDataChannelHandler(webrtc_channel); 833 return new RtcDataChannelHandler(base::ThreadTaskRunnerHandle::Get(),
834 webrtc_channel);
833 } 835 }
834 836
835 blink::WebRTCDTMFSenderHandler* RTCPeerConnectionHandler::createDTMFSender( 837 blink::WebRTCDTMFSenderHandler* RTCPeerConnectionHandler::createDTMFSender(
836 const blink::WebMediaStreamTrack& track) { 838 const blink::WebMediaStreamTrack& track) {
837 TRACE_EVENT0("webrtc", "RTCPeerConnectionHandler::createDTMFSender"); 839 TRACE_EVENT0("webrtc", "RTCPeerConnectionHandler::createDTMFSender");
838 DVLOG(1) << "createDTMFSender."; 840 DVLOG(1) << "createDTMFSender.";
839 841
840 MediaStreamTrack* native_track = MediaStreamTrack::GetTrack(track); 842 MediaStreamTrack* native_track = MediaStreamTrack::GetTrack(track);
841 if (!native_track || 843 if (!native_track ||
842 track.source().type() != blink::WebMediaStreamSource::TypeAudio) { 844 track.source().type() != blink::WebMediaStreamSource::TypeAudio) {
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
1019 1021
1020 void RTCPeerConnectionHandler::OnDataChannel( 1022 void RTCPeerConnectionHandler::OnDataChannel(
1021 webrtc::DataChannelInterface* data_channel) { 1023 webrtc::DataChannelInterface* data_channel) {
1022 TRACE_EVENT0("webrtc", "RTCPeerConnectionHandler::OnDataChannel"); 1024 TRACE_EVENT0("webrtc", "RTCPeerConnectionHandler::OnDataChannel");
1023 if (peer_connection_tracker_) 1025 if (peer_connection_tracker_)
1024 peer_connection_tracker_->TrackCreateDataChannel( 1026 peer_connection_tracker_->TrackCreateDataChannel(
1025 this, data_channel, PeerConnectionTracker::SOURCE_REMOTE); 1027 this, data_channel, PeerConnectionTracker::SOURCE_REMOTE);
1026 1028
1027 DVLOG(1) << "RTCPeerConnectionHandler::OnDataChannel " 1029 DVLOG(1) << "RTCPeerConnectionHandler::OnDataChannel "
1028 << data_channel->label(); 1030 << data_channel->label();
1029 client_->didAddRemoteDataChannel(new RtcDataChannelHandler(data_channel)); 1031 client_->didAddRemoteDataChannel(new RtcDataChannelHandler(
1032 base::ThreadTaskRunnerHandle::Get(), data_channel));
1030 } 1033 }
1031 1034
1032 void RTCPeerConnectionHandler::OnRenegotiationNeeded() { 1035 void RTCPeerConnectionHandler::OnRenegotiationNeeded() {
1033 TRACE_EVENT0("webrtc", "RTCPeerConnectionHandler::OnRenegotiationNeeded"); 1036 TRACE_EVENT0("webrtc", "RTCPeerConnectionHandler::OnRenegotiationNeeded");
1034 if (peer_connection_tracker_) 1037 if (peer_connection_tracker_)
1035 peer_connection_tracker_->TrackOnRenegotiationNeeded(this); 1038 peer_connection_tracker_->TrackOnRenegotiationNeeded(this);
1036 client_->negotiationNeeded(); 1039 client_->negotiationNeeded();
1037 } 1040 }
1038 1041
1039 PeerConnectionTracker* RTCPeerConnectionHandler::peer_connection_tracker() { 1042 PeerConnectionTracker* RTCPeerConnectionHandler::peer_connection_tracker() {
1040 return peer_connection_tracker_; 1043 return peer_connection_tracker_;
1041 } 1044 }
1042 1045
1043 webrtc::SessionDescriptionInterface* 1046 webrtc::SessionDescriptionInterface*
1044 RTCPeerConnectionHandler::CreateNativeSessionDescription( 1047 RTCPeerConnectionHandler::CreateNativeSessionDescription(
1045 const blink::WebRTCSessionDescription& description, 1048 const blink::WebRTCSessionDescription& description,
1046 webrtc::SdpParseError* error) { 1049 webrtc::SdpParseError* error) {
1047 std::string sdp = base::UTF16ToUTF8(description.sdp()); 1050 std::string sdp = base::UTF16ToUTF8(description.sdp());
1048 std::string type = base::UTF16ToUTF8(description.type()); 1051 std::string type = base::UTF16ToUTF8(description.type());
1049 webrtc::SessionDescriptionInterface* native_desc = 1052 webrtc::SessionDescriptionInterface* native_desc =
1050 dependency_factory_->CreateSessionDescription(type, sdp, error); 1053 dependency_factory_->CreateSessionDescription(type, sdp, error);
1051 1054
1052 LOG_IF(ERROR, !native_desc) << "Failed to create native session description." 1055 LOG_IF(ERROR, !native_desc) << "Failed to create native session description."
1053 << " Type: " << type << " SDP: " << sdp; 1056 << " Type: " << type << " SDP: " << sdp;
1054 1057
1055 return native_desc; 1058 return native_desc;
1056 } 1059 }
1057 1060
1058 } // namespace content 1061 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/rtc_data_channel_handler.cc ('k') | content/test/data/media/peerconnection-call.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698