Added support for changing the volume of RTCAudioSource as discussed in BUG=webrtc:6533

This is a short term solution to change the volume of a RTCAudioTrack (which contains an RTCAudioSource property) until applyConstraints for RTCMediaStreamTracks has been implemented.
This CL adds one new Objective-C method to AudioSourceInterface's wrapper: -(void)setVolume:(double)volume

BUG=webrtc:6533, webrtc:6805

This is my first CL for Chromium/WebRTC, so please let me know if I did something wrong.

Review-Url: https://codereview.webrtc.org/2534843002
Cr-Commit-Position: refs/heads/master@{#16809}
This commit is contained in:
frederik.riedel
2017-02-23 13:57:00 -08:00
committed by Commit bot
parent 7aadbfa06e
commit 0d1305ee88
3 changed files with 16 additions and 2 deletions

View File

@ -1,4 +1,4 @@
# Names should be added to this file like so:
# Names should be added to this file like so:
# Name or Organization <email address>
Adam Fedor <adam.fedor@gmail.com>
@ -13,9 +13,9 @@ Christophe Dumez <ch.dumez@samsung.com>
Cody Barnes <conceptgenesis@gmail.com>
Colin Plumb
Eric Rescorla, RTFM Inc. <ekr@rtfm.com>
Frederik Riedel, Frogg GmbH <frederik.riedel@frogg.io>
Giji Gangadharan <giji.g@samsung.com>
Graham Yoakum <gyoakum@skobalt.com>
Hugues Ekra <hekra01@gmail.com>
Jake Hilton <jakehilton@gmail.com>
James H. Brown <jbrown@burgoyne.com>
Jiawei Ou <jiawei.ou@gmail.com>

View File

@ -16,6 +16,8 @@
rtc::scoped_refptr<webrtc::AudioSourceInterface> _nativeAudioSource;
}
@synthesize volume = _volume;
- (instancetype)initWithNativeAudioSource:
(rtc::scoped_refptr<webrtc::AudioSourceInterface>)nativeAudioSource {
RTC_DCHECK(nativeAudioSource);
@ -38,6 +40,11 @@
return [NSString stringWithFormat:@"RTCAudioSource( %p ): %@", self, stateString];
}
- (void)setVolume:(double)volume {
_volume = volume;
_nativeAudioSource->SetVolume(volume);
}
#pragma mark - Private
- (rtc::scoped_refptr<webrtc::AudioSourceInterface>)nativeAudioSource {

View File

@ -20,6 +20,13 @@ RTC_EXPORT
- (instancetype)init NS_UNAVAILABLE;
// Sets the volume for the RTCMediaSource. |volume] is a gain value in the range
// [0, 10].
// Temporary fix to be able to modify volume of remote audio tracks
// TODO: property stays here temporarily until a proper volume-api is avaialble
// on the surface exposed by webrtc
@property(nonatomic, assign) double volume;
@end
NS_ASSUME_NONNULL_END