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

Side by Side Diff: talk/app/webrtc/objc/RTCPeerConnectionFactory.mm

Issue 1968393002: Propogate network-worker thread split to api (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase including nits Created 4 years, 7 months 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
« no previous file with comments | « no previous file | webrtc/api/java/jni/peerconnection_jni.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * libjingle 2 * libjingle
3 * Copyright 2013 Google Inc. 3 * Copyright 2013 Google Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright notice, 8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer. 9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 #import "RTCVideoTrack+Internal.h" 48 #import "RTCVideoTrack+Internal.h"
49 49
50 #include "webrtc/api/audiotrack.h" 50 #include "webrtc/api/audiotrack.h"
51 #include "webrtc/api/mediastreaminterface.h" 51 #include "webrtc/api/mediastreaminterface.h"
52 #include "webrtc/api/peerconnectioninterface.h" 52 #include "webrtc/api/peerconnectioninterface.h"
53 #include "webrtc/api/videotrack.h" 53 #include "webrtc/api/videotrack.h"
54 #include "webrtc/base/logging.h" 54 #include "webrtc/base/logging.h"
55 #include "webrtc/base/ssladapter.h" 55 #include "webrtc/base/ssladapter.h"
56 56
57 @implementation RTCPeerConnectionFactory { 57 @implementation RTCPeerConnectionFactory {
58 std::unique_ptr<rtc::Thread> _networkThread;
59 std::unique_ptr<rtc::Thread> _workerThread;
58 std::unique_ptr<rtc::Thread> _signalingThread; 60 std::unique_ptr<rtc::Thread> _signalingThread;
59 std::unique_ptr<rtc::Thread> _workerThread;
60 } 61 }
61 62
62 @synthesize nativeFactory = _nativeFactory; 63 @synthesize nativeFactory = _nativeFactory;
63 64
64 + (void)initializeSSL { 65 + (void)initializeSSL {
65 BOOL initialized = rtc::InitializeSSL(); 66 BOOL initialized = rtc::InitializeSSL();
66 NSAssert(initialized, @"Failed to initialize SSL library"); 67 NSAssert(initialized, @"Failed to initialize SSL library");
67 } 68 }
68 69
69 + (void)deinitializeSSL { 70 + (void)deinitializeSSL {
70 BOOL deinitialized = rtc::CleanupSSL(); 71 BOOL deinitialized = rtc::CleanupSSL();
71 NSAssert(deinitialized, @"Failed to deinitialize SSL library"); 72 NSAssert(deinitialized, @"Failed to deinitialize SSL library");
72 } 73 }
73 74
74 - (id)init { 75 - (id)init {
75 if ((self = [super init])) { 76 if ((self = [super init])) {
76 _signalingThread.reset(new rtc::Thread()); 77 _networkThread = rtc::Thread::CreateWithSocketServer();
77 BOOL result = _signalingThread->Start(); 78 BOOL result = _networkThread->Start();
78 NSAssert(result, @"Failed to start signaling thread."); 79 NSAssert(result, @"Failed to start network thread.");
79 _workerThread.reset(new rtc::Thread()); 80
81 _workerThread = rtc::Thread::Create();
80 result = _workerThread->Start(); 82 result = _workerThread->Start();
81 NSAssert(result, @"Failed to start worker thread."); 83 NSAssert(result, @"Failed to start worker thread.");
82 84
85 _signalingThread = rtc::Thread::Create();
86 result = _signalingThread->Start();
87 NSAssert(result, @"Failed to start signaling thread.");
88
83 _nativeFactory = webrtc::CreatePeerConnectionFactory( 89 _nativeFactory = webrtc::CreatePeerConnectionFactory(
84 _signalingThread.get(), _workerThread.get(), nullptr, nullptr, nullptr); 90 _networkThread.get(), _workerThread.get(), _signalingThread.get(),
91 nullptr, nullptr, nullptr);
85 NSAssert(_nativeFactory, @"Failed to initialize PeerConnectionFactory!"); 92 NSAssert(_nativeFactory, @"Failed to initialize PeerConnectionFactory!");
86 // Uncomment to get sensitive logs emitted (to stderr or logcat). 93 // Uncomment to get sensitive logs emitted (to stderr or logcat).
87 // rtc::LogMessage::LogToDebug(rtc::LS_SENSITIVE); 94 // rtc::LogMessage::LogToDebug(rtc::LS_SENSITIVE);
88 } 95 }
89 return self; 96 return self;
90 } 97 }
91 98
92 - (RTCPeerConnection *)peerConnectionWithConfiguration:(RTCConfiguration *)confi guration 99 - (RTCPeerConnection *)peerConnectionWithConfiguration:(RTCConfiguration *)confi guration
93 constraints:(RTCMediaConstraints *)co nstraints 100 constraints:(RTCMediaConstraints *)co nstraints
94 delegate:(id<RTCPeerConnectionDele gate>)delegate { 101 delegate:(id<RTCPeerConnectionDele gate>)delegate {
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 return [[RTCVideoTrack alloc] initWithMediaTrack:track]; 145 return [[RTCVideoTrack alloc] initWithMediaTrack:track];
139 } 146 }
140 147
141 - (RTCAudioTrack*)audioTrackWithID:(NSString*)audioId { 148 - (RTCAudioTrack*)audioTrackWithID:(NSString*)audioId {
142 rtc::scoped_refptr<webrtc::AudioTrackInterface> track = 149 rtc::scoped_refptr<webrtc::AudioTrackInterface> track =
143 self.nativeFactory->CreateAudioTrack([audioId UTF8String], NULL); 150 self.nativeFactory->CreateAudioTrack([audioId UTF8String], NULL);
144 return [[RTCAudioTrack alloc] initWithMediaTrack:track]; 151 return [[RTCAudioTrack alloc] initWithMediaTrack:track];
145 } 152 }
146 153
147 @end 154 @end
OLDNEW
« no previous file with comments | « no previous file | webrtc/api/java/jni/peerconnection_jni.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698