Move optional.h to webrtc/api/

We use Optional in our public API, so its header should be in
webrtc/api/.

BUG=webrtc:8205

Review-Url: https://codereview.webrtc.org/3011943002
Cr-Commit-Position: refs/heads/master@{#19693}
diff --git a/webrtc/modules/audio_coding/BUILD.gn b/webrtc/modules/audio_coding/BUILD.gn
index 8d92c46..4003db1 100644
--- a/webrtc/modules/audio_coding/BUILD.gn
+++ b/webrtc/modules/audio_coding/BUILD.gn
@@ -47,6 +47,7 @@
   deps = [
     "../..:webrtc_common",
     "../../api:array_view",
+    "../../api:optional",
     "../../api/audio_codecs:audio_codecs_api",
     "../../rtc_base:rtc_base_approved",
   ]
@@ -61,6 +62,7 @@
   ]
   deps = [
            "../../api:array_view",
+           "../../api:optional",
            "../../api/audio_codecs:audio_codecs_api",
            "../..:webrtc_common",
            "../../rtc_base:protobuf_utils",
@@ -132,6 +134,7 @@
            ":neteq",
            ":rent_a_codec",
            "../../rtc_base:rtc_base_approved",
+           "../../api:optional",
            "../../logging:rtc_event_log_api",
          ]
   defines = audio_coding_defines
@@ -814,6 +817,7 @@
   deps = [
     ":audio_network_adaptor",
     "../..:webrtc_common",
+    "../../api:optional",
     "../../api/audio_codecs:audio_codecs_api",
     "../../api/audio_codecs/opus:audio_encoder_opus_config",
     "../../common_audio",
@@ -908,6 +912,7 @@
 
   deps = [
     "../..:webrtc_common",
+    "../../api:optional",
     "../../common_audio",
     "../../logging:rtc_event_log_api",
     "../../rtc_base:protobuf_utils",
@@ -934,6 +939,7 @@
     "neteq/neteq_decoder_enum.h",
   ]
   deps = [
+    "../../api:optional",
     "../../api/audio_codecs:audio_codecs_api",
     "../../rtc_base:rtc_base_approved",
   ]
@@ -1023,6 +1029,7 @@
     ":pcm16b",
     "..:module_api",
     "../..:webrtc_common",
+    "../../api:optional",
     "../../api/audio_codecs:audio_codecs_api",
     "../../common_audio",
     "../../rtc_base:gtest_prod",
@@ -1082,6 +1089,7 @@
     ":neteq",
     "..:module_api",
     "../..:webrtc_common",
+    "../../api:optional",
     "../../api/audio_codecs:audio_codecs_api",
     "../../api/audio_codecs:builtin_audio_decoder_factory",
     "../../rtc_base:rtc_base_approved",
@@ -1166,6 +1174,7 @@
   deps = [
     "../..:webrtc_common",
     "../../api:array_view",
+    "../../api:optional",
     "../../api/audio_codecs:audio_codecs_api",
     "../../common_audio",
     "../../rtc_base:rtc_base_approved",
@@ -1290,6 +1299,7 @@
       ":pcm16b_c",
       "..:module_api",
       "../..:webrtc_common",
+      "../../api:optional",
       "../../api/audio_codecs:builtin_audio_decoder_factory",
       "../../rtc_base:rtc_base_approved",
       "../../system_wrappers:system_wrappers",
@@ -1396,6 +1406,7 @@
       ":audio_format_conversion",
       "..:module_api",
       "../../:webrtc_common",
+      "../../api:optional",
       "../../rtc_base:rtc_base_approved",
       "../../system_wrappers",
       "../../system_wrappers:system_wrappers_default",
@@ -1425,6 +1436,7 @@
       ":audio_format_conversion",
       "..:module_api",
       "../../:webrtc_common",
+      "../../api:optional",
       "../../rtc_base:rtc_base_approved",
       "../../system_wrappers",
       "../../system_wrappers:system_wrappers_default",
diff --git a/webrtc/modules/audio_coding/acm2/acm_receiver.h b/webrtc/modules/audio_coding/acm2/acm_receiver.h
index 5acb013..ebeecec 100644
--- a/webrtc/modules/audio_coding/acm2/acm_receiver.h
+++ b/webrtc/modules/audio_coding/acm2/acm_receiver.h
@@ -17,6 +17,7 @@
 #include <vector>
 
 #include "webrtc/api/array_view.h"
+#include "webrtc/api/optional.h"
 #include "webrtc/common_audio/vad/include/webrtc_vad.h"
 #include "webrtc/modules/audio_coding/acm2/acm_resampler.h"
 #include "webrtc/modules/audio_coding/acm2/call_statistics.h"
@@ -24,7 +25,6 @@
 #include "webrtc/modules/audio_coding/neteq/include/neteq.h"
 #include "webrtc/modules/include/module_common_types.h"
 #include "webrtc/rtc_base/criticalsection.h"
-#include "webrtc/rtc_base/optional.h"
 #include "webrtc/rtc_base/thread_annotations.h"
 #include "webrtc/typedefs.h"
 
diff --git a/webrtc/modules/audio_coding/acm2/codec_manager.h b/webrtc/modules/audio_coding/acm2/codec_manager.h
index 3d45b33..b5c8d3e 100644
--- a/webrtc/modules/audio_coding/acm2/codec_manager.h
+++ b/webrtc/modules/audio_coding/acm2/codec_manager.h
@@ -13,12 +13,12 @@
 
 #include <map>
 
+#include "webrtc/api/optional.h"
 #include "webrtc/common_types.h"
 #include "webrtc/modules/audio_coding/acm2/rent_a_codec.h"
 #include "webrtc/modules/audio_coding/include/audio_coding_module.h"
 #include "webrtc/modules/audio_coding/include/audio_coding_module_typedefs.h"
 #include "webrtc/rtc_base/constructormagic.h"
-#include "webrtc/rtc_base/optional.h"
 #include "webrtc/rtc_base/thread_checker.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/acm2/rent_a_codec.h b/webrtc/modules/audio_coding/acm2/rent_a_codec.h
index 3dd9dc8..6dcf793 100644
--- a/webrtc/modules/audio_coding/acm2/rent_a_codec.h
+++ b/webrtc/modules/audio_coding/acm2/rent_a_codec.h
@@ -18,10 +18,10 @@
 #include "webrtc/api/array_view.h"
 #include "webrtc/api/audio_codecs/audio_decoder.h"
 #include "webrtc/api/audio_codecs/audio_encoder.h"
+#include "webrtc/api/optional.h"
 #include "webrtc/modules/audio_coding/include/audio_coding_module_typedefs.h"
 #include "webrtc/modules/audio_coding/neteq/neteq_decoder_enum.h"
 #include "webrtc/rtc_base/constructormagic.h"
-#include "webrtc/rtc_base/optional.h"
 #include "webrtc/rtc_base/scoped_ref_ptr.h"
 #include "webrtc/typedefs.h"
 
diff --git a/webrtc/modules/audio_coding/audio_network_adaptor/controller.h b/webrtc/modules/audio_coding/audio_network_adaptor/controller.h
index ab9cfb7..38c2c21 100644
--- a/webrtc/modules/audio_coding/audio_network_adaptor/controller.h
+++ b/webrtc/modules/audio_coding/audio_network_adaptor/controller.h
@@ -11,8 +11,8 @@
 #ifndef WEBRTC_MODULES_AUDIO_CODING_AUDIO_NETWORK_ADAPTOR_CONTROLLER_H_
 #define WEBRTC_MODULES_AUDIO_CODING_AUDIO_NETWORK_ADAPTOR_CONTROLLER_H_
 
+#include "webrtc/api/optional.h"
 #include "webrtc/modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor.h"
-#include "webrtc/rtc_base/optional.h"
 
 namespace webrtc {
 
diff --git a/webrtc/modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor.h b/webrtc/modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor.h
index 6d03730..fa742e6 100644
--- a/webrtc/modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor.h
+++ b/webrtc/modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor.h
@@ -11,7 +11,7 @@
 #ifndef WEBRTC_MODULES_AUDIO_CODING_AUDIO_NETWORK_ADAPTOR_INCLUDE_AUDIO_NETWORK_ADAPTOR_H_
 #define WEBRTC_MODULES_AUDIO_CODING_AUDIO_NETWORK_ADAPTOR_INCLUDE_AUDIO_NETWORK_ADAPTOR_H_
 
-#include "webrtc/rtc_base/optional.h"
+#include "webrtc/api/optional.h"
 
 namespace webrtc {
 
diff --git a/webrtc/modules/audio_coding/codecs/audio_format_conversion.cc b/webrtc/modules/audio_coding/codecs/audio_format_conversion.cc
index 17f8d96..1e53bf3 100644
--- a/webrtc/modules/audio_coding/codecs/audio_format_conversion.cc
+++ b/webrtc/modules/audio_coding/codecs/audio_format_conversion.cc
@@ -13,8 +13,8 @@
 #include <string.h>
 
 #include "webrtc/api/array_view.h"
+#include "webrtc/api/optional.h"
 #include "webrtc/rtc_base/checks.h"
-#include "webrtc/rtc_base/optional.h"
 #include "webrtc/rtc_base/safe_conversions.h"
 #include "webrtc/rtc_base/sanitizer.h"
 
diff --git a/webrtc/modules/audio_coding/codecs/isac/audio_decoder_isac_t.h b/webrtc/modules/audio_coding/codecs/isac/audio_decoder_isac_t.h
index 387b34b..66f021a 100644
--- a/webrtc/modules/audio_coding/codecs/isac/audio_decoder_isac_t.h
+++ b/webrtc/modules/audio_coding/codecs/isac/audio_decoder_isac_t.h
@@ -14,9 +14,9 @@
 #include <vector>
 
 #include "webrtc/api/audio_codecs/audio_decoder.h"
+#include "webrtc/api/optional.h"
 #include "webrtc/modules/audio_coding/codecs/isac/locked_bandwidth_info.h"
 #include "webrtc/rtc_base/constructormagic.h"
-#include "webrtc/rtc_base/optional.h"
 #include "webrtc/rtc_base/scoped_ref_ptr.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.h b/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.h
index f78cf1e..588f268 100644
--- a/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.h
+++ b/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.h
@@ -19,11 +19,11 @@
 #include "webrtc/api/audio_codecs/audio_encoder.h"
 #include "webrtc/api/audio_codecs/audio_format.h"
 #include "webrtc/api/audio_codecs/opus/audio_encoder_opus_config.h"
+#include "webrtc/api/optional.h"
 #include "webrtc/common_audio/smoothing_filter.h"
 #include "webrtc/modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor.h"
 #include "webrtc/modules/audio_coding/codecs/opus/opus_interface.h"
 #include "webrtc/rtc_base/constructormagic.h"
-#include "webrtc/rtc_base/optional.h"
 #include "webrtc/rtc_base/protobuf_utils.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/include/audio_coding_module.h b/webrtc/modules/audio_coding/include/audio_coding_module.h
index 44eec75..4ceade2 100644
--- a/webrtc/modules/audio_coding/include/audio_coding_module.h
+++ b/webrtc/modules/audio_coding/include/audio_coding_module.h
@@ -17,13 +17,13 @@
 
 #include "webrtc/api/audio_codecs/audio_decoder_factory.h"
 #include "webrtc/api/audio_codecs/audio_encoder.h"
+#include "webrtc/api/optional.h"
 #include "webrtc/common_types.h"
 #include "webrtc/modules/audio_coding/include/audio_coding_module_typedefs.h"
 #include "webrtc/modules/audio_coding/neteq/include/neteq.h"
 #include "webrtc/modules/include/module.h"
 #include "webrtc/rtc_base/deprecation.h"
 #include "webrtc/rtc_base/function_view.h"
-#include "webrtc/rtc_base/optional.h"
 #include "webrtc/system_wrappers/include/clock.h"
 #include "webrtc/typedefs.h"
 
diff --git a/webrtc/modules/audio_coding/neteq/include/neteq.h b/webrtc/modules/audio_coding/neteq/include/neteq.h
index 56c30e5..9f5af7c 100644
--- a/webrtc/modules/audio_coding/neteq/include/neteq.h
+++ b/webrtc/modules/audio_coding/neteq/include/neteq.h
@@ -16,10 +16,10 @@
 #include <string>
 #include <vector>
 
+#include "webrtc/api/optional.h"
 #include "webrtc/common_types.h"
 #include "webrtc/modules/audio_coding/neteq/audio_decoder_impl.h"
 #include "webrtc/rtc_base/constructormagic.h"
-#include "webrtc/rtc_base/optional.h"
 #include "webrtc/rtc_base/scoped_ref_ptr.h"
 #include "webrtc/typedefs.h"
 
diff --git a/webrtc/modules/audio_coding/neteq/neteq_decoder_enum.h b/webrtc/modules/audio_coding/neteq/neteq_decoder_enum.h
index a36034c..e108ccf 100644
--- a/webrtc/modules/audio_coding/neteq/neteq_decoder_enum.h
+++ b/webrtc/modules/audio_coding/neteq/neteq_decoder_enum.h
@@ -12,7 +12,7 @@
 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ_NETEQ_DECODER_ENUM_H_
 
 #include "webrtc/api/audio_codecs/audio_format.h"
-#include "webrtc/rtc_base/optional.h"
+#include "webrtc/api/optional.h"
 
 namespace webrtc {
 
diff --git a/webrtc/modules/audio_coding/neteq/neteq_impl.h b/webrtc/modules/audio_coding/neteq/neteq_impl.h
index f4b014a..fea1682 100644
--- a/webrtc/modules/audio_coding/neteq/neteq_impl.h
+++ b/webrtc/modules/audio_coding/neteq/neteq_impl.h
@@ -14,6 +14,7 @@
 #include <memory>
 #include <string>
 
+#include "webrtc/api/optional.h"
 #include "webrtc/modules/audio_coding/neteq/audio_multi_vector.h"
 #include "webrtc/modules/audio_coding/neteq/defines.h"
 #include "webrtc/modules/audio_coding/neteq/include/neteq.h"
@@ -25,7 +26,6 @@
 #include "webrtc/modules/include/module_common_types.h"
 #include "webrtc/rtc_base/constructormagic.h"
 #include "webrtc/rtc_base/criticalsection.h"
-#include "webrtc/rtc_base/optional.h"
 #include "webrtc/rtc_base/thread_annotations.h"
 #include "webrtc/typedefs.h"
 
diff --git a/webrtc/modules/audio_coding/neteq/packet_buffer.h b/webrtc/modules/audio_coding/neteq/packet_buffer.h
index afd5f04..5c2499c 100644
--- a/webrtc/modules/audio_coding/neteq/packet_buffer.h
+++ b/webrtc/modules/audio_coding/neteq/packet_buffer.h
@@ -11,10 +11,10 @@
 #ifndef WEBRTC_MODULES_AUDIO_CODING_NETEQ_PACKET_BUFFER_H_
 #define WEBRTC_MODULES_AUDIO_CODING_NETEQ_PACKET_BUFFER_H_
 
+#include "webrtc/api/optional.h"
 #include "webrtc/modules/audio_coding/neteq/packet.h"
 #include "webrtc/modules/include/module_common_types.h"
 #include "webrtc/rtc_base/constructormagic.h"
-#include "webrtc/rtc_base/optional.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq/tools/fake_decode_from_file.h b/webrtc/modules/audio_coding/neteq/tools/fake_decode_from_file.h
index d293ecd..09c2e78 100644
--- a/webrtc/modules/audio_coding/neteq/tools/fake_decode_from_file.h
+++ b/webrtc/modules/audio_coding/neteq/tools/fake_decode_from_file.h
@@ -15,8 +15,8 @@
 
 #include "webrtc/api/array_view.h"
 #include "webrtc/api/audio_codecs/audio_decoder.h"
+#include "webrtc/api/optional.h"
 #include "webrtc/modules/audio_coding/neteq/tools/input_audio_file.h"
-#include "webrtc/rtc_base/optional.h"
 
 namespace webrtc {
 namespace test {
diff --git a/webrtc/modules/audio_coding/neteq/tools/neteq_delay_analyzer.h b/webrtc/modules/audio_coding/neteq/tools/neteq_delay_analyzer.h
index b652bf2..e142a3b 100644
--- a/webrtc/modules/audio_coding/neteq/tools/neteq_delay_analyzer.h
+++ b/webrtc/modules/audio_coding/neteq/tools/neteq_delay_analyzer.h
@@ -16,9 +16,9 @@
 #include <string>
 #include <vector>
 
+#include "webrtc/api/optional.h"
 #include "webrtc/modules/audio_coding/neteq/tools/neteq_input.h"
 #include "webrtc/modules/audio_coding/neteq/tools/neteq_test.h"
-#include "webrtc/rtc_base/optional.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {
diff --git a/webrtc/modules/audio_coding/neteq/tools/neteq_input.h b/webrtc/modules/audio_coding/neteq/tools/neteq_input.h
index 1e08893..08f554b 100644
--- a/webrtc/modules/audio_coding/neteq/tools/neteq_input.h
+++ b/webrtc/modules/audio_coding/neteq/tools/neteq_input.h
@@ -15,11 +15,11 @@
 #include <memory>
 #include <string>
 
+#include "webrtc/api/optional.h"
 #include "webrtc/common_types.h"
 #include "webrtc/modules/audio_coding/neteq/tools/packet.h"
 #include "webrtc/modules/audio_coding/neteq/tools/packet_source.h"
 #include "webrtc/rtc_base/buffer.h"
-#include "webrtc/rtc_base/optional.h"
 
 namespace webrtc {
 namespace test {
diff --git a/webrtc/modules/audio_coding/test/PCMFile.h b/webrtc/modules/audio_coding/test/PCMFile.h
index fd1c53a..3576dc6 100644
--- a/webrtc/modules/audio_coding/test/PCMFile.h
+++ b/webrtc/modules/audio_coding/test/PCMFile.h
@@ -16,8 +16,8 @@
 
 #include <string>
 
+#include "webrtc/api/optional.h"
 #include "webrtc/modules/include/module_common_types.h"
-#include "webrtc/rtc_base/optional.h"
 #include "webrtc/typedefs.h"
 
 namespace webrtc {