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

Unified Diff: webrtc/sdk/objc/Framework/Classes/RTCAudioTrack.mm

Issue 2290583003: iOS: Add ability to specify audio constraints. (Closed)
Patch Set: Update ctor order. Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/sdk/objc/Framework/Classes/RTCAudioTrack.mm
diff --git a/webrtc/sdk/objc/Framework/Classes/RTCAudioTrack.mm b/webrtc/sdk/objc/Framework/Classes/RTCAudioTrack.mm
index 42542b8b8f0033acefa116db5b17ebc1827b105f..5fa2d464ff10d0b73fa2b42e4c22f002a70907de 100644
--- a/webrtc/sdk/objc/Framework/Classes/RTCAudioTrack.mm
+++ b/webrtc/sdk/objc/Framework/Classes/RTCAudioTrack.mm
@@ -11,19 +11,30 @@
#import "RTCAudioTrack+Private.h"
#import "NSString+StdString.h"
+#import "RTCAudioSource+Private.h"
#import "RTCMediaStreamTrack+Private.h"
#import "RTCPeerConnectionFactory+Private.h"
+#include "webrtc/base/checks.h"
+
@implementation RTCAudioTrack
+@synthesize source = _source;
+
- (instancetype)initWithFactory:(RTCPeerConnectionFactory *)factory
+ source:(RTCAudioSource *)source
trackId:(NSString *)trackId {
- NSParameterAssert(factory);
- NSParameterAssert(trackId.length);
+ RTC_DCHECK(factory);
+ RTC_DCHECK(source);
+ RTC_DCHECK(trackId.length);
+
std::string nativeId = [NSString stdStringForString:trackId];
rtc::scoped_refptr<webrtc::AudioTrackInterface> track =
- factory.nativeFactory->CreateAudioTrack(nativeId, nullptr);
- return [self initWithNativeTrack:track type:RTCMediaStreamTrackTypeAudio];
+ factory.nativeFactory->CreateAudioTrack(nativeId, source.nativeAudioSource);
+ if ([self initWithNativeTrack:track type:RTCMediaStreamTrackTypeAudio]) {
+ _source = source;
+ }
+ return self;
}
- (instancetype)initWithNativeTrack:
@@ -34,6 +45,18 @@
return [super initWithNativeTrack:nativeTrack type:type];
}
+
+- (RTCAudioSource *)source {
+ if (!_source) {
+ rtc::scoped_refptr<webrtc::AudioSourceInterface> source =
+ self.nativeAudioTrack->GetSource();
+ if (source) {
+ _source = [[RTCAudioSource alloc] initWithNativeAudioSource:source.get()];
+ }
+ }
+ return _source;
+}
+
#pragma mark - Private
- (rtc::scoped_refptr<webrtc::AudioTrackInterface>)nativeAudioTrack {
« no previous file with comments | « webrtc/sdk/objc/Framework/Classes/RTCAudioSource+Private.h ('k') | webrtc/sdk/objc/Framework/Classes/RTCAudioTrack+Private.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698