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

Side by Side Diff: webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCAudioTrack.mm

Issue 2890513002: Revert of Split iOS sdk in to separate targets (Closed)
Patch Set: Created 3 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
OLDNEW
(Empty)
1 /*
2 * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #import "RTCAudioTrack+Private.h"
12
13 #import "NSString+StdString.h"
14 #import "RTCAudioSource+Private.h"
15 #import "RTCMediaStreamTrack+Private.h"
16 #import "RTCPeerConnectionFactory+Private.h"
17
18 #include "webrtc/base/checks.h"
19
20 @implementation RTCAudioTrack
21
22 @synthesize source = _source;
23
24 - (instancetype)initWithFactory:(RTCPeerConnectionFactory *)factory
25 source:(RTCAudioSource *)source
26 trackId:(NSString *)trackId {
27 RTC_DCHECK(factory);
28 RTC_DCHECK(source);
29 RTC_DCHECK(trackId.length);
30
31 std::string nativeId = [NSString stdStringForString:trackId];
32 rtc::scoped_refptr<webrtc::AudioTrackInterface> track =
33 factory.nativeFactory->CreateAudioTrack(nativeId, source.nativeAudioSource );
34 if ([self initWithNativeTrack:track type:RTCMediaStreamTrackTypeAudio]) {
35 _source = source;
36 }
37 return self;
38 }
39
40 - (instancetype)initWithNativeTrack:
41 (rtc::scoped_refptr<webrtc::MediaStreamTrackInterface>)nativeTrack
42 type:(RTCMediaStreamTrackType)type {
43 NSParameterAssert(nativeTrack);
44 NSParameterAssert(type == RTCMediaStreamTrackTypeAudio);
45 return [super initWithNativeTrack:nativeTrack type:type];
46 }
47
48
49 - (RTCAudioSource *)source {
50 if (!_source) {
51 rtc::scoped_refptr<webrtc::AudioSourceInterface> source =
52 self.nativeAudioTrack->GetSource();
53 if (source) {
54 _source = [[RTCAudioSource alloc] initWithNativeAudioSource:source.get()];
55 }
56 }
57 return _source;
58 }
59
60 #pragma mark - Private
61
62 - (rtc::scoped_refptr<webrtc::AudioTrackInterface>)nativeAudioTrack {
63 return static_cast<webrtc::AudioTrackInterface *>(self.nativeTrack.get());
64 }
65
66 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698