AudioSource allows implementations to return settings

So far the code assumed that there is only one implementation of AudioSourceInterface: LocalAudioSource.
That is not true. This change allows custom implementations to still set options (such as audio network adaptation) on the source.

Long term solution should include refactoring options so that they are passed to peer connection or call object, and not be defined on audio source.


Bug: webrtc:9719
Change-Id: Ic3b92219502bc73a964adbbb9c5cd7156aa382e1
Reviewed-on: https://webrtc-review.googlesource.com/c/110681
Commit-Queue: Peter Slatala <psla@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25626}
diff --git a/pc/localaudiosource.h b/pc/localaudiosource.h
index c5f6530..c48f540 100644
--- a/pc/localaudiosource.h
+++ b/pc/localaudiosource.h
@@ -29,7 +29,7 @@
   SourceState state() const override { return kLive; }
   bool remote() const override { return false; }
 
-  virtual const cricket::AudioOptions& options() const { return options_; }
+  const cricket::AudioOptions options() const override { return options_; }
 
   void AddSink(AudioTrackSinkInterface* sink) override {}
   void RemoveSink(AudioTrackSinkInterface* sink) override {}