Add latency to remote source api.

Latency corresponds to base minimum delay on NetEq.

Bug: webrtc:10287
Change-Id: I538d202e3e4fe07b779c46bf560e2fde38e0468e
Reviewed-on: https://webrtc-review.googlesource.com/c/121704
Commit-Queue: Ruslan Burakov <kuddai@google.com>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26724}
diff --git a/api/media_stream_interface.cc b/api/media_stream_interface.cc
index 73566c4..b55a840 100644
--- a/api/media_stream_interface.cc
+++ b/api/media_stream_interface.cc
@@ -32,4 +32,8 @@
   return {};
 }
 
+double AudioSourceInterface::GetLatency() const {
+  return 0.0;
+}
+
 }  // namespace webrtc
diff --git a/api/media_stream_interface.h b/api/media_stream_interface.h
index b077480..e520361 100644
--- a/api/media_stream_interface.h
+++ b/api/media_stream_interface.h
@@ -201,6 +201,12 @@
   // be applied in the track in a way that does not affect clones of the track.
   virtual void SetVolume(double volume) {}
 
+  // Sets the minimum latency of the remote source until audio playout. Actual
+  // observered latency may differ depending on the source. |latency| is in the
+  // range of [0.0, 10.0] seconds.
+  virtual void SetLatency(double latency) {}
+  virtual double GetLatency() const;
+
   // Registers/unregisters observers to the audio source.
   virtual void RegisterAudioObserver(AudioObserver* observer) {}
   virtual void UnregisterAudioObserver(AudioObserver* observer) {}