blob: 07b1cb5cd4d109784b46147c351bf18b6c455b09 [file] [log] [blame]
tkchind4bfbfc2016-08-30 11:56:05 -07001/*
2 * Copyright 2016 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 "RTCAudioSource+Private.h"
12
ehmaldonadoeaaae9e2017-07-07 03:09:51 -070013#include "webrtc/rtc_base/checks.h"
tkchind4bfbfc2016-08-30 11:56:05 -070014
15@implementation RTCAudioSource {
tkchind4bfbfc2016-08-30 11:56:05 -070016}
17
frederik.riedel0d1305e2017-02-23 13:57:00 -080018@synthesize volume = _volume;
kthelgason5a4c68e2017-03-28 04:35:58 -070019@synthesize nativeAudioSource = _nativeAudioSource;
frederik.riedel0d1305e2017-02-23 13:57:00 -080020
tkchind4bfbfc2016-08-30 11:56:05 -070021- (instancetype)initWithNativeAudioSource:
22 (rtc::scoped_refptr<webrtc::AudioSourceInterface>)nativeAudioSource {
23 RTC_DCHECK(nativeAudioSource);
24 if (self = [super initWithNativeMediaSource:nativeAudioSource
25 type:RTCMediaSourceTypeAudio]) {
26 _nativeAudioSource = nativeAudioSource;
27 }
28 return self;
29}
30
31- (instancetype)initWithNativeMediaSource:
32 (rtc::scoped_refptr<webrtc::MediaSourceInterface>)nativeMediaSource
33 type:(RTCMediaSourceType)type {
34 RTC_NOTREACHED();
35 return nil;
36}
37
38- (NSString *)description {
39 NSString *stateString = [[self class] stringForState:self.state];
40 return [NSString stringWithFormat:@"RTCAudioSource( %p ): %@", self, stateString];
41}
42
frederik.riedel0d1305e2017-02-23 13:57:00 -080043- (void)setVolume:(double)volume {
44 _volume = volume;
45 _nativeAudioSource->SetVolume(volume);
46}
47
tkchind4bfbfc2016-08-30 11:56:05 -070048@end