Reland "Removed VideoDecoderFactory::LegacyCreateVideoDecoder and VideoReceiveStream::Config::stream_id."

This reverts commit 49c293f03d8f593aa3aca282577fcb14daa63207.

Reason for revert: Downstream updated

Original change's description:
> Revert "Removed VideoDecoderFactory::LegacyCreateVideoDecoder and VideoReceiveStream::Config::stream_id."
>
> This reverts commit 4ba1044bae750ab8ee47b359c21f672386b7c3cd.
>
> Reason for revert: Downstream projects require some updates.
>
> Original change's description:
> > Removed VideoDecoderFactory::LegacyCreateVideoDecoder and VideoReceiveStream::Config::stream_id.
> > 
> > Bug: webrtc:9106
> > Change-Id: I7fa84095732c33d136a9354ae4f09266cffcf877
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180020
> > Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> > Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#31793}
>
> TBR=henrika@webrtc.org,magjed@webrtc.org,philipel@webrtc.org,mflodman@webrtc.org
>
> Change-Id: I8c980266334cc9871b9076713da3c4df8f73f8ce
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9106
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180344
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Commit-Queue: Philip Eliasson <philipel@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31794}

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:9106
Change-Id: I52923c0f3952832c50a7d73b466775b8c5d541cb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/216329
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33884}
diff --git a/api/video_codecs/BUILD.gn b/api/video_codecs/BUILD.gn
index 90d3742..83d67fc 100644
--- a/api/video_codecs/BUILD.gn
+++ b/api/video_codecs/BUILD.gn
@@ -25,7 +25,6 @@
     "video_codec.h",
     "video_decoder.cc",
     "video_decoder.h",
-    "video_decoder_factory.cc",
     "video_decoder_factory.h",
     "video_encoder.cc",
     "video_encoder.h",
diff --git a/api/video_codecs/video_decoder_factory.cc b/api/video_codecs/video_decoder_factory.cc
deleted file mode 100644
index 511a3c7..0000000
--- a/api/video_codecs/video_decoder_factory.cc
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- *  Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "api/video_codecs/video_decoder_factory.h"
-
-#include "api/video_codecs/video_decoder.h"
-
-namespace webrtc {
-
-std::unique_ptr<VideoDecoder> VideoDecoderFactory::LegacyCreateVideoDecoder(
-    const SdpVideoFormat& format,
-    const std::string& receive_stream_id) {
-  return CreateVideoDecoder(format);
-}
-
-}  // namespace webrtc
diff --git a/api/video_codecs/video_decoder_factory.h b/api/video_codecs/video_decoder_factory.h
index 40a2c82..0b6ea4f 100644
--- a/api/video_codecs/video_decoder_factory.h
+++ b/api/video_codecs/video_decoder_factory.h
@@ -60,12 +60,6 @@
   virtual std::unique_ptr<VideoDecoder> CreateVideoDecoder(
       const SdpVideoFormat& format) = 0;
 
-  // Note: Do not call or override this method! This method is a legacy
-  // workaround and is scheduled for removal without notice.
-  virtual std::unique_ptr<VideoDecoder> LegacyCreateVideoDecoder(
-      const SdpVideoFormat& format,
-      const std::string& receive_stream_id);
-
   virtual ~VideoDecoderFactory() {}
 };
 
diff --git a/call/video_receive_stream.h b/call/video_receive_stream.h
index cc9020b..4a0a0dc 100644
--- a/call/video_receive_stream.h
+++ b/call/video_receive_stream.h
@@ -256,10 +256,6 @@
     // used for streaming instead of a real-time call.
     int target_delay_ms = 0;
 
-    // TODO(nisse): Used with VideoDecoderFactory::LegacyCreateVideoDecoder.
-    // Delete when that method is retired.
-    std::string stream_id;
-
     // An optional custom frame decryptor that allows the entire frame to be
     // decrypted in whatever way the caller choses. This is not required by
     // default.
diff --git a/media/engine/webrtc_video_engine.cc b/media/engine/webrtc_video_engine.cc
index 56339ff..48ac730 100644
--- a/media/engine/webrtc_video_engine.cc
+++ b/media/engine/webrtc_video_engine.cc
@@ -3020,7 +3020,6 @@
   webrtc::VideoReceiveStream::Config config = config_.Copy();
   config.rtp.protected_by_flexfec = (flexfec_stream_ != nullptr);
   config.rtp.packet_sink_ = flexfec_stream_;
-  config.stream_id = stream_params_.id;
   stream_ = call_->CreateVideoReceiveStream(std::move(config));
   if (base_minimum_playout_delay_ms) {
     stream_->SetBaseMinimumPlayoutDelayMs(
diff --git a/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.cc b/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.cc
index c8b5862..68b76cd 100644
--- a/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.cc
+++ b/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.cc
@@ -255,15 +255,5 @@
       peer_name_, std::move(decoder), extractor_, analyzer_);
 }
 
-std::unique_ptr<VideoDecoder>
-QualityAnalyzingVideoDecoderFactory::LegacyCreateVideoDecoder(
-    const SdpVideoFormat& format,
-    const std::string& receive_stream_id) {
-  std::unique_ptr<VideoDecoder> decoder =
-      delegate_->LegacyCreateVideoDecoder(format, receive_stream_id);
-  return std::make_unique<QualityAnalyzingVideoDecoder>(
-      peer_name_, std::move(decoder), extractor_, analyzer_);
-}
-
 }  // namespace webrtc_pc_e2e
 }  // namespace webrtc
diff --git a/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.h b/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.h
index a969a5b..e150c91 100644
--- a/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.h
+++ b/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.h
@@ -136,9 +136,6 @@
   std::vector<SdpVideoFormat> GetSupportedFormats() const override;
   std::unique_ptr<VideoDecoder> CreateVideoDecoder(
       const SdpVideoFormat& format) override;
-  std::unique_ptr<VideoDecoder> LegacyCreateVideoDecoder(
-      const SdpVideoFormat& format,
-      const std::string& receive_stream_id) override;
 
  private:
   const std::string peer_name_;
diff --git a/video/video_receive_stream.cc b/video/video_receive_stream.cc
index 8f51a8a..fc23643 100644
--- a/video/video_receive_stream.cc
+++ b/video/video_receive_stream.cc
@@ -332,8 +332,7 @@
 
   for (const Decoder& decoder : config_.decoders) {
     std::unique_ptr<VideoDecoder> video_decoder =
-        config_.decoder_factory->LegacyCreateVideoDecoder(decoder.video_format,
-                                                          config_.stream_id);
+        config_.decoder_factory->CreateVideoDecoder(decoder.video_format);
     // If we still have no valid decoder, we have to create a "Null" decoder
     // that ignores all calls. The reason we can get into this state is that the
     // old decoder factory interface doesn't have a way to query supported